SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
NavMashAgent
modelos de braços 3d
Jogo estilo clash of clans
Como ver dos 2 lados de um plane ou quad?
[TUTORIAL] Criando jogo de cartas com I.A (C# e Visual Studio) - Parte 01
PITCH para aceleração de carro. Como que faço mesmo?
Sistema de Yu-Gi-Oh! - ATT [2020]
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
Somar int, como faz pra ele adicionar o valor que eu quero.
Bug? no animator
Duvida Material c#
Unity Admob Erro
Unity - Lentidão e Aceleração alteradas do nada!!!
Como faço para mudar o valor de uma float gradualmente
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Como selecionar ou desselecionar uma imagem na Unity com uma borda?
Random Material
Dúvida sobre detecção do personagem
Procurando Equipe para Dev de um Gta Brasileiro.
Problemas com o transform.position com GameObjects 3D
Shaders
Botão no canvas faz o player movimentar
Sistema de Screenshots v2
Textura está bugada ficando branco em uma parte
Calculadora com raiz quadrada C#
Conectar ao servidor
Script de tiro unity 3d
Barra de procura
Randomizar objetos em posições válidas.
Unity-Transform.position e Rigidbory VS CharacterController. Qual o melhor?
[RESOLVIDO] network transform e network identity nos objetos filhos
Como trocar um sprite pelo outro?
Como faço para detectar a velocidade do meu player?
como faço um multiplayer na unity 5?
Dúvida sobre "Luzinha"?
Meu primero multiplayer online game feito no unity
Como mudar a cor de um sprite?
Demo do meu jogo Survival Zombie
Unity5 FBX Exporter (Free Package/Asset)
Personagem tremendo
[RESOLVIDO] Movetowards depois de esperar um tempo, não funciona!
Como fazer para aparecer poucas resoluções no meu menu de opções.
Contagem C#
Raycast colidindo com Player
Duvidas sobre soma entre float
Como faço para modificar o ponto incial e direcionar um raycast?
Unity
como resolver bordas pixelizadas?
Transformação de personagem
ao buildar para android o jogo tem compotamento diferente
[RESOLVIDO] Copiar a rotação de um Objeto para outro.
Ajuda com php
Animação não está a funcionar
[RESOLVIDO] Duvida com raycast
Animator
FixedUpdate Fica Dando Erro na Hora que a Colisão Acontece
ERRO NO JOGO BUILDADO, MAS OCORRE TUDO CERTO NO CONSOLE
Preciso de dicas para configurar o Bake do Lighting Para Android
como dminuir o lag no meu unity 5
Qual seria a melhor maneira de criar um Map Mundi interativo?
Ativar Ui apenas se o player estiver perto do objeto especifico
Tela de missão
[RESOLVIDO] Como fazer efeitos sonoros tocarem aleatoriamente
Collab Arruinando meu Projeto
Textura escura
Erro no SketchUP
3D Text Material Sobressalente
[RESOLVIDO] Problema no Input System
Como faço para um objeto ficar num tom de azul?
[RESOLVIDO] erro: ''ArgumentException: Input Button jump is not setup'' ?
Photon Pun2 - Error: NewScene Clean
[TUTORIAL] Acessar o objeto pai de algum hit.
[RESOLVIDO] Encontrar um objeto que está dentro de um Prefab.
[TUTORIAL] Inimigo olhar para você (Java Script)
[RESOLVIDO] Erro no Script tocar Audio
[RESOLVIDO] Por que tem que Usar UnityEngine.Random ou System.Random?
Duvida sobre deixar jogo online.
Unity - Animator Controller sendo apagado sozinho
[RESOLVIDO] Meu jogo ta com uns bug no fog linear. o chão fica preto :/
[RESOLVIDO] AI Points e NavMesh
[RESOLVIDO] Como pegar moeda e ela desaparecer?
[TUTORIAL] Sistema Pdv, Mercado, Padaria, Conveniência, Lojas Em Geral - C# VISUAL STUDIO
Como desativar o FirstPersonController
Como tira Application.UptadeScene?
Gostaria de fazer a animação do arco seguir animação do personagem
Animação Blender para Unity?
[RESOLVIDO] Unity - Giro do Personagem não está funcionando direito
Bug - Unity rodando com menos FPS no BAIXO e MAIS no ULTRA
[RESOLVIDO] Dúvida sobre multiplayer
Luz atravessando paredes
Problema de compilação
[RESOLVIDO] LayerMask
c# unity
[TUTORIAL] Banco de dados || MySQL
[RESOLVIDO] Fade In e Out na Timeline
[RESOLVIDO] Unity - Testar o Jogo pelo Celular em Tempo Real
Ajuda com Grappling hook
[RESOLVIDO] Erro criando IA inimigo
[RESOLVIDO] Animator
Ontem à(s) 11:27 pm
Ontem à(s) 11:16 pm
Ontem à(s) 5:48 pm
Ontem à(s) 3:12 pm
Ontem à(s) 9:34 am
Sab Maio 15, 2021 10:47 pm
Sab Maio 15, 2021 9:43 pm
Sab Maio 15, 2021 8:33 pm
Sab Maio 15, 2021 6:06 pm
Sex Maio 14, 2021 7:42 pm
Sex Maio 14, 2021 2:08 pm
Sex Maio 14, 2021 10:50 am
Sex Maio 14, 2021 2:12 am
Qui Maio 13, 2021 11:39 pm
Qui Maio 13, 2021 8:01 pm
Qui Maio 13, 2021 2:42 pm
Qui Maio 13, 2021 2:35 pm
Qui Maio 13, 2021 1:43 pm
Qui Maio 13, 2021 12:39 pm
Qui Maio 13, 2021 11:36 am
Qui Maio 13, 2021 8:38 am
Qua Maio 12, 2021 10:25 pm
Qua Maio 12, 2021 4:59 pm
Qua Maio 12, 2021 4:24 pm
Qua Maio 12, 2021 2:15 pm
Qua Maio 12, 2021 12:59 pm
Ter Maio 11, 2021 11:27 pm
Ter Maio 11, 2021 6:59 pm
Ter Maio 11, 2021 4:07 pm
Seg Maio 10, 2021 9:53 pm
Seg Maio 10, 2021 7:13 pm
Seg Maio 10, 2021 7:05 pm
Seg Maio 10, 2021 5:19 pm
Seg Maio 10, 2021 4:42 pm
Seg Maio 10, 2021 3:19 pm
Seg Maio 10, 2021 12:43 pm
Seg Maio 10, 2021 9:23 am
Dom Maio 09, 2021 4:08 pm
Sab Maio 08, 2021 4:57 pm
Sab Maio 08, 2021 4:56 pm
Sab Maio 08, 2021 4:31 pm
Sab Maio 08, 2021 3:50 pm
Sab Maio 08, 2021 2:30 pm
Sex Maio 07, 2021 8:56 pm
Sex Maio 07, 2021 8:14 pm
Sex Maio 07, 2021 3:15 pm
Sex Maio 07, 2021 10:23 am
Sex Maio 07, 2021 8:24 am
Qui Maio 06, 2021 9:32 pm
Qui Maio 06, 2021 8:46 pm
Qui Maio 06, 2021 8:15 pm
Qui Maio 06, 2021 8:14 pm
Qui Maio 06, 2021 3:21 pm
Qui Maio 06, 2021 2:46 pm
Qui Maio 06, 2021 11:36 am
Qui Maio 06, 2021 3:08 am
Qua Maio 05, 2021 8:27 pm
Ter Maio 04, 2021 6:50 pm
Ter Maio 04, 2021 7:38 am
Seg Maio 03, 2021 11:34 am
Seg Maio 03, 2021 11:22 am
Seg Maio 03, 2021 8:53 am
Seg Maio 03, 2021 2:44 am
Dom Maio 02, 2021 6:04 pm
Dom Maio 02, 2021 5:22 pm
Dom Maio 02, 2021 5:03 pm
Dom Maio 02, 2021 5:00 pm
Sab Maio 01, 2021 8:02 pm
Sab Maio 01, 2021 12:07 pm
Sab Maio 01, 2021 11:02 am
Sab Maio 01, 2021 7:08 am
Sex Abr 30, 2021 4:34 pm
Sex Abr 30, 2021 2:12 pm
Qui Abr 29, 2021 1:26 pm
Qui Abr 29, 2021 12:48 pm
Qui Abr 29, 2021 12:45 pm
Qui Abr 29, 2021 11:02 am
Qui Abr 29, 2021 12:31 am
Qua Abr 28, 2021 10:53 pm
Qua Abr 28, 2021 6:01 pm
Qua Abr 28, 2021 3:55 pm
Qua Abr 28, 2021 2:35 pm
Qua Abr 28, 2021 2:03 pm
Ter Abr 27, 2021 10:50 pm
Seg Abr 26, 2021 10:07 pm
Seg Abr 26, 2021 3:18 pm
Seg Abr 26, 2021 12:41 am
Seg Abr 26, 2021 12:28 am
Dom Abr 25, 2021 10:01 pm
Dom Abr 25, 2021 8:17 pm
Dom Abr 25, 2021 1:52 am
Sab Abr 24, 2021 3:37 pm
Sab Abr 24, 2021 11:34 am
Sex Abr 23, 2021 11:46 pm
Sex Abr 23, 2021 3:22 pm
Qui Abr 22, 2021 7:54 pm
Qui Abr 22, 2021 2:18 pm
Qui Abr 22, 2021 6:45 am
Qua Abr 21, 2021 10:54 pm
Fagner
JulioWinchester
TigerStudios
verme1311
MajorH
RodrigoPrivilegium
MajorH
Felipe42
Fagner
WLCS22
Fagner
nando07
WLCS22
MayLeone
RGT2020
tautologias345
Pokedlg
Xavier
glauco
vphyre
Joana
acefogo
AnderGames
marbiel18
AthaideYi
Xavier
Charlesoff
Joana
Mozinhas2
WLCS22
Xavier
Pokedlg
Charlesoff
TIKO
Fagner
RGT2020
stratengine
stratengine
ProBrStalker
xYcar
WLCS22
Pokedlg
Mozinhas2
Charlesoff
stratengine
Charlesoff
Joana
NKKF
Xavier
Fagner
Fagner
loucoporjogo
Joana
Pokedlg
Xavier
adrianobros2
stratengine
glauco
speedluk
Traygus
MarcosSchultz
Maria Elisa
BlesseD
NKKF
Fagner
Fagner
Fagner
Rangel Oblivion
Phelipe
Pokedlg
Elizeuvix
MartinsCG
RenatoBarreto
MartinsCG
FelipeSouza11
adrianobros2
loucoporjogo
WLCS22
JulioWinchester
TIKO
FelixTedesco
dirceuinfo
FelixTedesco
poyser
hendrick22
ProblemX
WLCS22
NKKF
Xavier
SauloeArthur
MayLeone
hellside
Mozinhas2
LuccaGiffoni
Triskal
WLCS22
JohnRambo
SauloeArthur
Fagner

[Servidor/client] para jogos de grande porte

Ir em baixo

DÚVIDA [Servidor/client] para jogos de grande porte

Mensagem por Zack2 Qua Ago 19, 2020 10:35 pm

Boa noite! eu estou planejando meu jogo e não pude deixar de notar isso, que necessito criar um servidor (e cliente) para meu jogo, porem os tutoriais que ensinam a fazer isso são bem vagos e acabo perdido novamente no final... eu vi alguns que usam unet, photon, etc... mas os que mais me chamaram atenção foram os feitos em C# usando o visual studio. creio que é possivel fazer isso rodar dentro da propria unity, como mostrar lista de usuario e etc... (mesmo que não tenha visto isso em nenhum dos tutoriais assistidos por mim) mas sempre que vou fazer um teste dá um erro, mesmo eu revisando cada detalhe... gostaria da ajuda de alguem que intenda do assunto, se possivel, claro! quero fazer meu servidor, mesmo que isso demore...
agradeço desde já!

2 dos videos que vi:
https://www.youtube.com/watch?v=Wwkht6BbcYA
https://www.youtube.com/watch?v=FY1QLjj2nwY

Script que testei, mas deram muitos erros e fui alterando:

Código:
#region SERVER
    private static readonly Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    private static readonly List<Socket> clientSockets = new List<Socket>();
    private const int BUFFER_SIZE = 2048;
    private const int PORT = 100;
    private static readonly byte[] buffer = new byte[BUFFER_SIZE];

    static void MainServer()
    {
      _tittle.text = "Server";
        SetupServer();
        CloseAllSockets();
    }

    private static void SetupServer()
    {
        Debug.Log("Setting up server...");
        serverSocket.Bind(new IPEndPoint(IPAddress.Any, PORT));
        serverSocket.Listen(0);
        serverSocket.BeginAccept(AcceptCallback, null);
        Debug.Log("Server setup complete");
    }

    /// <summary>
    /// Close all connected client (we do not need to shutdown the server socket as its connections
    /// are already closed with the clients).
    /// </summary>
    private static void CloseAllSockets()
    {
        foreach (Socket socket in clientSockets)
        {
            socket.Shutdown(SocketShutdown.Both);
            socket.Close();
        }

        serverSocket.Close();
    }

    private static void AcceptCallback(IAsyncResult AR)
    {
        Socket socket;

        try
        {
            socket = serverSocket.EndAccept(AR);
        }
        catch (ObjectDisposedException) // I cannot seem to avoid this (on exit when properly closing sockets)
        {
            return;
        }

        clientSockets.Add(socket);
        socket.BeginReceive(buffer, 0, BUFFER_SIZE, SocketFlags.None, ReceiveCallback, socket);
        Debug.Log("Client connected, waiting for request...");
        serverSocket.BeginAccept(AcceptCallback, null);
    }

    private static void ReceiveCallback(IAsyncResult AR)
    {
        Socket current = (Socket)AR.AsyncState;
        int received;

        try
        {
            received = current.EndReceive(AR);
        }
        catch (SocketException)
        {
            Debug.Log("Client forcefully disconnected");
            // Don't shutdown because the socket may be disposed and its disconnected anyway.
            current.Close();
            clientSockets.Remove(current);
            return;
        }

        byte[] recBuf = new byte[received];
        Array.Copy(buffer, recBuf, received);
        string text = Encoding.ASCII.GetString(recBuf);
        Debug.Log("Received Text: " + text);

        if (text.ToLower() == "get time") // Client requested time
        {
            Debug.Log("Text is a get time request");
            byte[] data = Encoding.ASCII.GetBytes(DateTime.Now.ToLongTimeString());
            current.Send(data);
            Debug.Log("Time sent to client");
        }
        else if (text.ToLower() == "exit") // Client wants to exit gracefully
        {
            // Always Shutdown before closing
            current.Shutdown(SocketShutdown.Both);
            current.Close();
            clientSockets.Remove(current);
            Debug.Log("Client disconnected");
            return;
        }
        else
        {
            Debug.Log("Text is an invalid request");
            byte[] data = Encoding.ASCII.GetBytes("Invalid request");
            current.Send(data);
            Debug.Log("Warning Sent");
        }

        current.BeginReceive(buffer, 0, BUFFER_SIZE, SocketFlags.None, ReceiveCallback, current);
    }
    #endregion
   
    #region CLIENT
    private static readonly Socket ClientSocket = new Socket
            (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    private const int cPORT = 100;

    static void MainClient()
    {
        _tittle.text = "Client";
        ConnectToServer();
        RequestLoop();
        //Exit();
    }

    private static void ConnectToServer()
    {
        int attempts = 0, tentativa = 0;

        while (!ClientSocket.Connected)
        {
            Debug.Log("Tentando conectar");
            try
            {
                attempts++;
                Debug.Log("Connection attempt " + attempts);
                // Change IPAddress.Loopback to a remote IP to connect to a remote host.
                ClientSocket.Connect(IPAddress.Loopback, cPORT);
                http://ClientSocket.Connect("127.0.0.1", cPORT);
            }
            catch (SocketException)
            {
                Debug.Log("ERRO");
            }
            if(tentativa++ >= 10)
            {
                _tittle.text = "ERRO AO CONECTAR AO SERVIDOR!"; return; }
        }

        Debug.Log("Connected");
    }

    private static void RequestLoop()
    {
        http://Debug.Log(@"<Type ""exit"" to properly disconnect client>");

            SendRequest();
            ReceiveResponse();
    }

    /// <summary>
    /// Close socket and exit program.
    /// </summary>
    private static void Exit()
    {
        SendString("exit"); // Tell the server we are exiting
        ClientSocket.Shutdown(SocketShutdown.Both);
        ClientSocket.Close();
    }

    private static void SendRequest()
    {
        Debug.Log("Send a request: ");
        string request = textImput.text;//Console.ReadLine();
        SendString(request);

        if (request.ToLower() == "exit")
        {
            Exit();
        }
    }

    /// <summary>
    /// Sends a string to the server with ASCII encoding.
    /// </summary>
    private static void SendString(string text)
    {
        byte[] buffer = Encoding.ASCII.GetBytes(text);
        ClientSocket.Send(buffer, 0, buffer.Length, SocketFlags.None);
    }

    private static void ReceiveResponse()
    {
        var buffer = new byte[2048];
        int received = ClientSocket.Receive(buffer, SocketFlags.None);
        if (received == 0) return;
        var data = new byte[received];
        Array.Copy(buffer, data, received);
        string text = Encoding.ASCII.GetString(data);
        Debug.Log(text);
    }
    #endregion

"CREDITO" do script: https://github.com/AbleOpus/NetworkingSampl / https://www.youtube.com/watch?v=xgLRe7QV6QI
Zack2
Zack2
Mestre
Mestre

Masculino PONTOS : 2328
REPUTAÇÃO : 49
Idade : 27
Áreas de atuação : https://chat.whatsapp.com/5JMnM508Q8Q25DMZLYNGwO
https://discord.gg/3vhJzpQ
Respeito as regras : [Servidor/client] para jogos de grande porte WvDYdlf

https://chat.whatsapp.com/5JMnM508Q8Q25DMZLYNGwO

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Servidor/client] para jogos de grande porte

Mensagem por Vgomes Qui Ago 20, 2020 10:55 am

Não sei como ajudar com o código. Mas acho que se você quiser tentar refazer o cliente servidor em C# pode optar por esses tutoriais:


Vgomes
Iniciante
Iniciante

PONTOS : 314
REPUTAÇÃO : 0
Respeito as regras : [Servidor/client] para jogos de grande porte WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Servidor/client] para jogos de grande porte

