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:
Como abrir portas/gavetas com click do mouse, usando raycast!
Como resolver problema com lag por conta de sprites Instanciados? Mesmo destruindo em 2f
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Unity3D - Meu boneco fica girando no eixo Y sem parar, parece o sonic
Alguém sabe o nome desse efeito?
Ajuda - Como crio um botão touch usando o Bolt visual Scripting
as luzes diminuem mt o fps no android, alguma dica de como melhorar isso?
Usar o mouse?
click mouse
RigidBody Agarrando no BoxCollider [Mobile 3D]
Como alterar informações de objeto UI
Desconectar jogador após acabar o tempo de jogo utilizando a rede - Bolt
quero adicionar mais colisores a esse script de movimentação
The freddy krueger's pie (Game)
SEM CURSOR EM JOGO.
Conexão entre app Android e internet.
CURSOR DO MOUSE NÃO DESAPARECE AO CLICAR EM "JOGAR" NO MENU
Script não funcionando
Destruir um objeto ao colidir com o componente dele.
RigidBodyFPSController não carrega o script, é do pacote standard assets
Preciso saber matemática para programar?
[RESOLVIDO] Prefab com altura diferente na Scene
Problema com os FPS do jogo
pq da erro ao tentar mover arquivo para unity
[RESOLVIDO] Como saber se um Transform está se movendo?
Problema com animaç]ao de fechar porta ao clicar com mouse raycast
Fala Pessoal! saiu um trailer da sequência do meu jogo Project Lazarus parte 2
Exportação do SketchUp para Unity
[RESOLVIDO] Como fazer com que os valores do bool sejam iguais ao da lista?
[RESOLVIDO] Trocar valor de variável apos X segundos que ativar o triggercollider
PEGADAS DO PLAYER QUE APARECEM APÓS ANDAR SOBRE UMA ÁREA "ÚMIDA". UNITY 2D
[RESOLVIDO] Erro com Facebook SDK
Como deixar touch apenas 50% da tela (código que estou usando)
terreno plano pesa muito em mobile?
Dúvida sobre o script de Mover Objetos
Duvida sobre um sistema de Lap Timer junto com o box collider!
Como passar cena sem perder o que conseguiu em outra?
[RESOLVIDO] OverlapBox detectar colisão
APK trava com Admob
[Lançado] TapNav: Vaporwave Edition já está disponível!
[RESOLVIDO] Tentando implementar sons no Character Controller
como posso criar um filtro de cor igual post processing?
[RESOLVIDO] Problema com movimentação do Joystick
Inimigo aparecer depois de certa ação
Como redirecionar o usuário pelo app do Facebook?
[TUTORIAL] Codificar e Decodificar Numeros
Como fazer esse mesmo código usando ScriptableObject?
[RESOLVIDO] Pontuação na Unity 3D!
[RESOLVIDO] Unity 2018.2.17 Problemas com o Package Manager
BARRA DE ENERGIA NÃO RESETA QUANDO O PLAYER RENASCE.
[RESOLVIDO] Erro no pacote do Unity Ads
Fazer o personagem apontar na direção do movimento
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
QUE ? Porque não funcionou ? :(
Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
[RESOLVIDO] Meus personagens não iniciam animação no jogo compilado, o que pode ser ?
Como deixar touch apenas 50% da tela
Sistema de tiro teleguiado
[TUTORIAL] Script para jogo FPS Mobile
[RESOLVIDO] Como faço para o personagem entrar e sair do carro?
[RESOLVIDO] Como salvar itens da fase?
Oque é API?
Salvar dados unity
NavMesh em uma esfera
[TUTORIAL] Dicas Para Otimização de Código
[POR QUE O OBJETO FICA DEFORMADO QUANDO ROTACIONA?]
Jogo Maria Bella
[DUVIDA]sobre Time.deltaTime
SIGLETON
Shader Causa Tela Preta
Objeto continuar em movimento após tira o dedo da direção
"Problema" com o script de mover objetos versão free do Marcos Schultz
como fazer joystick's Mobile para shooter topDown ?
Unity 2018.2 Erro de janela no Editor
Duvida sobre um script de contagem 1, 2, 3, GO!.
Onde Encontro Música De Background Para o Meu Projeto?
problema na AI quando passa pro unity 2020
[RESOLVIDO] Problema em configurar o pneu de 1 carro no MSVehicle System Free
[RESOLVIDO] Dicas sobre criação de ruas??
[RESOLVIDO] Utilizar o Range
Sistema de Yu-Gi-Oh! - ATT [2020]
Meu jogo Mobile já disponivel na PlayStore ou GameJolt!!
Jogo Santuário Hebreu
[RESOLVIDO] Ancora em UIs
[RESOLVIDO] Uma dúvida sobre Quaternion.Inverse
freelancer para modelador
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
[RESOLVIDO] Rotacionar Prefab dentro da Scene
Salvamento de jogo utilizando o Google services
Como faço para animar meu personagem?
Desligando a colisão entre layers
Carro Pegar armas em
Rodas do carro nao ficao presas ao carro
Ajuda para jogo da memória! Aleatorizar Cartas
Ajuda compilar para android
como fazer um player se movimentar utilizando força centrípeta
Unity ou Unreal Engine ? Alguém que ja usou UE para opinar?
girar o personagem de acordo com o analógico
[TUTORIAL] Sistema de login com json
Hoje à(s) 12:59 am
Hoje à(s) 12:58 am
Ontem à(s) 8:53 pm
Ontem à(s) 8:10 pm
Ontem à(s) 6:30 pm
Ontem à(s) 6:04 pm
Ontem à(s) 4:51 pm
Ontem à(s) 1:10 pm
Ontem à(s) 10:24 am
Ontem à(s) 10:21 am
Ontem à(s) 10:03 am
Ontem à(s) 2:30 am
Sex Set 18, 2020 10:13 pm
Sex Set 18, 2020 9:40 pm
Sex Set 18, 2020 8:14 am
Sex Set 18, 2020 8:09 am
Qui Set 17, 2020 2:36 pm
Qui Set 17, 2020 10:07 am
Qua Set 16, 2020 11:22 pm
Qua Set 16, 2020 5:31 pm
Qua Set 16, 2020 12:10 pm
Qua Set 16, 2020 12:02 am
Ter Set 15, 2020 11:33 pm
Ter Set 15, 2020 11:32 pm
Ter Set 15, 2020 5:28 pm
Ter Set 15, 2020 11:52 am
Ter Set 15, 2020 6:13 am
Seg Set 14, 2020 3:51 pm
Seg Set 14, 2020 3:41 pm
Seg Set 14, 2020 11:06 am
Seg Set 14, 2020 10:12 am
Seg Set 14, 2020 9:14 am
Seg Set 14, 2020 3:21 am
Seg Set 14, 2020 3:11 am
Dom Set 13, 2020 1:07 am
Sab Set 12, 2020 8:01 pm
Sab Set 12, 2020 6:34 pm
Sab Set 12, 2020 6:32 pm
Sab Set 12, 2020 2:28 pm
Sab Set 12, 2020 2:15 pm
Sab Set 12, 2020 1:20 pm
Sab Set 12, 2020 12:28 pm
Sab Set 12, 2020 1:37 am
Sex Set 11, 2020 7:08 pm
Sex Set 11, 2020 4:30 pm
Sex Set 11, 2020 4:26 pm
Sex Set 11, 2020 1:59 pm
Sex Set 11, 2020 1:40 pm
Qui Set 10, 2020 8:39 pm
Qui Set 10, 2020 6:26 pm
Qui Set 10, 2020 1:01 pm
Qui Set 10, 2020 2:19 am
Qui Set 10, 2020 2:17 am
Qui Set 10, 2020 2:08 am
Qui Set 10, 2020 1:51 am
Qua Set 09, 2020 10:03 pm
Qua Set 09, 2020 5:43 pm
Qua Set 09, 2020 6:21 am
Ter Set 08, 2020 10:47 pm
Ter Set 08, 2020 8:47 pm
Ter Set 08, 2020 12:59 pm
Ter Set 08, 2020 9:55 am
Seg Set 07, 2020 10:41 pm
Seg Set 07, 2020 9:32 pm
Seg Set 07, 2020 9:11 pm
Seg Set 07, 2020 8:07 pm
Seg Set 07, 2020 7:18 pm
Seg Set 07, 2020 3:06 am
Seg Set 07, 2020 2:52 am
Dom Set 06, 2020 9:29 pm
Dom Set 06, 2020 8:37 pm
Dom Set 06, 2020 7:37 pm
Dom Set 06, 2020 6:13 pm
Dom Set 06, 2020 6:12 pm
Dom Set 06, 2020 6:11 pm
Dom Set 06, 2020 5:33 pm
Dom Set 06, 2020 5:30 pm
Dom Set 06, 2020 4:46 pm
Dom Set 06, 2020 11:42 am
Sab Set 05, 2020 9:45 pm
Sab Set 05, 2020 8:29 am
Sex Set 04, 2020 7:53 pm
Sex Set 04, 2020 1:57 pm
Sex Set 04, 2020 11:06 am
Qui Set 03, 2020 9:11 pm
Qui Set 03, 2020 6:55 pm
Qua Set 02, 2020 10:57 pm
Qua Set 02, 2020 5:33 pm
Qua Set 02, 2020 3:49 pm
Qua Set 02, 2020 10:01 am
Qua Set 02, 2020 9:56 am
Ter Set 01, 2020 9:05 pm
Ter Set 01, 2020 4:54 pm
Ter Set 01, 2020 2:44 pm
Ter Set 01, 2020 2:24 pm
Seg Ago 31, 2020 10:43 pm
Seg Ago 31, 2020 8:15 pm
Seg Ago 31, 2020 6:58 pm
Seg Ago 31, 2020 2:44 pm
MarcosSchultz
MarcosSchultz
BatataBugada54321
darkrj
diegopds
Lohmz
JulioWinchester
AndryelBlanco
Magnatah
Magnatah
Magnatah
ProBrStalker
BatataBugada54321
Callyde Jr
NKKF
NKKF
FelipeSouza11
Magnatah
bruno700mb
darkrj
Magnatah
Ricardito
Magnatah
Magnatah
fantastic137
SamonBR
Callyde Jr
Fagner
Th2y
Shidote
ViniciusTKH
TioUV
MarcosSchultz
MarcosSchultz
MarcosSchultz
mateusschw
MayLeone
KurotamaXIII
Ploleo
RodriGO3477
PacienteZERO
Fagner
BlesseD
zhentox
MarcosSchultz
MarcosSchultz
Fagner
SauloeArthur
ProBrStalker
Callyde Jr
tautologias357
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Callyde Jr
bruno700mb
Callyde Jr
JulioWinchester
FlavinGiroflex
merike11
TioUV
Weslley
GattiMene
Magnatah
MarcosSchultz
TIKO
MarcosSchultz
MarcosSchultz
Fagner
Magnatah
Rangel Oblivion
MarcosSchultz
ProBrStalker
mateusschw
MarcosSchultz
MarcosSchultz
mateusschw
FlavinGiroflex
Th2y
darknecron
MarceloYBP
TIKO
poyser
pdsimulador
designshake
SamonBR
Ricardito
Fagner
Moskeiro
Moskeiro
CharlesWarrior02
samuelreidosjogos17091997
AndryelBlanco
NKKF
samuelreidosjogos17091997
Fagner
Wrench18
Lplucas

[Servidor/client] para jogos de grande porte

Ir em baixo

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

Mensagem por Zack2 em 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 : 2089
REPUTAÇÃO : 49
Idade : 26
Á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 em 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 : 75
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 em Qui Ago 20, 2020 11:26 am

Eu gosto bastante do LiteNetLib

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

Masculino PONTOS : 4131
REPUTAÇÃO : 715
Idade : 22
Á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 em 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 : 2089
REPUTAÇÃO : 49
Idade : 26
Á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