[Tutorial]Como usar a engine Network Platform GM:S

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

[Tutorial]Como usar a engine Network Platform GM:S

Mensagem por !!Game Play!! em Sex 12 Abr 2013, 15:56

Tutorial

Como usar a engine Network Platform

Plataforma

Game Maker studio

Descrição

Fiz este mini tutorial para quem não está sabendo como abrir um servidor e um cliente nesta engine que já vem incluso no Game maker studio.


Engine usada

http://www.mediafire.com/?y9kq329q8vhpqmb

Todos os direitos reservados a yoyo games

1- PASSO

Na opção Target (onde fica todos os módulos de exportação) escolha a opção windows , não sei se funciona em outros módulos , mas deve funcionar.


2- PASSO

Click no ícone de criar executáveis.


3- PASSO

Na aba TIPO , troque Windows NSIS Installer (cria executável com instalador) por Single runtime executable (cria apenas o executável) e exporte para alguma área do seu pc.



4- PASSO

Execute a executável da engine , depois escolha o nome do servidor , e clique em "create server"


SERVIDOR CRIADO !



5- PASSO

Clique novamente na executável


6- PASSO

Percebe que aparece o "endereço" do servidor criado , clique neste endereço para ir na sala onde o player mike , que é o dono da sala está.


7- PASSO

Pronto , cliente criado . Se vários jogadores quiserem ir para a sala de um servidor , terá que clicar no endereço que aparece na tela , mas se quiser iniciar outro servidor , escolha um nome e clique no botão ao lado.




Emfim , tutorial termina por aqui , espero que tenha gostado , se surgir alguma duvida , pode pergunta aqui no tópico ou mande uma mp , abraço , ate a próxima.