Mensagem por Weslley Qui Ago 20, 2020 11:26 am

Eu gosto bastante do LiteNetLib

https://github.com/RevenantX/LiteNetLib
Weslley
Weslley
Moderador

Masculino PONTOS : 4382
REPUTAÇÃO : 719
Idade : 23
Áreas de atuação : https://play.google.com/store/apps/dev?id=4937415175307699867
https://exitside.com.br/
Respeito as regras : [Servidor/client] para jogos de grande porte Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Servidor/client] para jogos de grande porte

Mensagem por Zack2 Sab Ago 22, 2020 3:51 pm

@Vgomes escreveu:Não sei como ajudar com o código. Mas acho que se você quiser tentar refazer o cliente servidor em C# pode optar por esses tutoriais:


eu vi esse video tambem (alias, uma sequencia) mas nunca da certo no final das contas

@Weslley escreveu:Eu gosto bastante do LiteNetLib

https://github.com/RevenantX/LiteNetLib

opa, vou fazer o teste assim que der tempo e dar uma pesquisada pra ver como instala/usa, vlw!
Zack2
Zack2
Mestre
Mestre

Masculino PONTOS : 2328
REPUTAÇÃO : 49
Idade : 27
Áreas de atuação : https://chat.whatsapp.com/5JMnM508Q8Q25DMZLYNGwO
https://discord.gg/3vhJzpQ
Respeito as regras : [Servidor/client] para jogos de grande porte WvDYdlf

https://chat.whatsapp.com/5JMnM508Q8Q25DMZLYNGwO

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum