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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[AJUDA] Sistema de chuva
Melhor lugar para Publicar uma Demo
Meu primeiro Rpg
Dúvida com simulação de marcha de carros..
Problema na compilaçao para android
Precisamos de um Level Desgner ou Programador, que entenda de Otimização de Senario
esse e o novo jogo que estou criando "my dream" ,um projeto pequeno.
Dúvida se código da unity é obsoleto
Canvas: como trazer objeto pra frente de outro?
Jumper boy
Demo Terror
Enfrente Seu Pesadelo
Pokémon TCG-Erro de tela rosa
Alguem pode me dizer qual é a função que limita o framerate do game, no unity 5 ?
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
como fazer trocar a imagem q está no UI canvas ?
problemas ao sincronizar healthbar entre os player (photon)
Reload Arma
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Servidores dedicados - BatchMode
Como dizer que um numero é diferente do outro?
Esconder-se estilo OutLast
Optimização do Android
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
Ativar animação
como criptografar um texto e descriptografar em c#
existe algum método para instanciar sprites ?
Como lançar um objeto para um local via touch?
Ajuda de como fazer um jogo
Ajuda com áudio de carro
Fazer sombras usando sprites
Assets tanque de guerra
Como alterar rectTransform de objeto
Como acesso uma variável em outro script?
[Prototipo] : [MyLifeInSevenSeconds]
Barra de power
Preciso 1 Programador
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
Problema na instalação do SDK Android
Ranking com nome
como ajustar o UnityEngine.UI.text via script para qualquer resolução?
PAGO POR TUTORIAIS EM VIDEO ALGUÉM INTERESSADO??
[RESOLVIDO] Alguem conhece um tutorial como este?
Alterar as qualidades das sombras com um dropdown
Como ter a mesma imagem em todos os dispositivos?
[TUTORIAL] Pegar e Dropar item no chao.[2.0]
MultiPlayer Local Android!
Asset Store quantos % fica pra ela?
Os Bentônicos - O Jogo
[TUTORIAL] Definindo as resoluções suportadas
[RESOLVIDO] Problema com Visual Studio
Freio abs duvida
Dicas para melhorar o desempenho?
desafio do codigo(Treinamento e raciocinio)
Movimento do Sonic
Script para visualizar objetos igual ao do Resident Evil 7
Alterar WaterMode do WaterProDaytime Via script
Como resolvo esse problema ?
Acionar mecanismos nativos do android
[TUTORIAL] Sistema de EXP, upar níveis, entre outros
[GUIA]Como desenvolver meu primeiro jogo?
Apenas uma pergunta
preciso de sugestões para o meu jogo (my dream)
Como criar um script capaz de detectar a velocidade de queda de um objeto no Unity 5 ?
[TUTORIAL] Script de arma automatica
[TUTORIAL]fazer os vidros quebrarem!
Modeladores (pedido de modelo pronto)
Raycast reconhecer qualquer ponto da tela em camera fixa
como posso colocar efeito sonoro em objeto?
[RESOLVIDO] Problema com a velocidade de parada de objeto
Como mudo o material de um objeto dentro do jogo?
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
[RESOLVIDO] Como faço para adicionar Lens Flares no Unity 5 ?
[TUTORIAL] Importar carros do gta para a unity
Package vazada
Erro Script Photon
Atualizado SpaceNavigation
Atualizado (The Pyramid 1.1.1)
[RESOLVIDO] Erro de Logica com IA
Projeto Em Mente: Ninja FPS
Querm Poder se juntar a equpe
[RESOLVIDO] Como criar varias contas em um jogo como PlayerPrefs.
Remasterização Wyd
Matar inimigo
Personagem não sair da tela
Como são mescladas as animações?
click to walk + detecao de rotação de um objeto e animação
multiplayer
[DEVLOG] Projeto Coming Back(AHOWNN town) um MMO RPG 3D Game(Protótipo)
[RESOLVIDO] Inimigo caminha infinitamente para a direita
Procuro modelador para projeto similar à My summer Car
Como faço RaycastHit detectar isto?
ERRO TEXTURA UNITY 3D
Como pular somente com toque simples no touch Android
Como configura um terrain?
Personagem matar inimigo
Game Dev Agradecimento a galera do Forum
[RESOLVIDO] Unity Erro : BCE0044 Unexpected Char
quero fazer acender a luz do conta giro
Hoje à(s) 9:37 pm
Hoje à(s) 9:30 pm
Hoje à(s) 9:21 pm
Hoje à(s) 9:18 pm
Hoje à(s) 8:57 pm
Hoje à(s) 8:26 pm
Hoje à(s) 7:52 pm
Hoje à(s) 7:40 pm
Hoje à(s) 6:35 pm
Hoje à(s) 6:27 pm
Hoje à(s) 5:44 pm
Hoje à(s) 5:43 pm
Hoje à(s) 5:41 pm
Hoje à(s) 5:34 pm
Hoje à(s) 5:26 pm
Hoje à(s) 2:25 pm
Hoje à(s) 12:49 pm
Hoje à(s) 11:34 am
Hoje à(s) 7:16 am
Hoje à(s) 4:34 am
Ontem à(s) 9:28 pm
Ontem à(s) 8:53 pm
Ontem à(s) 8:05 pm
Ontem à(s) 7:39 pm
Ontem à(s) 7:03 pm
Ontem à(s) 6:47 pm
Ontem à(s) 6:19 pm
Ontem à(s) 4:11 pm
Ontem à(s) 3:50 pm
Ontem à(s) 3:13 pm
Ontem à(s) 3:06 pm
Ontem à(s) 1:58 pm
Ontem à(s) 1:19 pm
Ontem à(s) 1:14 pm
Ontem à(s) 12:16 pm
Ontem à(s) 10:58 am
Ontem à(s) 9:28 am
Ontem à(s) 8:59 am
Ontem à(s) 8:55 am
Ontem à(s) 12:32 am
Dom Dez 10, 2017 11:53 pm
Dom Dez 10, 2017 9:12 pm
Dom Dez 10, 2017 8:34 pm
Dom Dez 10, 2017 6:16 pm
Dom Dez 10, 2017 6:16 pm
Dom Dez 10, 2017 6:14 pm
Dom Dez 10, 2017 6:13 pm
Dom Dez 10, 2017 4:50 pm
Dom Dez 10, 2017 1:31 pm
Dom Dez 10, 2017 11:29 am
Dom Dez 10, 2017 12:29 am
Sab Dez 09, 2017 11:31 pm
Sab Dez 09, 2017 11:17 pm
Sab Dez 09, 2017 9:56 pm
Sab Dez 09, 2017 7:22 pm
Sab Dez 09, 2017 7:16 pm
Sab Dez 09, 2017 7:11 pm
Sab Dez 09, 2017 4:55 pm
Sab Dez 09, 2017 2:33 pm
Sab Dez 09, 2017 1:15 pm
Sab Dez 09, 2017 12:15 am
Sex Dez 08, 2017 9:18 pm
Sex Dez 08, 2017 9:17 pm
Sex Dez 08, 2017 8:58 pm
Sex Dez 08, 2017 8:38 pm
Sex Dez 08, 2017 8:32 pm
Sex Dez 08, 2017 3:44 pm
Sex Dez 08, 2017 12:24 pm
Sex Dez 08, 2017 11:31 am
Qui Dez 07, 2017 9:35 pm
Qui Dez 07, 2017 8:52 pm
Qui Dez 07, 2017 6:12 pm
Qui Dez 07, 2017 4:40 pm
Qui Dez 07, 2017 4:18 pm
Qui Dez 07, 2017 3:18 pm
Qui Dez 07, 2017 11:35 am
Qui Dez 07, 2017 10:06 am
Qui Dez 07, 2017 9:07 am
Qui Dez 07, 2017 8:50 am
Qui Dez 07, 2017 2:37 am
Qui Dez 07, 2017 2:16 am
Qua Dez 06, 2017 10:54 pm
Qua Dez 06, 2017 9:17 pm
Qua Dez 06, 2017 6:38 pm
Qua Dez 06, 2017 6:04 pm
Qua Dez 06, 2017 12:19 pm
Qua Dez 06, 2017 11:19 am
Qua Dez 06, 2017 10:14 am
Qua Dez 06, 2017 12:22 am
Ter Dez 05, 2017 10:37 pm
Ter Dez 05, 2017 10:23 pm
Ter Dez 05, 2017 7:42 pm
Ter Dez 05, 2017 7:05 pm
Ter Dez 05, 2017 6:26 pm
Ter Dez 05, 2017 5:28 pm
Ter Dez 05, 2017 4:40 pm
Ter Dez 05, 2017 4:29 pm
Ter Dez 05, 2017 4:18 pm
Ter Dez 05, 2017 1:11 pm
PatifeCraft
guimaraf
guimaraf
Madness
Eduardoro39
Jhonatham1
glauco
Flávio
hen000
googolepton
MarceloYBP
MarceloYBP
Endertheus
FelipeGD
MarceloYBP
dstaroski
Valakinhas
John Rambo
dstaroski
hen000
recagonlei
dimmuo
Água Sem Hidrogênio
natanael.olimpio
Zecandy
recagonlei
John Rambo
recagonlei
recagonlei
Nyland
Fagner
erifmeurer
recagonlei
recagonlei
dstaroski
XN4k3Dbr
felipefell
dstaroski
dstaroski
Flávio
lesgoy
oilson
GabrielBs1409
recagonlei
lesgoy
glauco
recagonlei
recagonlei
Josivaldo Augusto
guimaraf
Flávio
Nyland
Ghosthy
felipehobs1
DSK
Phph09
BRGC
Fagner
XN4k3Dbr
Jorge Nunes
dimmuo
Josivaldo Augusto
recagonlei
FelipeGD
recagonlei
recagonlei
Spuk
Phph09
Phph09
Eduardoro39
Phph09
MarcosSchultz
Madness
mecjo
MRX
recagonlei
Zecandy
dstaroski
natanael.olimpio
ErikBreno360
ErikBreno360
recagonlei
Zecandy
Phph09
felipehobs1
recagonlei
Valakinhas
recagonlei
recagonlei
dstaroski
fabriciorsz34
recagonlei
recagonlei
Bruno MP
dstaroski
natanael.olimpio
natanael.olimpio
lesgoy
dstaroski

