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:
gerar uma nova variavel??
como fazer o braço do personagem seguir a camera
LineRenderer
IEnumerator não funciona
Distancia com o CineMachine
Como eu faço para ativar essa animação
Como faço pra executar a ação apenas 1 vez ?
Online Shooting Android
Equipe de iniciantes em unity
[RESOLVIDO] Restaurar GameObject
Como acessar as funções de pós processamento por script?
Alguém sabe mexer com Shader Graph?
[DUVIDA]Level editor
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Preciso de ajuda com o baked de um SpotLight
Iluminação (estou com um problema)
Fear in The Modern House - CH2 [Steam]
BomberChan jogo feito em 4 dias
Imagem Gira Junto com a Câmera
Collider invadindo outro!! Player atravessando parede.
Como acessar uma variável de outro script sem saber o objeto?
O Android App Bundle não foi assinado, por favor como resolvo isso ?
Rotacionar em eixo Y, alguém ajuda ?
MEU JOGO NA PLAY STORE!
GetComponent referncia não encontrada
Particula de fogo grátis para download
Problemas com dropdown
Sistema de dano
Onde posso colocar minhas criações no fórum?
Sistema de morte na Unity usando o Photon
JSON Unity
Implementação do arquivo mysql.data.dll na Unity
Criação de um player com atributos para um game online
Com Fazer um Radio na Unity
Executar Animação enquanto pressionar shift
Erros ao enviar apk no Play Console
error CS0619: 'HostData' is obsolete: 'The legacy networking system has bee
[RESOLVIDO] Áudio termina e imagem aparece
Cargo na empresa
Qual é a melhor extensão do vs code para unity?
[RESOLVIDO] Áudio Termina e depois o Objeto da Cena Habilita
Projeto de Parkour
[RESOLVIDO] Entrar no If pelo nome da Scene
Reduzir partículas gradualmente
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
Imagem não Fica Aonde no local certo
Trocar Personagem/Skin
FlyBird - Um simples clone do Flappy Bird
Inimigo 2d
BLUE BIRD STUDIOS!! EQUIPE DE DESENVOLVIMENTOS DE GAMES
[MOBILE] Block Target
Sistema completo de FPS, (by u/KFriske)
Pode anunciar o fórum em outros sites/fóruns?
Como mover algum objeto apenas ao colidir com outro?
É normal não aparecer o Package Manager?
Rapper Simulator (demo) mobile
como fazer um public gameObject ser preenchido pelo objeto com tag X.
Dúvida sobre classes
Animação em um If
Duvida sobre criar respawn.
[TUTORIAL] Sistema de Inventário com scroll
[Duvida] Relacionada a rotação de um objeto.
Ethan prefab
como fazer sistema de partículas apagar outro sistema de partículas
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Bug no pulo do personagem
[ERRO] Did you spawn new GameObjects from OnDestroy?
[TUTORIAL] SISTEMA SIMPLES DE CADASTRO DE CLIENTES - C#, VISUAL STUDIO
Minha camera esta girando de maneira brusca
[TUTORIAL] Tirar Print da Tela do Jogo
Sistema de munição para um sistema de particulas
[RESOLVIDO] De me uma luz
Adicionar função ao um botão atraves de um script
gostaria de sabe como posso utiliza o particle
Como resolver o problema de eixo da arma ao executar uma animação?
sistema de carro e viagens na unity
Procuro equipe para criar um Minecraft para treinar!
Proposta de Parceria em Belo Horizonte
[Formação de equipe] Formação de equipe para o ramo de criação de jogos.
muda estado de objeto filho sem interferie nos outros
ERRO: O nome de tipo ou namespace "UI" não existe no namespace "UnityEngine"
Sprite corrompido quando atribuo o material texture transparente
Como faço uma imagem com tamanho variado sem perde qualidade
Inimigo atravessando paredes
Dúvida, como transferir dados para outra cena (Iniciante)
Quando coloco RigLayer no meu personagem, ele começa a flutuar
Para MarcosSchultz
INIMIGO INSTANCIAR PREFABS AUTOMATICAMENTE
Error CS0246, não sei o que fazer
Como fazer o personagem correr ao apertar botão
Não sei o que está errado.
Animação das armas
Recarregar quando esta perto do objeto
[TUTORIAL] Salvar dados com playerprefs facilmente.
Player flutuando na hora de utilizar riglayer
Aconselhamento: não tente escrever em inglês
Gostaria de compartilhar alguns PRINTS do meu FUTURO GAME!!!
Teste de Desempenho na tela de Splash
Time.timeScale
Hoje à(s) 12:58 pm
Hoje à(s) 10:56 am
Ontem à(s) 11:43 pm
Ontem à(s) 8:22 pm
Ontem à(s) 6:27 pm
Ontem à(s) 4:54 pm
Ontem à(s) 4:34 pm
Ontem à(s) 2:48 am
Ter Nov 24, 2020 11:33 pm
Ter Nov 24, 2020 8:12 pm
Ter Nov 24, 2020 7:22 pm
Ter Nov 24, 2020 10:44 am
Ter Nov 24, 2020 9:47 am
Ter Nov 24, 2020 1:05 am
Ter Nov 24, 2020 12:53 am
Seg Nov 23, 2020 7:54 pm
Seg Nov 23, 2020 6:25 pm
Seg Nov 23, 2020 3:33 pm
Seg Nov 23, 2020 3:32 pm
Seg Nov 23, 2020 1:42 pm
Seg Nov 23, 2020 6:40 am
Dom Nov 22, 2020 10:59 pm
Dom Nov 22, 2020 6:25 pm
Dom Nov 22, 2020 6:24 pm
Sab Nov 21, 2020 9:43 pm
Sab Nov 21, 2020 4:21 pm
Sab Nov 21, 2020 2:30 pm
Sab Nov 21, 2020 12:52 pm
Sab Nov 21, 2020 10:28 am
Sab Nov 21, 2020 9:44 am
Sex Nov 20, 2020 5:51 pm
Sex Nov 20, 2020 5:14 pm
Sex Nov 20, 2020 5:09 pm
Sex Nov 20, 2020 3:52 pm
Sex Nov 20, 2020 3:33 pm
Sex Nov 20, 2020 12:29 am
Qui Nov 19, 2020 7:16 pm
Qui Nov 19, 2020 1:20 pm
Qui Nov 19, 2020 8:32 am
Qui Nov 19, 2020 12:21 am
Qua Nov 18, 2020 10:18 pm
Qua Nov 18, 2020 9:42 pm
Qua Nov 18, 2020 3:54 pm
Qua Nov 18, 2020 12:50 am
Qua Nov 18, 2020 12:47 am
Ter Nov 17, 2020 9:23 pm
Ter Nov 17, 2020 7:01 pm
Ter Nov 17, 2020 7:01 pm
Ter Nov 17, 2020 5:15 pm
Ter Nov 17, 2020 5:14 pm
Ter Nov 17, 2020 8:28 am
Ter Nov 17, 2020 12:09 am
Ter Nov 17, 2020 12:05 am
Ter Nov 17, 2020 12:01 am
Ter Nov 17, 2020 12:00 am
Seg Nov 16, 2020 10:30 pm
Seg Nov 16, 2020 9:25 pm
Seg Nov 16, 2020 7:40 pm
Seg Nov 16, 2020 7:28 pm
Seg Nov 16, 2020 2:46 pm
Seg Nov 16, 2020 1:37 pm
Seg Nov 16, 2020 12:38 pm
Seg Nov 16, 2020 11:31 am
Dom Nov 15, 2020 7:15 pm
Dom Nov 15, 2020 12:19 pm
Sab Nov 14, 2020 10:09 pm
Sab Nov 14, 2020 8:36 pm
Sab Nov 14, 2020 7:51 pm
Sab Nov 14, 2020 6:47 pm
Sab Nov 14, 2020 6:36 pm
Sab Nov 14, 2020 6:34 pm
Sab Nov 14, 2020 6:33 pm
Sab Nov 14, 2020 6:31 pm
Sab Nov 14, 2020 6:26 pm
Sab Nov 14, 2020 6:23 pm
Sab Nov 14, 2020 4:48 pm
Sab Nov 14, 2020 1:50 pm
Sab Nov 14, 2020 1:43 pm
Sab Nov 14, 2020 1:37 pm
Sab Nov 14, 2020 1:21 pm
Sab Nov 14, 2020 11:14 am
Sex Nov 13, 2020 10:15 pm
Sex Nov 13, 2020 10:13 pm
Sex Nov 13, 2020 4:02 pm
Sex Nov 13, 2020 3:01 pm
Sex Nov 13, 2020 11:18 am
Sex Nov 13, 2020 2:14 am
Sex Nov 13, 2020 2:12 am
Qui Nov 12, 2020 11:38 pm
Qui Nov 12, 2020 11:04 pm
Qui Nov 12, 2020 10:58 pm
Qui Nov 12, 2020 8:57 pm
Qui Nov 12, 2020 6:49 pm
Qui Nov 12, 2020 6:48 pm
Qui Nov 12, 2020 1:30 pm
Qui Nov 12, 2020 12:57 pm
Qua Nov 11, 2020 11:10 pm
Qua Nov 11, 2020 9:14 pm
Qua Nov 11, 2020 4:46 pm
joão hoffman
Pokedlg
marino96
Micco
Luizdanhp
NotoriousDev
NotoriousDev
Daniel Dória
VitexX17
Agoraaae3432
Magnatah
Pokedlg
diegopds
Brunobarradas
JulioWinchester
Pokedlg
BlesseD
samoliver1813
Pokedlg
70correr
Portela
Portela
GattiMene
JackDarm
MatheusEleodoro
Pokedlg
GattiMene
lobodomato
glauco
Atho
NKKF
joão hoffman
joão hoffman
JulioWinchester
Pokedlg
Daniel Dória
ProBrStalker
AdrianoEstúdio
thales.ulisses
Pokedlg
AdrianoEstúdio
mericu
Ricardito
Pokedlg
dunha
Pokedlg
artplayer
Micco
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
cafezinho71
Callyde Jr
Portela
MayLeone
Nalfam
loucoporjogo
MayLeone
MarcosSchultz
Fagner
Pokedlg
Hastur
Micco
Micco
tomiomatsushita
Magnatah
Micco
Magnatah
victormvw5
Magnatah
Magnatah
Magnatah
SauloeArthur
Minimuster
Minimuster
Minimuster
Pokedlg
loucoporjogo
brizaloka
brizaloka
Pokedlg
cafezinho71
italo rikelme
MarcosSchultz
MarcosSchultz
Pokedlg
BlesseD
Pokedlg
Pokedlg
Pokedlg
Zm2317
Pokedlg
thales.ulisses
cafezinho71
MatheusEleodoro
Ricardito

[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 : 2156
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 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 : 142
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 : 4207
REPUTAÇÃO : 716
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 : 2156
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