- La mesure de la latence et de la bande passante entre consoles XBOX One (ou version ultérieure) ou entre consoles et serveurs
- L’évaluation des mesures obtenues pour déterminer si la connexion réseau entre les nœuds est bonne

Initialisation gérée
Le Multiplayer Session Directory (MPSD) prend en charge une fonctionnalité appelée initialisation gérée, grâce à laquelle il coordonne le processus d’initialisation de la session cible entre les clients impliqués dans une session. Le MPSD suit automatiquement les étapes d’initialisation et les délais d’expiration associés de la session. Le MPSD évalue également la connectivité entre les clients, si nécessaire. L’initialisation gérée est représentée par l’énumération XblMultiplayerInitializationStage.Nous vous recommandons vivement d’utiliser le matchmaking SmartMatch dans votre titre afin de tirer parti de la fonctionnalité d’initialisation gérée par le MPSD.
Épisodes et étapes de l’initialisation gérée
Une session cible fait l’objet d’une initialisation gérée chaque fois que le matchmaking ajoute de nouveaux joueurs à la session. SmartMatch ajoute les membres de session avec l’état utilisateur Reserved, ce qui signifie que chaque membre occupe une place mais n’a pas encore rejoint la session. Chaque groupe de nouveaux joueurs déclenche un nouvel épisode d’initialisation. Une fois l’initialisation terminée, chaque joueur réussit ou échoue le processus. Un joueur dont l’initialisation réussit peut jouer à l’aide de la session cible. Un joueur dont l’initialisation échoue doit être soumis de nouveau au matchmaking pour être mis en relation dans une autre session. Lorsqu’une session est soumise au matchmaking avec le paramètrepreserveSession défini sur Always, les membres préexistants de la session ne font pas l’objet d’une initialisation, car le MPSD suppose qu’ils sont correctement configurés.
Chaque épisode d’initialisation gérée comprend les étapes suivantes.
- Jonction : les membres de la session s’inscrivent dans la session pour faire passer leur état utilisateur de
ReservedàActive. Ils peuvent charger des données de base, comme une adresse d’appareil sécurisée. - Mesure : pour les topologies basées sur des pairs, les membres de la session mesurent la QoS entre eux, puis chargent les résultats dans la session.
- Évaluation : le MPSD évalue les résultats des deux dernières étapes, puis détermine si la session ou les membres ont été initialisés avec succès.
Configuration de la session cible pour l’initialisation
Le titre peut configurer le processus d’initialisation gérée à l’aide de constantes dans la session cible en cours d’initialisation. Ces constantes sont définies sous /constants/system dans le modèle de session de version 107. Nous recommandons cette version de modèle. Vous pouvez définir les deux types de paramètres de configuration suivants.- Les paramètres qui configurent le processus d’initialisation gérée dans son ensemble
- Les paramètres qui configurent les exigences de QoS
Si les exigences de QoS ne sont pas définies dans la configuration d’initialisation de la session cible, l’étape de mesure de l’initialisation est ignorée.
Configuration de l’initialisation gérée dans son ensemble
Pour contrôler l’initialisation gérée dans son ensemble, définissez les champs suivants. Les champs à définir pour contrôler l’initialisation gérée font partie de l’objet/constants/system/memberInitialization.
-
joinTimeout: spécifie la durée pendant laquelle le MPSD attend que chaque membre rejoigne la session, après le début de l’épisode d’initialisation. La valeur par défaut est de 10 secondes. -
measurementTimeout: spécifie la durée pendant laquelle le MPSD attend que chaque membre charge les résultats de mesure QoS, après le début de l’étape de mesure. La valeur par défaut est de 30 000 secondes. -
membersNeededToStart: spécifie le nombre de membres dont l’initialisation doit réussir pour que le premier épisode d’initialisation réussisse. La valeur par défaut est 1.
Si ce seuil n’est pas atteint, l’initialisation échoue pour tous les membres.
Configuration des exigences de QoS
La QoS n’est nécessaire pendant l’initialisation que si le titre utilise une topologie pair à pair ou pair à hôte. Chaque topologie correspond à une constante propre à la topologie sous /constants/system/.Configuration des exigences de QoS pour une topologie pair à pair
Il est rare que des titres définissent des exigences de QoS pour une topologie pair à pair. Ces paramètres sont très restrictifs et posent des problèmes aux joueurs dont la traduction d’adresses réseau (NAT) est stricte.
peerToPeerRequirements.
Chaque client doit pouvoir se connecter à tous les autres clients.
L’objet peerToPeerRequirements comporte les champs pertinents suivants.
-
latencyMaximum: spécifie la latence maximale entre deux clients quelconques -
bandwidthMinimum: spécifie la bande passante minimale entre deux clients quelconques
Configuration des exigences de QoS pour une topologie pair à hôte
Vous pouvez définir les exigences de QoS d’une topologie pair à hôte dans l’objetpeerToHostRequirements.
Chaque client doit pouvoir se connecter à un hôte commun unique.
Si cet objet est configuré et que l’initialisation réussit, le MPSD crée une liste initiale de clients pouvant servir d’hôtes, appelés candidats hôtes.
Définissez les champs suivants.
-
latencyMaximum: spécifie la latence maximale entre chaque pair et l’hôte -
bandwidthDownMinimum: spécifie la bande passante descendante minimale entre chaque pair et l’hôte -
bandwidthUpMinimum: spécifie la bande passante montante minimale entre chaque pair et l’hôte -
hostSelectionMetric: spécifie la métrique utilisée pour sélectionner l’hôte
