- Mise en correspondance
- Les tickets de backfill ne peuvent pas être mis en correspondance entre eux.
- Les tickets de backfill sont prioritaires lors de la recherche, ce qui réduit la fragmentation de la base de joueurs.
- Contrat
- Les tickets de backfill peuvent être créés avec un champ
ServerDetails. Cela permet au serveur d’indiquer comment les joueurs mis en correspondance doivent s’y connecter. - Les tickets de backfill peuvent être créés avec des affectations d’équipe. Cela permet aux jeux comportant des équipes de conserver leurs informations d’équipe.
- Les tickets de backfill peuvent être créés avec un champ
- Propriétés de la file d’attente
- Les tickets de backfill ne déclenchent pas l’allocation de Multiplayer Server.
- Les tickets de backfill ne sont pas pris en compte dans les statistiques de file d’attente, car leurs joueurs sont déjà en train de jouer et fausseraient le temps d’attente.
- Propriété
- Les tickets de backfill appartiennent à un serveur de jeu, et non à un utilisateur. Les utilisateurs ne peuvent ni consulter les tickets de backfill ni interagir avec eux de quelque façon que ce soit.
Prérequis
- Une connaissance de base du SDK PlayFab Multiplayer. Pour plus d’informations, consultez le Démarrage rapide du SDK Matchmaking.
- Définissez
PFMULTIPLAYER_INCLUDE_SERVER_APISavant d’inclure l’en-tête de matchmaking. Par exemple :
Configurer un ticket de backfill de serveur
Créez et renseignez une structure PFMatchmakingServerBackfillTicketConfiguration avec les détails nécessaires :-
timeoutInSeconds: durée, en secondes, pendant laquelle tenter de remplir le ticket. -
queueName: le nom d’une file d’attente de correspondance. -
memberCount: le nombre de membres actuellement dans la correspondance. -
members: les membres PFMatchmakingMatchMember actuellement dans la correspondance. -
serverDetails(facultatif) : renseignez PFMultiplayerServerDetails avec des informations sur votre serveur (FQDN, adresse IP, ports, région) qui sont fournies aux clients.
Le champ
PFMultiplayerServerDetails::ipv4Address n’est pas validé et peut être utilisé pour fournir des informations de chaîne de connexion arbitraires aux clients.Création d’un ticket de backfill de serveur
Pour créer un ticket de backfill de serveur avec PFMultiplayerCreateServerBackfillTicket, nous devons transmettre l’entité de notre serveur de jeu (sous forme de PFEntityKey) ainsi que la configuration de backfill créée à l’étape précédente.Vérifier l’état du ticket de matchmaking
Vous devez vérifier les mises à jour du ticket en appelant PFMultiplayerStartProcessingMatchmakingStateChanges pour recevoir les changements d’état, puis en appelant PFMultiplayerFinishProcessingMatchmakingStateChanges lorsque vous avez terminé de traiter ces changements d’état. Le SDK retourne un changement d’état TicketStatusChanged chaque fois que l’état du ticket change, et un changement d’état TicketCompleted lorsque le matchmaking est terminé.Obtenir la correspondance
Après avoir reçu le changement d’état PFMatchmakingStateChangeType::TicketCompleted, appelez PFMatchmakingTicketGetMatch pour obtenir les détails de la correspondance. Ces détails contiennent l’ID de la correspondance, les utilisateurs qui ont été mis en correspondance, la région préférée pour la correspondance et une chaîne d’arrangement pour le lobby associé à la correspondance. Une fois que vous avez récupéré les informations dont vous avez besoin dans la structure PFMatchmakingMatchDetails, le ticket doit être détruit avec PFMultiplayerDestroyMatchmakingTicket.Annulation d’un ticket
Si vous souhaitez annuler le processus de matchmaking avant l’expiration du délai défini dansPFMatchmakingServerBackfillTicketConfiguration, appelez PFMatchmakingTicketCancel avec le handle du ticket.
L’appel de cette API ne garantit pas l’annulation du ticket. Le ticket peut encore se terminer avant que l’annulation puisse être traitée, ou la demande d’annulation peut échouer en raison d’erreurs réseau ou de service. Vous pouvez toujours traiter les changements d’état du matchmaking pour obtenir le résultat du ticket si vous souhaitez confirmer que l’annulation du ticket est terminée avant de continuer. Sinon, vous pouvez appeler immédiatement PFMultiplayerDestroyMatchmakingTicket.
