Regras de portas
- As portas do PC permitem todo o tráfego de saída do TCP (Transmission Control Protocol) e do UDP (User Datagram Protocol), bloqueando pacotes TCP e UDP de entrada não solicitados, quando os usuários usam o firewall padrão interno do Windows.
- A porta multijogador UDP local preferencial se comporta da mesma forma que as outras portas, mas permite pacotes UDP de entrada não solicitados. O TCP não pode ser usado.
- Os fluxos de saída sempre funcionarão e você não precisa declarar nenhum atributo para isso. Quando os usuários enviam o primeiro pacote ao servidor/dispositivo remoto, os pacotes de entrada subsequentes desse dispositivo serão entregues de qualquer forma.
- Para conexões ponto a ponto em títulos do Microsoft Game Development Kit (GDK), você deve usar UDP na porta multijogador preferencial. Além disso, você deve executar o hole punching de firewall e NAT. Pacotes TCP de entrada não solicitados são bloqueados, a menos que o usuário crie uma exceção para o jogo. Pacotes UDP de entrada não solicitados também são bloqueados por padrão e exigem exceções do usuário ou alguma forma de hole punching de firewall para desbloquear fluxos UDP ponto a ponto.
- As exceções para o título podem ser adicionadas pelo usuário por meio das configurações do firewall ou quando você declara atributos específicos durante o processo de empacotamento. Tanto as configurações de firewall dos usuários quanto os atributos do pacote do jogo determinam o comportamento real dos pacotes de entrada não solicitados.
- É importante observar que os usuários de PC podem usar firewalls de terceiros. Essas configurações afetarão o comportamento geral das portas. Mais detalhes abaixo.
Gerenciamento do tráfego de entrada não solicitado
Os títulos de PC criados usando o GDK são publicados como pacotes MSIXVC. Quando os títulos são lançados como pacotes MSIXVC, você tem a opção de declarar como o tráfego de entrada não solicitado é tratado declarando atributos como privateNetworkClientServer ou internetClientServer no arquivo MicrosoftGame.config. Importante: devido aos firewalls e às configurações dos usuários, esses atributos podem não ter nenhum efeito real. Para saber mais, confira O firewall e como ele afeta o tráfego. A tabela abaixo lista como os atributos afetam o acesso do tráfego de entrada não solicitado e a experiência esperada do cliente.Como editar o MicrosoftGame.config para títulos do GDK
- Acesse o código-fonte do seu título.
- Abra MicrosoftGame.config.
- Adicione o snippet de código abaixo e salve o arquivo.
O firewall e como ele afeta o tráfego
O firewall e as configurações dos usuários afetam os recursos de rede do seu jogo. Esta seção descreve como os firewalls afetam o tráfego de títulos do GDK, o que ajudará você a aprimorar o design de rede. Para proporcionar uma melhor compreensão deste tópico, o acesso às portas afetado pelo firewall para jogos Win32 também está incluído como referência. Em geral, você precisa estar preparado para que os atributos privateNetworkClientServer e internetClientServer não tenham efeito para usuários com firewalls de terceiros. Espera-se que isso corresponda a 30-40% do total de usuários.Jogos executáveis do GDK
Usuários com o firewall padrão do Windows 10- Os atributos privateNetworkClientServer e internetClientServer funcionam conforme descrito anteriormente
- Os fluxos baseados em saída sempre funcionarão, com ou sem os atributos privateNetworkClientServer e internetClientServer definidos. Desde que os usuários enviem o primeiro pacote ao servidor/dispositivo remoto, os pacotes de entrada subsequentes desse dispositivo serão entregues.
- Os atributos privateNetworkClientServer e internetClientServer não têm efeito. Esses usuários descartarão pacotes de entrada não solicitados silenciosamente. Observação: isso acontece independentemente de você ter declarado ou não os recursos de acesso no MicrosoftGame.config durante o empacotamento.
- Todas as portas, incluindo a porta multijogador UDP local preferencial, estão sujeitas às políticas especificadas por esses firewalls.
- Os fluxos baseados em saída normalmente funcionarão. Cabe ao usuário criar as exceções adequadas para o acesso à rede do seu título nas configurações do firewall de terceiros.
Jogos executáveis Win32
Observação: esta seção foi adicionada para comparação. Os títulos do GDK não são títulos Win32. Recomendamos que os títulos de PC usem o GDK para o desenvolvimento. Usuários com o firewall padrão do Windows- Na primeira inicialização, uma notificação é exibida para permitir que o usuário negue ou permita o acesso de rede do aplicativo ao servidor de jogo.
- Os fluxos baseados em saída sempre funcionarão, porém sem notificações na interface do usuário.
