Passer au contenu principal
Pour résoudre les problèmes de PlayFab Multiplayer Servers, commencez par LocalMultiplayerAgent. Toutefois, dans certaines situations, vous pouvez avoir besoin de vous connecter directement. Par exemple :
  • Différences d’environnement : le comportement du serveur de jeu peut parfois différer entre l’environnement local et le service en production.
  • Intégrité du serveur : vous pouvez avoir besoin de vous connecter directement pour examiner un serveur signalé comme défectueux.
  • Attachement direct d’un profileur ou d’un débogueur : il peut être plus simple de profiler le code via une connexion directe.
  • Analyse des journaux en temps réel : si vous suivez les instructions de Archivage et récupération des journaux de serveur multijoueur, vous obtenez les journaux à l’arrêt d’un serveur. Pour consulter les journaux en temps réel, vous pouvez souhaiter vous connecter directement.
Pour vous connecter à la machine virtuelle qui héberge votre serveur de jeu (Windows ou Linux), vous pouvez obtenir des informations d’identification Bureau à distance (RDP)/SSH à l’aide du bouton “Connect” de l’application web playfab.com. Ce bouton se trouve sur la page “Virtual Machines” de votre build multijoueur. Vous pouvez également obtenir les informations d’identification à l’aide de l’appel d’API CreateRemoteUser. Dès que vous êtes connecté à la machine virtuelle, vous pouvez utiliser la console du système d’exploitation pour surveiller vos serveurs de jeu. Le service MPS utilise des conteneurs Docker pour démarrer les processus des serveurs de jeu. Pour exécuter des commandes de l’interface CLI Docker, vous avez besoin d’une session PowerShell d’administrateur sous Windows et de sudo su - sous Linux.
Il s’agit d’instructions avancées de débogage des conteneurs Docker. Leur utilisation peut endommager vos serveurs de jeu. Nous déconseillons d’utiliser ces commandes sur des conteneurs exécutant vos serveurs de jeu de production. Nous vous recommandons vivement de ne pas dépendre du comportement ou des informations que vous observez lors du débogage des conteneurs. Seuls les API et comportements documentés publiquement sont pris en charge ; tout le reste peut changer sans préavis.

Instructions pour Windows et Linux

Comment débuter avec les conteneurs Docker ?

Que vous développiez sous Linux ou sous Windows, vous devez vous familiariser avec les principes de base des conteneurs Docker. Vous pouvez consulter le guide “Get Started” de Docker ici (lien externe). Pour en savoir plus sur les conteneurs Windows, consultez Windows et les conteneurs.

Une fois connecté à la machine virtuelle en RDP/SSH, comment afficher la liste de mes serveurs de jeu en cours d’exécution dans des conteneurs Docker ?

Utilisez docker ps. Vous voyez le nom et le hachage des conteneurs, ainsi que le mappage des ports de la machine virtuelle vers les ports des conteneurs Docker.

Comment afficher les ports utilisés par mes serveurs de jeu ?

Ces informations sont répertoriées par docker ps :
  • 0.0.0.0:30000->3600/tcp indique que le port 30000 de la machine virtuelle est mappé au port 3600 du conteneur pour TCP
  • 0.0.0.0:30001->3601/udp indique que le port 30001 de la machine virtuelle est mappé au port 3601 du conteneur pour UDP
Pour plus d’informations, consultez Mise en réseau Docker.
Sous Windows comme sous Linux, les conteneurs Docker font partie du réseau Docker “playfab”. Utilisez docker inspect network playfab pour afficher des informations sur le réseau PlayFab.

Comment afficher les détails d’exécution d’un conteneur ?

Après avoir exécuté docker ps pour obtenir le nom du conteneur, vous pouvez exécuter docker inspect <ContainerName>. Vous obtenez de nombreuses informations, telles que l’état du conteneur, la liaison des volumes sur la machine virtuelle hôte, les liaisons de ports, les variables d’environnement transmises au conteneur, etc.

Comment obtenir les journaux de mon serveur de jeu ?