[TUTORIAL]Network basico (legacy)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Sab Dez 12, 2015 7:48 pm

Ola pessoal... sou novo aqui mas sou experiente em C#(basico) como eu não vi nenhum tutorial desse tipo eu decidi trazer um, embora seja um método antigo ainda funciona vamos para o tutorial Smile

Indice




  • Criando um Servido
  • Criando um Client
  • Extras


Criando um Servido



primeiro vamos criar um novo script C#, bote um nome que quiser
vamos declarar umas variáveis e criar umas voids
Código:
private const string typeName = "NomeDoJogo";
private const string gameName = "NomeDaSalaOuServer";
private const string gameComent = "ComentarioDoServer";
private Rect windowRect = new Rect (Screen.width - 200,0,200,135); //(posisao em X, posisao em Y, largura, altura)
 
private void StartServer()
{
    Network.InitializeServer(50, 25000, !Network.HavePublicAddress());//(maximo de players, porta para conectar, se usa Nat)
    MasterServer.RegisterHost(typeName, gameName, gameComent);
    Network.sendRate = 100;//máximo updates por farme do player
    MasterServer.updateRate = 100; //máximo de updates do server
}
com isso o servido ja estaria pronto Neutral mas não e so isso que queremos certo ?
vamos fazer um método OnGUI para criar um botao de iniciar o server
Código:
void OnGUI()
{
    windowRect = GUI.Window (1, windowRect, windowManager, "Painel de Controle");
}

