Passer au contenu principal

Introduction

Ce document s’adresse aux développeurs de jeux qui utilisent actuellement MPSD et souhaitent passer à PlayFab Multiplayer et MPA pour leurs jeux multijoueurs. Il couvre les scénarios multijoueurs les plus courants et fournit des extraits de code montrant comment utiliser PlayFab Multiplayer avec MPA.

Vue d’ensemble de Multiplayer Session Directory (MPSD)

  • Service de session complet permettant de partager les informations nécessaires pour connecter un groupe d’utilisateurs
  • Intégré à l’interface utilisateur XBOX pour les fonctionnalités d’invitation et de jonction
  • Entièrement intégré au matchmaking SmartMatch
  • Les sessions sont dérivées de modèles de session prédéfinis
  • Fonctionnalités intégrées de détection de la connectivité et de gestion du flux de session
  • Disponible en service à service

Vue d’ensemble du service Multiplayer Activity (MPA)

  • Service léger qui simplifie l’intégration XBOX Live pour les activités des joueurs, les invitations et les joueurs récents
  • Se coordonne avec le shell et le système d’exploitation de la console pour l’envoi et l’acceptation d’invitations et les jonctions
  • Aucune gestion de session ni aucun matchmaking
  • Disponible en service à service

Vue d’ensemble de PlayFab Multiplayer

  • Service complet de lobby multijoueur incluant des fonctionnalités de recherche et de parcours des lobbies
  • Notifications de service multiplateformes en temps réel avec une intégration d’API transparente
  • Service de matchmaking complet prenant en charge les notifications en temps réel

Initialisation

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour l’initialisation.

Initialisation - Exemple de code

Initialisez la bibliothèque avec votre titleID PlayFab et définissez le jeton d’entité reçu lors de la connexion au service PlayFab.

Modifications de l’état du lobby

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour gérer les événements liés aux sessions et aux lobbies.

Modifications de l’état du lobby - Exemple de code

Indiquez à la bibliothèque que vous commencez à traiter les modifications d’état. Traitez chaque modification d’état en file d’attente, puis indiquez que vous avez terminé de traiter les modifications d’état.

Créer un lobby

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour créer et rejoindre une session ou un lobby.
Aucune installation ni configuration supplémentaire dans PlayFab Game Manager n’est nécessaire pour créer un lobby. Toute la configuration peut être effectuée dans le code.

Créer un lobby - Exemple de code

Configurez le lobby et définissez les éventuelles propriétés initiales du lobby ou des membres, puis créez et rejoignez le lobby.

Rechercher des lobbies

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour rechercher des sessions ou des lobbies.

Rechercher des lobbies - Exemple de code

Définissez la configuration de recherche, puis recherchez des lobbies.
Ensuite, une fois la modification d’état de l’événement renvoyée, traitez les résultats de la recherche.

Clés de recherche de lobby

Seul un ensemble restreint de clés peut être utilisé pour définir des propriétés de recherche personnalisées.
  • Pour les propriétés de type chaîne, les clés suivantes sont prises en charge : string_key1, string_key2, […] string_key30
  • Pour les propriétés numériques, les clés suivantes sont prises en charge : number_key1, number_key2, […] number_key30

Opérateurs de recherche de lobby

Les chaînes de requête des API FindLobbies sont structurées selon une syntaxe de type OData. La taille maximale de la chaîne de filtre est de 600 caractères. Ces opérateurs OData peuvent être utilisés pour composer des chaînes de requête. Les opérateurs sont sensibles à la casse.
Lorsque vous comparez des propriétés de type chaîne, veillez à placer la valeur comparée entre apostrophes. Par exemple, “string_key1 eq ‘SOME STRING VALUE’”. Les propriétés numériques n’ont pas besoin d’être entourées d’apostrophes.
Des opérateurs prédéfinis sont également disponibles. Ils doivent être précédés de “lobby/” lorsqu’ils sont spécifiés.

