Passer au contenu principal
Cette rubrique explique comment intégrer MPA aux services PlayFab Lobby et Match. Elle comprend des pratiques exemplaires et des conseils généraux applicables à d’autres services de salon et de matchmaking similaires.

Vue d’ensemble de la conception

Pour intégrer MPA à PlayFab Lobby et Match ou à des services similaires, un titre ou un service de titre doit interroger les informations pertinentes de l’état du salon, puis transférer ces informations vers le service MPA. Le service MPA n’est pas destiné à contenir des informations d’état de salon ou de session.

Activité

Pour une activité MPA, les informations sources doivent être les informations du salon sous-jacent. Un titre ou un service doit définir les informations pertinentes dans les champs de contenu de l’activité MPA en respectant les pratiques exemplaires suivantes :
  • Fréquence de mise à jour Le transfert d’état à partir des données du salon doit être effectué à une fréquence raisonnable pour refléter les modifications, comme les mises à jour des informations CurrentPlayers. Les appels de mise à jour ne doivent pas dépasser les limites d’appels décrites dans Limitation du débit granulaire. L’activité MPA ne doit pas non plus être supprimée puis recréée pour mettre à jour les informations.
  • Identité de l’utilisateur XBOX (XUID) Le XUID d’un joueur est généralement une information non validée dans les services extérieurs aux services XBOX, et il ne constitue pas l’identificateur principal des services entre réseaux. PlayFab Lobby utilise pour les joueurs un ID d’entité utilisateur PlayFab entre réseaux, qui peut être converti en XUID pour l’utilisateur actif au moyen d’appels d’API ou de service. Pour plus de détails, consultez le Tutoriel : Obtenir un profil de joueur de PlayFab. Seul ce XUID résolu doit être considéré comme sécurisé. Le XUID des autres joueurs ne peut pas être récupéré de cette manière. Pour y remédier, les XUID peuvent être fournis sous forme de propriétés de chaîne personnalisées d’un joueur dans le salon. Ces chaînes ne doivent pas être considérées comme sécurisées et doivent toujours être validées par le service PlayFab, à l’aide de PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult, en comparant l’ID d’entité utilisateur PlayFab attendu et réel pour un XUID. Une non-concordance indique un XUID incorrect. Pour tous les services, les XUID fournis sous forme de chaînes non sécurisées ne sont pas fiables et peuvent, faute de validation, donner lieu à des attaques par usurpation d’identité.
  • Chaîne de connexion Pour l’intégration au service PlayFab Lobby, la chaîne de connexion d’une activité MPA doit être définie sur la chaîne de connexion du salon, qui peut être récupérée au moyen de PFLobbyGetConnectionString. Les autres services doivent utiliser une chaîne d’accès équivalente.
  • Refléter la possibilité de rejoindre le salon Une activité est destinée à permettre aux joueurs de rejoindre des expériences de jeu, et elle doit correspondre à la possibilité de rejoindre l’état du salon sous-jacent. Une activité devient automatiquement impossible à rejoindre lorsqu’elle est complète (lorsque CurrentPlayers atteint la valeur MaxPlayers). Les titres qui souhaitent rendre une activité temporairement impossible à rejoindre peuvent également utiliser ce comportement. Une activité ne doit être supprimée que lorsqu’aucun accès futur n’est possible. Notez que la modification du paramètre de confidentialité de l’activité ne fait que restreindre l’accès, sans pouvoir bloquer tous les accès. En raison de la latence de l’accès aux activités, les titres doivent toujours prévoir les flux dans lesquels des joueurs tentent de rejoindre des sessions complètes ou impossibles à rejoindre, et fournir au joueur les messages d’erreur appropriés.
  • Refléter les modifications de confidentialité L’état et les modifications de la confidentialité de l’activité au moyen des restrictions d’accès (Join Restrictions) doivent refléter la stratégie d’accès définie pour le PlayFab Lobby sous-jacent. Il en va de même pour les services similaires, ce qui peut nécessiter un mappage des valeurs de confidentialité.

Invitations

Pour les invitations MPA, la source recommandée doit également être les informations du salon sous-jacent. Cette bonne pratique est plus fiable qu’une invitation à un maillage réseau comme PlayFab Party et permet de fournir immédiatement des informations d’état au moyen des données du salon. Pour l’intégration au service PlayFab Lobby, la chaîne de connexion d’une invitation MPA doit être définie sur la chaîne de connexion du salon. Cette chaîne peut être récupérée au moyen de PFLobbyGetConnectionString. En outre, la valeur appropriée d’accès multiplateforme doit être définie pour l’invitation.

Joueurs récents

L’utilisation de la fonctionnalité Joueurs récents de MPA n’est pas étroitement liée au salon sous-jacent et peut être pilotée par la logique du titre. Les appels relatifs aux joueurs récents ne doivent pas dépasser les limites d’appels décrites dans Limitation du débit granulaire. La bonne pratique consiste à regrouper l’activité des joueurs récents sur une période raisonnable afin de respecter les limites d’appels. Le signalement des joueurs récents par un titre n’a pas besoin d’être immédiat, et une soumission par lots est préférable.

Matchmaking

L’intégration de PlayFab Match ou de services de matchmaking similaires ne nécessite aucune fonctionnalité MPA directe. Les titres peuvent souhaiter mettre à jour la possibilité de rejoindre une activité MPA pendant le matchmaking si aucun accès n’est possible. La bonne pratique consiste à utiliser PlayFab Match conjointement avec PlayFab Lobby. Comme pour l’identité des utilisateurs du salon, PlayFab Match utilise pour les joueurs un ID d’entité utilisateur PlayFab entre réseaux, qui peut être converti en XUID pour l’utilisateur actif au moyen d’appels d’API ou de service. Le XUID des autres joueurs ne peut pas être récupéré de cette manière. Comme pour le salon, les XUID peuvent être fournis sous forme de propriétés de chaîne personnalisées d’un joueur dans le salon. Ces chaînes ne doivent pas être considérées comme sécurisées et doivent toujours être validées par le service PlayFab en comparant l’ID d’entité utilisateur PlayFab attendu et réel pour un XUID, comme indiqué ci-dessus pour PlayFab Lobby. Une non-concordance indique un XUID incorrect. Pour le matchmaking, les XUID fournis sous forme de chaînes non sécurisées ne sont pas fiables et peuvent, faute de validation, donner lieu à des attaques par usurpation d’identité.

Pratiques exemplaires générales

Le service MPA est conçu comme un point d’intégration léger des fonctionnalités XBOX au-dessus de services de salon ou de mise en relation, comme PlayFab Lobby et Match. Cette intégration peut rester légère et n’être effectuée qu’à des points de connexion spécifiques, afin de refléter les informations nécessaires et les mises à jour pertinentes dans les fonctionnalités d’activité, d’invitation et de joueurs récents. En outre, l’intégration du service MPA doit également tenir compte des points de terminaison de service à service. Selon l’architecture du jeu, du multijoueur et des serveurs, les appels directs de service à service peuvent être nettement plus simples et plus fiables que les appels clients. C’est souvent le cas pour les titres MMO. Comme pour les informations XUID stockées dans des chaînes personnalisées dans PlayFab Lobby et Match, toute autre information d’identité personnalisée doit toujours être considérée comme non sécurisée et validée avant utilisation. L’absence de validation peut donner lieu à des attaques par usurpation d’identité, en particulier lorsque le jeu inclut des plateformes offrant aux utilisateurs davantage d’accès et de protections.
Dernière modification le 8 octobre 2026