void windowManager (int windowID)
{
    windowID = 1;
    if (!Network.isClient && !Network.isServer)
    {
        if (GUI.Button(new Rect(5, 25, 110, 30), "Ligar Server"))//(GUI.Button(new Rect(posisao X dentro do painel, posisao Y dentro do painel, largura, autura), "Ligar Server"))
            StartServer();
    }
}
desse jeito apenas quem não e o client(player conectado ao server) ou o próprio server pode aperta o botão
com isso a parte do servido esta pronta...
Ficarar mais ou menos assim no jogo


Criando um Client



Agora vamos fazer um novo script C#, com o nome que quiser
vamos declarar algumas variáveis e voids
Código:

private HostData[] listaDeServers;
private const string typeName = "NomeDoJogoUtilizadoNoScriptAcima";
private Rect windowRect = new Rect (50, 50, 500, 350);//(posisao em X, posisao em Y, largura, altura)

void Awake ()
{
    MasterServer.ClearHostList();
    ProcurarServers();
}

private void ProcurarServers()
{
    MasterServer.ClearHostList();

    if(listaDeServers == null)
        MasterServer.RequestHostList(typeName);
}
 
void OnMasterServerEvent(MasterServerEvent msEvent)
{
    if (msEvent == MasterServerEvent.HostListReceived)
        listaDeServers= MasterServer.PollHostList();
}

private void EntrarNoServer(HostData hostData)
{
    Network.Connect(hostData);
}
com isso podemos procurar servers e entrar nele também...
vamos fazer ums botoes com a OnGUI para nos ajudar a entrar no server
Código:
void OnGUI()
{
    windowRect = GUI.Window(0, windowRect, WindowFunction, "Serves Onlines");
}

void WindowFunction (int windowID)
{
    windowID = 0;
    if (GUI.Button(new Rect(5, 295, 100, 50), "Refresh Hosts"))
        ProcurarServers();
    if (listaDeServers != null)
    {
        for (int i = 0; i < listaDeServers.Length; i++)
        {
            if (GUI.Button(new Rect(240, 25 + (50 * i), 250, 70), listaDeServers[i].gameName + "\n" + listaDeServers[i].comment + "\n" + "Users Onlines:" + listaDeServers[i].connectedPlayers + " Max Users:" + listaDeServers[i].playerLimit))//(GUI.Button(new Rect(posisao em X, posisao em Y + (posisao em Y² * i), largura, altura), listaDeServers[i].gameName + "\n" + listaDeServers[i].comment + "\n" + "Users Onlines:" + listaDeServers[i].connectedPlayers + " Max Users:" + listaDeServers[i].playerLimit))
                 EntrarNoServer(listaDeServers[i]);
        }
    }
}
com isso ja temos um meio de entrar no server se atribuímos esse script a algum objeto podemos ver que irar funcionar