Tri des résultats de recherche

Chaîne de style OData qui contient le tri de cette requête dans l’ordre croissant (“asc”) ou décroissant (“desc”). Les clauses OrderBy peuvent être utilisées pour toutes les clés de recherche numériques ou les clés de recherche prédéfinies numériques. Pour trier selon la proximité avec un nombre, le moniker distance peut être utilisé afin de trier selon la distance par rapport à la clé de recherche numérique donnée. Vous ne pouvez pas utiliser l’ordre croissant ou décroissant avec le tri par distance. Ce champ ne prend en charge qu’une seule clause de tri ou une seule clause de distance. Si aucun tri n’est fourni ou si un départage est nécessaire pour le tri donné, le tri par défaut est décroissant selon l’heure de création.

Tri et filtrage des résultats de recherche - Exemple de code

Rejoindre un lobby

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour rejoindre des sessions ou des lobbies.
Rejoindre un lobby nécessite une chaîne de connexion. En général, l’hôte du lobby définit cette chaîne de connexion dans son activité ou l’envoie via une invitation. Pour obtenir la chaîne de connexion, vous devez appeler PFLobbyGetConnectionString.

Rejoindre un lobby - Exemple de code

Définissez la configuration de jonction initiale, puis rejoignez le lobby.

Mettre à jour un lobby

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour mettre à jour une session ou un lobby.
PFLobbyPostUpdate peut être utilisé pour mettre à jour à la fois les propriétés du lobby et les propriétés des membres. Vous pouvez mettre à jour l’un de ces types de propriétés, ou les deux, en un seul appel à la fonction.

Mettre à jour un lobby - Exemple de code (propriétés du lobby)

Mettre à jour un lobby - Exemple de code (propriétés des membres)

Matchmaking

Les API de matchmaking de PlayFab Multiplayer sont relativement similaires à celles de MPSD.
Les files d’attente de matchmaking doivent être configurées via PlayFab Game Manager.

Modifications de l’état du matchmaking

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour gérer les événements liés au matchmaking.

Modifications de l’état du matchmaking - Exemple de code

Indiquez à la bibliothèque que vous commencez à traiter les modifications d’état. Traitez chaque modification d’état en file d’attente, puis indiquez que vous avez terminé de traiter les modifications d’état.

Démarrer le matchmaking

Démarrer le matchmaking - Exemple de code

Le matchmaking ne démarre pas tant que tous les membres spécifiés dans le champ membersToMatchWith n’ont pas rejoint.
Ensuite, une fois qu’un match a été trouvé et que la modification d’état est renvoyée, rejoignez le lobby organisé.

Nettoyage

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et PlayFab Multiplayer pour le nettoyage et l’arrêt.
Veillez à quitter tous les lobbies actifs et à détruire tous les tickets de matchmaking en cours avant d’appeler PFMultiplayerUninitialize.

Nettoyage - Exemple de code

Activités

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et MPA pour gérer les activités.
Lorsque vous définissez une activité ou envoyez une invitation, veillez à utiliser la chaîne de connexion renvoyée par PFLobbyGetConnectionString.

Activités - Exemple de code

Invitations

Le tableau suivant répertorie les fonctions comparables utilisées par MPSD et MPA pour envoyer et recevoir des invitations.

Invitations - Exemple de code (interface utilisateur du titre)

Invitations - Exemple de code (interface utilisateur XBOX)

XGameUiShowMultiplayerActivityGameInviteResult utilise l’activité actuellement définie. Vous devez définir une activité à l’aide de XblMultiplayerActivitySetActivityAsync avant d’utiliser cette fonction.

Joueurs récents

Le tableau suivant montre comment la liste des joueurs récents est gérée avec MPSD et MPA.
Pour éviter la limitation, il est recommandé de regrouper les appels à XblMultiplayerActivityUpdateRecentPlayers.

Joueurs récents - Exemple de code

Dernière modification le 8 octobre 2026