Multiplayer tutorial 1: Conceitos

3

Index

Tagged

Contributors

Stats

24,113 visits, 37,802 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 14 Aug, 2015. Last updated 25 Feb, 2019

#Conectividade

A engine multiplayer do Construct  2 é baseado em canais de dados WebRTC . Esta é uma tecnologia de navegação em rede ponto-a-ponto (P2P). Os jogadores se conectam diretamente uns com os outros, em vez de passar por um servidor central.

Apesar do fato de que os jogadores podem se conectar diretamente um ao outro, os próprios jogos ainda são baseadas em um servidor com clientes. O primeiro ponto a participar de um jogo se torna o hospedeiro do jogo (host). Todos os jogadores subsequentes que entrarem posteriormente então se conectam ao host. Os jogadores que não são hospederios, são chamados de pares ou pontos ( peers). O host atua como o servidor do jogo. A principal diferença com os servidores centrais é que o host pode ser qualquer pessoa que ingressar no jogo, ao invés de ser um servidor contínuo, executado pelo desenvolvedor do jogo. Além disso, o host pode ser um participante ativo no jogo, ao passo que os servidores centrais frequentemente executam o jogo cegamente, para os outros jogadores.

[Multiplayer with a central server][12]

[Peer-to-peer multiplayer][13]

Ainda é possível usar servidores centrais, embora o host não participe do jogo, e deixar executando em um servidor dedicado. Porém, isto exige um pagamento para o servidor de hospedagem, de forma que a abordagem ponto-a-ponto é provavelmente mais barato.

Para um ponto estar hábil a se conectar ao host, ele precisa saber onde estão e como se conectar a eles. Trata-se de descobrir o seu [endereço IP] [0], descobrir se eles têm um roteador que restrinja as conexões e, se possível, ver uma forma de contornar essas restrições.

Roteadores restritos são muito comuns. A Internet ficou sem endereços IPv4 há vários anos atrás. A solução consiste em ocultar vários usuários atrás de um endereço IP. Isso é feito por [Tradução de Endereços de Rede] [1] (NAT). Por exemplo, em sua própria casa ou escritório, pode haver um roteador que todos na rede interna se conecta à Internet através dele. Neste caso, uma variante do NAT faria todos parecem vir do mesmo endereço IP, mas ao longo de diferentes [Portas] [2]. Existem várias outras variantes do NAT, incluindo NAT de grande escala aplicada a regiões inteiras, ISPs, ou redes móveis, e alguns são mais restritivos do que os outros. Infelizmente isso significa que, em alguns casos as ligações não são possíveis, especialmente se tanto o host e o peer que quer se juntar ao jogo estiverem por trás de um NAT altamente restritivo. No entanto, com configurações em comum para os jogadores, estes podem geralmente se conectar entre si e, geralmente, quanto mais perto eles estão geograficamente mais provável que a conexão funcione e permita um serviço de boa qualidade. Esta é a razão principal para incentivar os jogadores se juntarem a outros, pelo menos os que se encontram no mesmo continente.

[Example of NAT][14]

Conectividade é manipulada automaticamente pelo WebRTC. Ele tentará determinar como se conectar ao host que está funcionando através de restrições NAT. Isto também significa que não há uma porta específica para que os jogos passem diretos; estes irão passar qualquer porta WebRTC que estiver funcionando. Por exemplo, no diagrama acima, três clientes compartilham um endereço IP, de modo que um colega do outro lado deve se conectar a esse endereço IP através da porta A para chegar ao primeiro cliente, ou na porta B para chegar ao segundo cliente, e assim por diante. No entanto, tenha em mente que, em alguns casos, dois usuários não serão capazes de se conectar uns aos outros, e pode ser necessário encontrar outro jogador para atuar como o host.

[IPv6] [3] está gradualmente ganhando adoção através da Internet com um vasto espaço de endereços. Isso permitirá que cada dispositivo conectado à Internet tenha um endereço IP exclusivo de novo, tornando o NAT desnecessário e permitindo conexões entre qualquer pessoa, independentemente de sua configuração de rede. Até que isso aconteça, os problemas de conectividade são uma conseqüência infeliz. O Google também publica [estatísticas sobre a adoção de IPv6] [11].

  • 0 Comments

Want to leave a comment? Login or Register an account!