Última edição por !!Game Play!! em Ter 16 Abr 2013, 19:07, editado 2 vez(es) (Razão : Arrumei Link's Quebrados.)

!!Game Play!!

Número de Mensagens : 159
Idade : 19
Data de inscrição : 24/12/2011
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.blackcubestudio.tkk/

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Gonzo em Sab 13 Abr 2013, 15:55

o link da engine esta off e as imagens tbm, mesmo assim tentei seguir o tuto e não funcionou, fico no aguardo..
abç.

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por !!Game Play!! em Sab 13 Abr 2013, 16:12

Desculpe mina , mas aqui esta tudo funcionando perfeitamente , tenta ver se o problema é sua net , abraço.

!!Game Play!!

Número de Mensagens : 159
Idade : 19
Data de inscrição : 24/12/2011
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.blackcubestudio.tkk/

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por machosupremo em Seg 15 Abr 2013, 16:32

GamePlay só foi possivel tentar baixar a engine hoje, e me parece que esta quebrado o link.

Tem como esquematizar ae pra mim? fazenvofavôh

machosupremo

Número de Mensagens : 99
Idade : 26
Data de inscrição : 10/10/2012
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.dinoup.com

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por !!Game Play!! em Seg 15 Abr 2013, 21:50

Pronto ! Consertei os link's

Se ainda continuar com link's quebrados , por favor , me avise , que eu dou um jeitinho aqui.

!!Game Play!!

Número de Mensagens : 159
Idade : 19
Data de inscrição : 24/12/2011
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.blackcubestudio.tkk/

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Gonzo em Dom 12 Maio 2013, 22:47

!!Game Play!!

agora funcionou! Smile

bom vc poderia adaptar algumas coisas pra nós ?
tipo.. tirar a opção de escolher o server e ao invés disso redirecionar o cliente para um arquivo online q contenha o ip do server ? o que acha ? vlw pelos print só consegui pq causa deles !!
abç.


Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Neofix em Dom 11 Maio 2014, 12:51

Desculpem ressuscitar o tópico. Mas a dúvida não foi respondida e estou enfrentando este mesmo problema.
Fazer o cliente logar automaticamente SE já existir um servidor. 
Como fazer isso?

EDIT: Consegui fazer o login automaticamente, se já existir um servidor.
No objeto "oMenu", evento "Networking" ponha o código:

Código:

/// UDP server code - Detect servers "broadcast"

var eventid = ds_map_find_value(async_load, "id");

if( eventid == global.broadcast_server )
{
    var ip = ds_map_find_value(async_load, "ip");

    // incoming data for the server from a connected saocket
    var buff = ds_map_find_value(async_load, "buffer");
    name = buffer_read(buff, buffer_string );

       
    // Add to our list...if we don't already have it!
    var index = ds_list_find_index(global.serverlist, ip);
    if( index<0 ){
        ds_list_add(global.serverlist, ip);
        ds_list_add(global.servernames, name);
        show_debug_message("New server found at: "+ip+"   called: "+name);
       
    if ds_list_size(global.serverlist)>=1 //se já existir um server, se conecta automaticamente nele
    {
      global.connectip = ds_list_find_value(global.serverlist, 0);
      alarm[0] = 2;
    }
       
    }   
   
}

Mas ainda não é a solução ideal.
Eu preciso que o jogo busque na internet a informação de servidores disponíveis (ip, porta), e se existir pelo menos 1, se conecte nele.
Em outras palavras, preciso me conectar a um servidor EXTERNO, e não a um servidor que esteja na mesma rede que eu.

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por fredcobain em Seg 12 Maio 2014, 16:29

Aí vc vai ter que ter uma lista de servidores cadastrados. E mostrar o status de cada um desses servidores.

Vc não vai conseguir um script pra varrer a net em busca disto. É como os desenvolvedores de jogos fazem.

Essa lista pode ser baixada sempre que o cara for jogar. A forma de fazer (baixar esse arquivo) está no meu tuto de Arquivos Online.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Neofix em Seg 12 Maio 2014, 16:47

Eu vou ter que deixar meu computador ligado com vários servidores abertos para o pessoal se conectar neles?
Porque eu estava pensando em fazer algo mais dinâmico, onde cada jogador pode criar seu servidor, enviar sua informação para a web, e o próximo que conectar seria o cliente, que baixa as informações e se conecta.
A lógica é: Se não existirem servidores, cria um. Se existir, se conecta automaticamente. Tudo rápido e transparente ao usuário final.
E assim por diante sempre permitindo partidas versus entre dois jogadores.
O networking do Game Maker funciona muito bem quando temos 2 jogares no mesmo ambiente, compartilhando a mesma rede. Preciso expandir isso para o nível global.

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por fredcobain em Seg 12 Maio 2014, 17:00

isso tem que ser pesquisado em um lugar centralizado, não tem outra forma de implementar.

Vc vai ter um serviço, cada cliente vai criar um server quando iniciar o jogo, essa informação deve ser mandada através de buffer (ip externo, porta, etc) para um servidor central.

Esse servidor vai receber a informação e mostrar isso (através de alguma página ou devolvendo um buffer para o cliente).

É assim que funciona.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Neofix em Seg 12 Maio 2014, 18:17

Deixa eu ver se entendi.

#1- Deixo um computador ligado, com um serviço rodando 24hs por dia, que tem o numero IP registrado no jogo (ou o ip armazenado em um arquivo .ini hospedado na internet, caso o ip da minha maquina mude sei lá se é dinâmico)
#2- O jogador abre o jogo, ele se conecta ao meu serviço, e ele responde para criar um servidor e aguardar segundo jogador
#3- Segundo jogador abre o jogo, o serviço sabe que tem um server esperando por ele, então envia os dados do servidor (jogador 1) e o player 2 se conecta diretamente nele.
#4- Para os próximos jogadores, repetir a partir da etapa #2

Penso que vai ser tenso programar isso tudo...
Vc já fez algo parecido Fredcobain?

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por fredcobain em Seg 12 Maio 2014, 21:38

É algo mais ou menos assim. Mas vc não precisa deixar um computador ligado o tempo todo.

A primeira camada, vc pode fazer via DotNet ou PHP, ou algo que o valha... seria um webservice.

Nunca fiz algo parecido, mas não é tão tenso de se fazer não.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Neofix em Ter 13 Maio 2014, 18:24

Bom estou quebrando a cabeça aqui.
Eu consegui aqui no fórum mesmo, um script PHP para gravar uma informação em um servidor WEB

escrever.php <- este arquivo vc coloca em seu servidor WEB
Código:

----------------
  escrever.php
----------------
<?php
$fp = fopen("arquivo.txt", "w");
fwrite($fp, $_GET['info']);
fclose($fp);
?>

e este é o comando GML para o game maker criar um "arquivo.txt" no servidor WEB
Código:

-------
  GML 
-------
texto="999.999.9.9"; //aqui vc carrega a msg que vai ser gravada
http_post_string("http://www.SEUSERVIDORWEB.com/escrever.php?info=" + string(texto), 0);

Com o seu tutorial Fred, acredito que não terei problemas para baixar essa informação da Web em um segundo momento. Assim a primeira parte do quebra cabeças esta feita.
Gravar e ler dados na web, atualizando a lista de servidores (IP dos próprios jogadores).
Essa solução me desobriga de manter um server dedicado aqui em casa rsrs

EDIT: Para fins didáticos, vou colocar aqui o código de leitura de arquivos na WEB. Se o leitor quiser mais informações leia o tutorial escrito pelo Fred!

Código:

-------
  LER
-------
//evento create
http_get("http://www.SEUSERVIDORWEB.com/arquivo.txt");
textoexibir="loading...";

//evento Async>HTTP
textoexibir=ds_map_find_value(async_load,"result");

//evento draw
draw_text(20,20,textoexibir);

---

Como vai funcionar:
Usando a lógica, se o arquivo.txt estiver vazio, significa que não existem servidores disponíveis, então o player1 cria o servidor e atualiza o arquivo.txt com seu numero IP.
Em seguida o player2 verifica o arquivo, vê que ele não está vazio, então se conecta ao servidor (player1) e em seguida zera o arquivo.txt.
Assim por diante sempre gerando partidas entre dois jogadores espalhados pelo mundo.

Neofix

Ranking : Nota A
Número de Mensagens : 98
Data de inscrição : 19/01/2009
Notas recebidas : A
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por fredcobain em Qua 14 Maio 2014, 00:21

Isso garoto! To gostando de ver vc arregaçando as mangas!
Esse é o caminho mesmo!

Depois vc poderia transformar num belo tutorial.

Parabéns pela perseverança de ir quebrando a cabeça até achar um caminho... tenho certeza que vc aprendeu muito nesse processo.

É isso que falta pra maioria.

Muito bom!

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tutorial]Como usar a engine Network Platform GM:S

Mensagem por Conteúdo patrocinado Hoje à(s) 04:04


Conteúdo patrocinado


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