> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Utilisation des tickets de backfill de serveur - API REST

> Créez et gérez des tickets de backfill PlayFab Matchmaking au moyen de l'API REST pour ajouter des joueurs à des correspondances déjà en cours et maintenir les serveurs de jeu complets.

<Note>
  Nous vous recommandons vivement d'envisager l'utilisation des SDK Multiplayer, car ils incluent la prise en charge des messages en temps réel, ce qui réduit le besoin d'interrogation, améliore l'expérience de matchmaking et réduit les délais. [Utilisation des tickets de backfill de serveur - SDK Multiplayer](/fr-CA/services/playfab/multiplayer/matchmaking/backfill-tickets-multiplayer-sdk)
</Note>

Les jeux hébergés sur un serveur doivent parfois rechercher des joueurs
supplémentaires. Cela se produit le plus souvent lorsqu'un ou plusieurs joueurs se déconnectent
pendant la partie. Les tickets de backfill de serveur permettent à un serveur de jeu de rechercher
des joueurs supplémentaires qui s'intègrent dans la partie en cours.

Les tickets de backfill de serveur diffèrent des tickets de matchmaking ordinaires de plusieurs façons :

1. 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. Cela réduit
     la fragmentation de la base de joueurs.
2. 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.
3. Propriétés de la file d'attente
   * Les tickets de backfill ne déclenchent pas l'[allocation de Multiplayer Server](/fr-CA/services/playfab/multiplayer/matchmaking/multiplayer-servers).
   * Les tickets de backfill ne sont pas pris en compte dans les [statistiques de file d'attente](/fr-CA/services/playfab/multiplayer/matchmaking/display-statistics), car leurs joueurs
     sont déjà en train de jouer et fausseraient le temps d'attente.
4. 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.

## Création d'un ticket de backfill de serveur

Le processus de backfill commence de la même façon que la création d'un ticket de matchmaking ordinaire,
mais avec l'appel
[CreateServerBackfillTicket](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/matchmaking/create-server-backfill-ticket)
au lieu d'un appel
[CreateServerMatchmakingTicket](xref:titleid.playfabapi.com.multiplayer.matchmaking.createservermatchmakingticket).
Le serveur de jeu doit fournir toutes les informations sur les membres de la partie qu'il
héberge actuellement. Le moyen le plus efficace consiste à stocker les attributs
retournés dans le résultat de correspondance précédent. Ces attributs peuvent être récupérés en
appelant
[GetMatch](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch)
avec l'indicateur `ReturnMemberAttributes`. Le serveur de jeu peut également interroger
les utilisateurs pour obtenir les informations d'attributs.

En plus des membres, le serveur de jeu peut spécifier deux informations
supplémentaires.

### ServerDetails

Cette structure est identique à celle retournée par un appel
[GetMatch](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch)
et permet au serveur de spécifier toutes les informations nécessaires pour s'y connecter. Lorsque
le ticket de backfill est mis en correspondance, sa structure
[ServerDetails](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch#serverdetails)
est retournée à tous les joueurs qui appellent
[GetMatch](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch) sur la
correspondance résultante. Tous les champs de cette structure sont facultatifs. Les titres n'ont parfois besoin
que d'un sous-ensemble de ces champs pour fournir suffisamment d'informations aux clients afin qu'ils
se connectent au serveur de jeu.

<Note>
  Le champ `IPV4Address` n'est pas validé et peut être utilisé pour fournir des informations de chaîne de connexion arbitraires aux clients.
</Note>

```json theme={null}
{
  "ServerDetails": {
    "IPV4Address": "123.234.123.234",
    "Ports": [
      {
        "Port": {
          "Name": "portname",
          "Num": 12345,
          "Protocol": "UDP"
        }
      }
    ],
    "Region": "EastUS"
  }
}
```

### Affectations d'équipe

Si le ticket de backfill est soumis à une file d'attente avec des équipes, chaque membre peut également
être spécifié avec un TeamId, indiquant l'équipe dans laquelle il se trouve actuellement. Cette
appartenance est conservée lorsqu'une correspondance est retournée. Si aucun TeamId n'est
spécifié pour un utilisateur, celui-ci peut être placé dans n'importe quelle équipe.

```json theme={null}
{
  "Members": [
    {
      "TeamId": "red",
      "Entity": {
        "Id": "6570DE3537DC9DF6",
        "Type": "title_player_account",
        "TypeString": "title_player_account"
      },
      "Attributes": {
        "DataObject": {
          "Skill": 25
        }
      }
    }
  ]
}
```

## Interaction avec un ticket de backfill

Une fois créé, un ticket de backfill commence à rechercher des tickets de matchmaking ordinaires
qui répondent aux critères des règles. Le flux des tickets de backfill est identique au fonctionnement
des tickets de matchmaking ordinaires, mais avec des API analogues. Le serveur de jeu
peut vérifier l'état de son ticket en appelant [GetServerBackfillTicket](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/matchmaking/create-server-backfill-ticket).
Il peut également annuler le ticket en appelant [CancelServerBackfillTicket](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/matchmaking/cancel-server-backfill-ticket?view=playfab-rest).

<Note>
  Les clients ne sont pas autorisés à annuler un ticket de backfill dont ils font partie. Supposons qu'un client participe à une correspondance 4 contre 4 et qu'un joueur de l'équipe adverse se déconnecte. Le client pourrait conserver son avantage en annulant continuellement tous les tickets de backfill dont il fait partie. Pour éviter cela, seuls les serveurs de jeu peuvent annuler les tickets de backfill.
</Note>

## Limites d'appartenance et récupération après la perte de tickets de backfill

Comme pour les tickets de matchmaking ordinaires, un utilisateur ne peut à tout moment faire partie que d'un seul
ticket de backfill par file d'attente. Cette limite est suivie séparément de celle des tickets ordinaires
contrôlés par un client.

Si un serveur de jeu crée un ticket de backfill puis plante, les
utilisateurs du ticket de backfill perdu ne peuvent pas être soumis dans un autre
ticket de backfill en raison de la limite d'appartenance. Un serveur de jeu le découvre
en recevant l'erreur `MatchmakingTicketMembershipLimitExceeded`, accompagnée d'une
liste des utilisateurs ayant des tickets de backfill en attente dans un corps
`errorDetails`.

```json theme={null}
{
    "code": 400,
    "status": "BadRequest",
    "error": "MatchmakingTicketMembershipLimitExceeded",
    "errorCode": 2055,
    "errorMessage": "User is a member of too many backfill tickets.",
    "errorDetails": {
        "UsersExceedingMembershipLimit": [
            "title_player_account!562D72A5B184F612"
        ]
    }
}
```

Le serveur de jeu peut sortir un utilisateur de cette situation en appelant
[CancelAllServerBackfillTicketsForPlayer](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/matchmaking/cancel-all-server-backfill-tickets-for-player),
qui supprime tous les tickets de backfill dont l'utilisateur fait partie.
[ListServerBackfillTicketsForPlayer](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/matchmaking/list-server-backfill-tickets-for-player)
est également fourni pour découvrir les tickets de backfill dont un joueur peut
faire partie.

## Interactions avec la règle de sélection de région

La règle de sélection de région exige normalement que les tickets spécifient un tableau de
mesures de latence pour leur attribut. Un ticket de backfill, en revanche, représente
une partie déjà en cours dans un centre de données particulier. Au lieu d'un tableau de
mesures de latence, la requête créée doit spécifier une région dans la structure
[ServerDetails](xref:titleid.playfabapi.com.multiplayer.matchmaking.getmatch#serverdetails).
Pour être mis en correspondance avec le ticket de backfill, les tickets doivent avoir un
temps de ping acceptable vers la région spécifiée par le ticket de backfill.

## Interactions avec la règle de similarité de taille de ticket d'équipe

La règle de similarité de taille de ticket d'équipe garantit que les grands groupes de joueurs sont
opposés à d'autres grands groupes de joueurs. Cependant, les tickets de backfill ne
contiennent pas l'information indiquant quels joueurs ont rejoint la partie en groupe. Par conséquent,
la règle de similarité de taille de ticket est ignorée lors de la mise en correspondance des tickets de backfill.


## Related topics

- [Utilisation des tickets de backfill de serveur - SDK Multiplayer](/fr-CA/services/playfab/multiplayer/matchmaking/backfill-tickets-multiplayer-sdk.md)
- [Créer un ticket de remplissage de serveur](/fr-CA/services/playfab/api-references/rest/multiplayer/matchmaking/create-server-backfill-ticket.md)
- [Annuler un ticket de remplissage de serveur](/fr-CA/services/playfab/api-references/rest/multiplayer/matchmaking/cancel-server-backfill-ticket.md)
- [Obtenir un ticket de remplissage de serveur](/fr-CA/services/playfab/api-references/rest/multiplayer/matchmaking/get-server-backfill-ticket.md)
- [Lister les tickets de remplissage de serveur d'un joueur](/fr-CA/services/playfab/api-references/rest/multiplayer/matchmaking/list-server-backfill-tickets-for-player.md)
