Passer au contenu principal

Allocation de sessions multijoueurs

Avec PlayFab Multiplayer Servers 2.0, vous pouvez allouer des instances de votre application de serveur multijoueur à l’aide de l’API RequestMultiplayerServer. En général, cette API est appelée depuis vos propres services (par exemple, un service de matchmaking ou de lobby), à l’aide d’une clé secrète de développeur PlayFab configurée pour le titre concerné. Pour plus d’informations sur les clés secrètes, consultez Gestion des clés secrètes. Modèle typique pour réunir les joueurs et allouer des serveurs :
  1. Les clients collectent des informations de QoS réseau.
  2. Les clients interagissent avec un service de matchmaking personnalisé ou se regroupent au moyen d’invitations sociales.
  3. Un service de matchmaking personnalisé alloue une session au groupe, à l’aide d’une liste de régions classées par priorité.
RequestMultiplayerServer comporte plusieurs paramètres clés :
  • BuildID : la build de serveur spécifique à allouer.
  • SessionID : un identificateur de la session. Il s’agit d’une chaîne GUID générée par l’appelant. Les nouvelles tentatives d’appel de cette API pour la même session logique doivent réutiliser le même identificateur. Cela limite le risque que le comportement de nouvelle tentative de l’appelant crée des serveurs inutiles.
  • SessionCookie : données arbitraires communiquées au moyen du SDK du serveur de jeu à la session allouée lors de son activation. Ce champ est généralement utilisé pour communiquer une clé partagée que les serveurs de jeu utilisent pour authentifier les clients. Les données doivent faire moins de 4 kilo-octets.
  • PreferredRegions : une liste ordonnée de régions utilisée pour allouer les serveurs. Nous recommandons d’utiliser les mesures de QoS réseau collectées sur les appareils clients comme principal critère de classement des régions.
Une allocation réussie retourne les informations suivantes :
Vous pouvez utiliser MpsAllocatorSample (disponible ici) pour allouer facilement des serveurs de jeu pendant le développement de votre jeu

Allocation par le client

Les serveurs multijoueurs sont coûteux et puissants. Par défaut, vous ne pouvez demander un serveur multijoueur qu’à partir de votre propre service de confiance, à l’aide d’une clé secrète de développeur PlayFab. Toutefois, l’allocation de serveurs directement depuis les appareils des joueurs peut vous éviter de devoir implémenter des appels de service à service et s’avérer utile dans certaines circonstances. Pour activer l’allocation par le client :
  • Sélectionnez Settings dans le menu de gauche.
  • Sélectionnez l’onglet API Features.
  • Activez ensuite l’option Allow Client to start games.
Game Manager - Settings - API Features - Allow Client to start games Lorsque ce paramètre est activé, vous pouvez appeler RequestMultiplayerServer à l’aide du jeton d’entité de n’importe quel joueur associé au titre.

Débogage d’un serveur multijoueur déployé

Vous pouvez avoir besoin de déboguer à distance un serveur de jeu pendant qu’il est déployé dans Azure. Avec Visual Studio, cela nécessite actuellement d’installer et de configurer les outils de débogage à distance de Visual Studio dans le conteneur.
La procédure suivante active un débogage non sécurisé et non authentifié.
La procédure suivante ne doit être appliquée qu’aux builds de serveur destinées au développement et aux tests, et doit généralement être évitée dans un environnement accessible aux joueurs.
  1. Obtenez les outils de débogage à distance de VS2017 :
  1. Incluez ces outils dans votre package d’actifs de serveur de jeu.
  2. Lors de la création de votre build de serveur dans Game Manager ou avec l’API Entity, configurez le port TCP 4022 comme port de débogage.
  3. Vous devez exécuter msvsmon dans le conteneur pour activer le débogage à distance. Une approche courante consiste à spécifier un script CMD comme commande de démarrage du jeu et à utiliser un argument de ligne de commande pour lancer msvsmon en plus de l’exécutable de votre serveur de jeu.
  4. Exécutez msvsmon une fois avec :
  1. Exécutez msvsmon avec les indicateurs (illustrés ci-dessous).
Nous recommandons d’indiquer explicitement le port afin que votre programme puisse gérer le code de sortie du processus si le port est déjà utilisé, plutôt que de se lier à un port aléatoire qui n’est pas ouvert.
  1. Allouez votre serveur de jeu.
  2. Tentez de déboguer au moyen de VS, à l’aide du port de débogage externe retourné par l’appel d’allocation.
Dernière modification le 8 octobre 2026