Vous pouvez utiliser la commande docker logs <nameOrHash>. Ces journaux contiennent tout ce que votre application envoie aux flux de sortie standard et d’erreur standard. N’oubliez pas que ces journaux ne sont disponibles que pour les conteneurs existants. Si votre serveur de jeu plante, notre processus de supervision sur la machine virtuelle supprime le conteneur et en crée un nouveau. Il est préférable d’utiliser le GSDK pour journaliser depuis votre serveur de jeu. Pour en savoir plus, consultez Journalisation avec le GSDK et Archivage et récupération des journaux de serveur multijoueur pour accéder aux journaux des serveurs de jeu arrêtés.

Puis-je me connecter « à l’intérieur » d’un conteneur en cours d’exécution pour voir ce qui se passe ?

Vous pouvez exécuter docker exec -it <nameOrHash> PowerShell sous Windows et docker exec -it <nameOrHash> bash sous Linux. Vous accédez alors à un processus de ligne de commande dans le conteneur, à partir duquel vous pouvez exécuter des commandes natives pour déboguer ou diagnostiquer des problèmes. Pour que cette commande fonctionne sous Linux, le shell Bash doit être installé dans votre conteneur de base. Si ce n’est pas le cas, vous pouvez utiliser le shell Bourne en exécutant docker exec -it <nameOrHash> sh.

Comment afficher les ports ouverts sur mon conteneur ?

Une fois connecté « à l’intérieur » du conteneur, vous pouvez utiliser netstat -ano sous Windows et netstat -tulpn sous Linux lorsque vous disposez d’un processus de ligne de commande dans votre conteneur (voir l’instruction précédente). Si cette commande ne fonctionne pas sous Linux, essayez d’installer netstat avec apt update && apt install net-tools. Sous Linux, vous pouvez utiliser nestatst -tulpn dans la machine virtuelle pour vérifier que les ports sont bien ouverts. Rappelez-vous que les ports de la machine virtuelle sont différents des ports des conteneurs ; vous pouvez voir ce mappage de ports avec docker ps pour vos conteneurs.

Instructions propres à Linux

Comment afficher des diagnostics sur mon conteneur ?

Vous pouvez installer apt install procps, puis exécuter :
  • ps -aux pour les processus en cours d’exécution (notez que le processus principal de votre conteneur a le PID 1. Si ce processus s’arrête, votre conteneur disparaît)
  • top pour obtenir des informations sur les processus en temps réel

Comment surveiller les paquets TCP et UDP ?

  • Envisagez d’utiliser un outil tel que l’utilitaire TCPdump (lien externe).
  • Exécutez apt update && apt install tcpdump pour l’installer. Pour l’utiliser sur un port spécifique, exécutez tcpdump port 7777 pour TCP et tcpdump udp port 7778 pour UDP.
Vous pouvez utiliser tcpdump à la fois depuis la machine virtuelle et depuis le conteneur. Veillez toutefois à surveiller la bonne valeur de port, car il existe un mappage entre les ports de la machine virtuelle et ceux du conteneur.

Instructions propres à Windows

Comment déterminer les DLL requises qui doivent figurer dans mon package de ressources ?

Pour obtenir des instructions, consultez Déterminer les DLL requises. Cet article est également utile si votre serveur de jeu ne démarre pas en raison d’une ou de plusieurs DLL manquantes.

LocalMultiplayerAgent plante et redémarre mon conteneur Docker sans message d’erreur. Que faire ?

Lorsqu’un plantage se produit, une sortie semblable à Container [ContainerId] exited with exit code 1 s’affiche. Par exemple :
Étapes de débogage
  • Recherchez un message d’erreur utile dans PF_ConsoleLogs.txt
  • Vérifiez que votre package de ressources .zip contient toutes les DLL requises pour votre jeu. Pour obtenir des instructions, consultez Déterminer les DLL requises.
  • Consultez le journal des événements Windows pour y rechercher des informations utiles sur les échecs de Docker

Sur LocalMultiplayerAgent, je ne reçois aucune pulsation

Il peut rester des conteneurs issus de tentatives précédentes. Vous pouvez utiliser docker ps -a pour afficher tous les conteneurs et docker rm -f <containerNameOrTag> pour les supprimer.

Sous Windows, comment surveiller les paquets TCP et UDP ?

Envisagez d’utiliser un outil tel que l’utilitaire Wireshark (lien externe).

Comment déboguer un serveur multijoueur déployé à l’aide de Visual Studio ?

Pour obtenir des instructions, consultez Utilisation de Visual Studio pour déboguer des serveurs

Voir aussi

Dernière modification le 8 octobre 2026