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:
Recrutamento de equipe
É assim que se começa um "novo mundo" na era medieval? kkjk
Tempo Minutos e Segundos Transformar em Volta mais Rapida
[TUTORIAL] Unity 5.5 - Splash Screen
R7 - GOOH (resident evil 7)
InputField/String Com formato para data XX/XX/XXXX
Estou com varias duvidas sobre o inputfield do ui canvas
(Dúvida) Setar ultima string de uma array
[Ajuda] Unity 5.5.0 não abre
Coroutines Loop
[____TÓPICO LIVRE____] FALE O QUE QUISER
Destruindo objeto em uma outra cena
modo desenvolvedor xbox one?
como usar o Lookat com o addforce do rigidibody?
Cryengine 3?
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
Dash2D
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Time.timeScale continua em 0
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
Baixar Unity ?
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Sistema de Escada Estilo FPS
Guitar The Legends of Brazil
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Examinar
Formação de Equipe Battle of Worlds
me ajudem neste script para subir escada
Hoje à(s) 1:38 am
Hoje à(s) 1:16 am
Ontem à(s) 11:02 pm
Ontem à(s) 10:41 pm
Ontem à(s) 10:37 pm
Ontem à(s) 7:40 pm
Ontem à(s) 7:39 pm
Ontem à(s) 6:44 pm
Ontem à(s) 6:26 pm
Ontem à(s) 5:41 pm
Ontem à(s) 4:19 pm
Ontem à(s) 11:42 am
Ontem à(s) 11:15 am
Ontem à(s) 8:45 am
Ontem à(s) 6:17 am
Qua Dez 07, 2016 11:58 pm
Qua Dez 07, 2016 11:55 pm
Qua Dez 07, 2016 10:57 pm
Qua Dez 07, 2016 10:22 pm
Qua Dez 07, 2016 10:03 pm
Qua Dez 07, 2016 8:53 pm
Qua Dez 07, 2016 8:51 pm
Qua Dez 07, 2016 8:47 pm
Qua Dez 07, 2016 8:45 pm
Qua Dez 07, 2016 8:42 pm
Qua Dez 07, 2016 8:36 pm
Qua Dez 07, 2016 8:32 pm
Qua Dez 07, 2016 8:30 pm
Qua Dez 07, 2016 8:22 pm
Qua Dez 07, 2016 7:47 pm
Qua Dez 07, 2016 5:54 pm
Qua Dez 07, 2016 5:50 pm
Qua Dez 07, 2016 4:31 pm
Qua Dez 07, 2016 4:16 pm
Qua Dez 07, 2016 3:40 pm
Qua Dez 07, 2016 3:26 pm
Qua Dez 07, 2016 3:01 pm
Qua Dez 07, 2016 2:31 pm
Qua Dez 07, 2016 10:42 am
Ter Dez 06, 2016 10:46 pm
Ter Dez 06, 2016 10:30 pm
Ter Dez 06, 2016 6:02 pm
Ter Dez 06, 2016 5:01 pm
Ter Dez 06, 2016 3:31 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 1:32 pm
Sab Dez 03, 2016 10:53 am
Sab Dez 03, 2016 1:25 am
Sab Dez 03, 2016 1:11 am
Sab Dez 03, 2016 1:08 am
Sex Dez 02, 2016 11:20 pm
Sex Dez 02, 2016 11:15 pm
Sex Dez 02, 2016 11:10 pm
Sex Dez 02, 2016 11:08 pm
Sex Dez 02, 2016 10:58 pm
Sex Dez 02, 2016 10:52 pm
Sex Dez 02, 2016 10:50 pm
Sex Dez 02, 2016 10:04 pm
Sex Dez 02, 2016 9:12 pm
Locodapraça
AndyShow
AndyShow
MarcosSchultz
foxtenn
leandroinforware
leandroinforware
hetrodo_gamer
hetrodo_gamer
hetrodo_gamer
Manawydan
kleytonpb
AndyShow
Dom3000
Callyde Jr
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
MarcosSchultz
DoctorGame15
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
dstaroski
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt
dimmuo
Dom3000
Dom3000
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dom3000
edumoran

[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)

noocktall
Membro
Membro

Masculino PONTOS : 562
REPUTAÇÃO : 18
Idade : 15
Á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 ??

Pqquim
Iniciante
Iniciante

PONTOS : 386
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)

noocktall
Membro
Membro

Masculino PONTOS : 562
REPUTAÇÃO : 18
Idade : 15
Á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?

rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1077
REPUTAÇÃO : 73
Idade : 16
Áreas de atuação : Programação C# (Basico)
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

noocktall
Membro
Membro

Masculino PONTOS : 562
REPUTAÇÃO : 18
Idade : 15
Á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 ^_^

Pqquim
Iniciante
Iniciante

PONTOS : 386
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

noocktall
Membro
Membro

Masculino PONTOS : 562
REPUTAÇÃO : 18
Idade : 15
Á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