podemos colocar o script de iniciar o server em um projeto e compilar para servi apenas como iniciador do server
e podemos colocar o script de conectar ao server no jogo para podemos entrar e conectar Very Happy

Extras!!



*Em Construção*
embora os scripts tenham fechado no "}" ainda podemos aperfeiçoa-los

Extras para o script servido



Fazer Shutdown(Desligar) do server:
embora quando você da Stop(na unity) ou feixa o jogo, o server e automaticamente fechado forçadamente...
mas podemos fechar manualmente quando quisermos, para isso vamos adicionar ao script do server uma nova void
Código:
private void FeixarServer()
{
    if (!Network.isClient && Network.isServer)//apenas server pode executar a ação
    {
        Network.Disconnect(200);//damos um desconect seguro no player
        MasterServer.UnregisterHost();//feixamos o server
    }
}
agora para chamar ela vamos adicionar algumas linhas na void windowManager
Código:
if(Network.isServer)
{
    if (GUI.Button(new Rect(5, 60, 110, 30), "Shutdown Server"))
        ShutdownServer();
}
com isso irar ter um novo botão no painel de controle que irar aparecer apenas quando o server iniciar  Very Happy

Extras para o script client


Botao de Desconectar:
com esse script podemos deixar o player se desconectar do server apertando um botão
podemos atribuir os codigos a outro script como um de menu pause ou criar um script para essa função...
vamos utilizar a void OnGUI, o codigo
Código:

if (Network.isClient){
    if (GUILayout.Button("Desconectar do servidor"))
        if (Network.connections.Length == 1) {
            Debug.Log("Disconnecting: " + Network.connections[0].ipAddress + ":" + Network.connections[0].port);
                Network.CloseConnection(Network.connections[0], true);
        } else
            if (Network.connections.Length == 0)
                Debug.Log("Não ha Conexão"); //aqui podes colocar algo para quando não esta conectado ao server... (nescesario retirar o if(network.isclient))
            else
                if (Network.connections.Length > 1)
                    Debug.Log("Excesso de conexões. Será que estar executando o servidor??");//aqui podes colocar algo para caso o hoster(você?) queira desconectar do jogo...
}


Editado no dia (20/12/2015) as [03:00] AM


Última edição por noocktall em Dom Dez 20, 2015 4:29 am, editado 1 vez(es)
avatar
noocktall
Membro
Membro

Masculino PONTOS : 930
REPUTAÇÃO : 18
Idade : 16
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por Pqquim em Seg Dez 14, 2015 9:56 am

Bom Tutorial , mas como eu colocaria o jogo para se adequar em multiplayer ??
avatar
Pqquim
Iniciante
Iniciante

PONTOS : 754
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Seg Dez 14, 2015 12:58 pm

depende do jogo... é aconselho usar o UNet da unity(5.1+) ou Photon, pois o método que eu postei ai e antigo demais alem que o master server que você hospedaria o jogo e da propiá unity deixa a desejar ficar sem leg


Última edição por noocktall em Ter Dez 15, 2015 11:26 am, editado 1 vez(es)
avatar
noocktall
Membro
Membro

Masculino PONTOS : 930
REPUTAÇÃO : 18
Idade : 16
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por rafaelllsd em Seg Dez 14, 2015 5:56 pm

Esse sistema, 2 pessoas poderia jogar via servidor, hamachi? ou é só para o mesmo pc e outras linhas ligadas nele Ex: Lan house?
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 2308
REPUTAÇÃO : 351
Idade : 17
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Ter Dez 15, 2015 11:22 am

nesse caso não precisa de hamachi pois você ta hospedando na propiá unity, e sim da para jogar de 2, 3 ou ate mais só talvez haja leg
avatar
noocktall
Membro
Membro

Masculino PONTOS : 930
REPUTAÇÃO : 18
Idade : 16
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por Pqquim em Qui Dez 17, 2015 3:32 pm

Noock tem como me ajudar a colocar meu game on ? ficaria muito grato ^_^
avatar
Pqquim
Iniciante
Iniciante

PONTOS : 754
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Sex Dez 18, 2015 4:19 pm

Pqquim escreveu:Noock tem como me ajudar a colocar meu game on ? ficaria muito grato ^_^
sim, e só me manda um PM com seu skype para min ;D
avatar
noocktall
Membro
Membro

Masculino PONTOS : 930
REPUTAÇÃO : 18
Idade : 16
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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