Pular para o conteúdo principal
Para solucionar problemas do PlayFab Multiplayer Servers, você deve começar pelo LocalMultiplayerAgent; no entanto, há situações em que você pode precisar se conectar diretamente. Por exemplo:
  • Diferenças de ambiente: às vezes, o comportamento do servidor de jogo pode ser diferente entre o ambiente local e o serviço ao vivo.
  • Integridade do servidor: talvez você precise se conectar diretamente para investigar se o servidor está sinalizado como não íntegro.
  • Anexar diretamente um criador de perfil/depurador: pode ser mais simples criar o perfil do código por meio de uma conexão direta.
  • Análise de logs em tempo real: se você seguir as instruções em Arquivando e recuperando logs de servidores multijogador, obterá os logs quando um servidor for desligado. Para ver logs em tempo real, talvez você queira se conectar diretamente.
Para se conectar à VM que hospeda seu servidor de jogo (Windows ou Linux), você pode obter credenciais de Área de Trabalho Remota (RDP)/SSH usando o botão “Connect” no aplicativo Web playfab.com. Você pode ver esse botão na página “Virtual Machines” do seu build multijogador. Você também pode obter as credenciais com a chamada de API CreateRemoteUser. Assim que você se conectar à VM, poderá usar o console do sistema operacional para monitorar seus servidores de jogo. O serviço MPS usa contêineres do Docker para iniciar os processos do servidor de jogo. Para executar comandos da CLI do Docker, você precisa de um PowerShell de administrador no Windows e de sudo su - no Linux.
Estas são instruções avançadas de depuração de contêineres do Docker. Usar essas instruções pode danificar seus servidores de jogo. Não recomendamos usar esses comandos em contêineres que executam seus servidores de jogo de produção. Recomendamos fortemente que você não dependa de nenhum comportamento ou informação que observar durante a depuração dos contêineres. Somente APIs e comportamentos documentados publicamente têm suporte; outros aspectos podem mudar sem aviso prévio.

Instruções para Windows e Linux

Como posso começar a usar contêineres do Docker?

Independentemente de você estar desenvolvendo no Linux ou no Windows, você deve se familiarizar com os conceitos básicos dos contêineres do Docker. Você pode ver o guia “Get Started” do docker aqui (link externo). Para saber mais sobre contêineres do Windows, consulte Windows e contêineres.

Depois de me conectar à VM por RDP/SSH, como posso ver uma lista dos meus servidores de jogo em execução em contêineres do Docker?

Use docker ps. Você verá o nome e os hashes dos contêineres e o mapeamento de portas da(s) porta(s) da VM para a(s) porta(s) do contêiner do Docker.

Como posso ver as portas usadas pelos meus servidores de jogo?

Essas informações são listadas em docker ps:
  • 0.0.0.0:30000->3600/tcp indica que a porta 30000 da VM está mapeada para a porta 3600 do contêiner para TCP
  • 0.0.0.0:30001->3601/udp indica que a porta 30001 da VM está mapeada para a porta 3601 do contêiner para UDP
Para obter mais informações, consulte Rede do Docker.
No Windows e no Linux, os contêineres do Docker fazem parte da rede “playfab” do Docker. Use docker inspect network playfab para ver informações sobre a rede do PlayFab.

Como posso ver os detalhes de runtime de um contêiner?

Depois de executar docker ps para obter o nome do contêiner, você pode executar docker inspect <ContainerName>. Você verá muitas informações, como o estado do contêiner, a associação de volumes na VM host, as associações de portas, as variáveis de ambiente passadas ao contêiner e muito mais.

Como posso obter os logs do meu servidor de jogo?

Você pode usar o comando docker logs <nameOrHash>. Esses logs contêm tudo o que seu aplicativo envia para os fluxos de saída padrão/erro padrão. Lembre-se de que esses logs só estão presentes para contêineres existentes. Se o seu servidor de jogo falhar, nosso processo de monitoramento na VM excluirá o contêiner e criará um novo. É uma prática melhor usar o GSDK para registrar logs de dentro do servidor de jogo. Para saber mais, consulte Registro em log com o GSDK e Arquivando e recuperando logs de servidores multijogador para acessar os logs de servidores de jogo encerrados.

Posso me conectar “dentro” de um contêiner em execução para ver o que está acontecendo?

Você pode executar docker exec -it <nameOrHash> PowerShell no Windows e docker exec -it <nameOrHash> bash no Linux. Lá, você obtém acesso a um processo de linha de comando no contêiner, no qual pode emitir comandos nativos para depurar/diagnosticar problemas. Para que esse comando funcione no Linux, o shell Bash deve estar instalado no seu contêiner base. Se não estiver, você pode usar o shell Bourne executando docker exec -it <nameOrHash> sh.

Como posso ver as portas abertas no meu contêiner?

Depois de se conectar “dentro” do contêiner, você pode usar netstat -ano no Windows e netstat -tulpn no Linux quando tiver um processo de linha de comando dentro do contêiner (confira a instrução anterior). Se esse comando não funcionar no Linux, tente instalar o netstat com apt update && apt install net-tools. No Linux, você pode usar nestatst -tulpn dentro da VM para verificar se as portas estão realmente abertas. Lembre-se de que as portas da VM são diferentes das portas do contêiner; você pode ver esse mapeamento de portas com docker ps para seus contêineres.

Instruções específicas do Linux

Como posso ver os diagnósticos do meu contêiner?

Você pode instalar apt install procps e, em seguida, executar:
  • ps -aux para os processos em execução no momento (observe que o processo principal no contêiner tem o PID 1. Se esse processo for encerrado, seu contêiner deixará de existir)
  • top para informações de processos em tempo real

Como posso monitorar pacotes TCP e UDP?

  • Considere usar uma ferramenta como o utilitário TCPdump (link externo).
  • Execute apt update && apt install tcpdump para instalá-lo. Para usá-lo em uma porta específica, execute tcpdump port 7777 para TCP e tcpdump udp port 7778 para UDP.
Você pode usar o tcpdump tanto dentro da VM quanto dentro do contêiner. No entanto, verifique se está monitorando o valor de porta correto, pois há um mapeamento entre as portas da VM e as portas do contêiner.

Instruções específicas do Windows

Como posso determinar as DLLs necessárias que precisam estar no meu pacote de ativos?

Para obter instruções, consulte Determinando as DLLs necessárias. Este artigo também é útil se o seu servidor de jogo não iniciar devido a uma ou mais DLLs ausentes.

O LocalMultiplayerAgent está falhando e reiniciando meu contêiner do Docker sem mensagens de erro. Socorro!

Quando ocorre uma falha, você vê uma saída semelhante a Container [ContainerId] exited with exit code 1. Por exemplo:
Etapas de depuração
  • Verifique o PF_ConsoleLogs.txt em busca de alguma mensagem de erro útil
  • Verifique se o seu pacote de ativos .zip contém todas as DLLs necessárias para o seu jogo. Para obter instruções, consulte Determinando as DLLs necessárias.
  • Verifique o Log de Eventos do Windows para ver se há alguma informação útil sobre falhas do Docker

No LocalMultiplayerAgent, não estou recebendo nenhuma pulsação

Pode haver alguns contêineres remanescentes de tentativas anteriores. Você pode usar docker ps -a para ver todos os contêineres e docker rm -f <containerNameOrTag> para excluí-los.

No Windows, como posso monitorar pacotes TCP e UDP?

Considere usar uma ferramenta como o utilitário Wireshark (link externo).

Como posso depurar um servidor multijogador implantado usando o Visual Studio?

Para obter instruções, consulte Usando o Visual Studio para depurar servidores

Confira também

Última modificação em 8 de outubro de 2026