

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# SDK du serveur C\# pour Amazon GameLift Servers 4.x -- Actions
<a name="integration-server-sdk-csharp-ref-actions"></a>

Utilisez la référence du SDK du serveur pour intégrer votre jeu multijoueur à des fins d'Amazon GameLift Servershébergement. Pour obtenir des conseils sur le processus d'intégration, consultez[Ajoutez Amazon GameLift Servers à votre serveur de jeu avec le SDK du serveur](gamelift-sdk-server-api.md).

**Note**  
Cette référence concerne une version antérieure du SDK du serveur pourAmazon GameLift Servers. Pour obtenir la dernière version, consultez [SDK 5.x du serveur C\# pour -- Actions Amazon GameLift Servers](integration-server-sdk5-csharp-actions.md).

[SDK du serveur C\# pour Amazon GameLift Servers 4.x -- Types de données](integration-server-sdk-csharp-ref-datatypes.md)

**Topics**
+ [SDK du serveur C\# pour Amazon GameLift Servers 4.x -- Types de données](integration-server-sdk-csharp-ref-datatypes.md)
+ [AcceptPlayerSession()](#integration-server-sdk-csharp-ref-acceptplayersession)
+ [ActivateGameSession()](#integration-server-sdk-csharp-ref-activategamesession)
+ [DescribePlayerSessions()](#integration-server-sdk-csharp-ref-describeplayersessions)
+ [GetGameSessionId()](#integration-server-sdk-csharp-ref-getgamesessionid)
+ [GetInstanceCertificate()](#integration-server-sdk-csharp-ref-getinstancecertificate)
+ [GetSdkVersion()](#integration-server-sdk-csharp-ref-getsdk)
+ [GetTerminationTime()](#integration-server-sdk-csharp-ref-getterm)
+ [InitSDK()](#integration-server-sdk-csharp-ref-initsdk)
+ [ProcessEnding()](#integration-server-sdk-csharp-ref-processending)
+ [ProcessReady()](#integration-server-sdk-csharp-ref-processready)
+ [RemovePlayerSession()](#integration-server-sdk-csharp-ref-removeplayersession)
+ [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-csharp-ref-stopmatchbackfill)
+ [TerminateGameSession()](#integration-server-sdk-csharp-ref-terminategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy)

## AcceptPlayerSession()
<a name="integration-server-sdk-csharp-ref-acceptplayersession"></a>

Indique au Amazon GameLift Servers service qu'un joueur possédant l'identifiant de session de joueur spécifié s'est connecté au processus du serveur et doit être validé. Amazon GameLift Serversvérifie que l'identifiant de session du joueur est valide, c'est-à-dire que l'identifiant du joueur a réservé une place de joueur dans la session de jeu. Une fois la validation effectuée, Amazon GameLift Servers fait passer l'emplacement de joueur de l'état RESERVED à ACTIVE. 

### Syntaxe
<a name="integration-server-sdk-csharp-ref-acceptplayersession-syntax"></a>

```
GenericOutcome AcceptPlayerSession(String playerSessionId)
```

### Parameters
<a name="integration-server-sdk-csharp-ref-acceptplayersession-parameter"></a>

**playerSessionId**  
Identifiant unique émis Amazon GameLift Servers lors de la création d'une nouvelle session de joueur. Un identifiant de session de joueur est spécifié dans un `PlayerSession` objet, qui est renvoyé en réponse à un appel du client aux actions de l'*GameLift API [ StartGameSessionPlacement[ CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*, [ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html), ou [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Type : Chaîne  
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-acceptplayersession-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur. 

### Exemple
<a name="integration-server-sdk-csharp-ref-acceptplayersession-example"></a>

Cet exemple illustre une fonction permettant de gérer une demande de connexion, notamment de valider et de rejeter une session de joueur non valide. IDs 

```
void ReceiveConnectingPlayerSessionID (Connection connection, String playerSessionId){
    var acceptPlayerSessionOutcome =  GameLiftServerAPI.AcceptPlayerSession(playerSessionId);
     if(acceptPlayerSessionOutcome.Success)
    {
        connectionToSessionMap.emplace(connection, playerSessionId);
        connection.Accept();
    }
     else 
    {
        connection.Reject(acceptPlayerSessionOutcome.Error.ErrorMessage);    }       
}
```

## ActivateGameSession()
<a name="integration-server-sdk-csharp-ref-activategamesession"></a>

Informe le service Amazon GameLift Servers que le processus serveur a activé une session de jeu et est maintenant prêt à recevoir des connexions de joueur. Cette action doit être appelée dans le cadre de la fonction de rappel `onStartGameSession()`, une fois que l'initialisation de toutes les sessions de jeu est terminée.

### Syntaxe
<a name="integration-server-sdk-csharp-ref-activategamesession-syntax"></a>

```
GenericOutcome ActivateGameSession()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-activategamesession-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-activategamesession-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-activategamesession-example"></a>

Cet exemple illustre l'appel de `ActivateGameSession()` dans le cadre de la fonction déléguée `onStartGameSession()`. 

```
void OnStartGameSession(GameSession gameSession)
{
    // game-specific tasks when starting a new game session, such as loading map   

    // When ready to receive players   
    var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}
```

## DescribePlayerSessions()
<a name="integration-server-sdk-csharp-ref-describeplayersessions"></a>

Récupère les données de session de joueur, y compris les paramètres, les métadonnées de session et les données de joueur. Utilisez cette action pour obtenir des informations pour une seule session de joueur, pour toutes les sessions de joueur d'une session de jeu ou pour toutes les sessions de joueur associées à un seul ID de joueur.

### Syntaxe
<a name="integration-server-sdk-csharp-ref-describeplayersessions-syntax"></a>

```
DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest describePlayerSessionsRequest)
```

### Parameters
<a name="integration-server-sdk-csharp-ref-describeplayersessions-parameter"></a>

**describePlayerSessionsDemande**  
Objet [DescribePlayerSessionsRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-playersessions) décrivant les sessions de joueur à récupérer.  
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-describeplayersessions-return"></a>

En cas de réussite, renvoie un objet `DescribePlayerSessionsOutcome` qui contient un ensemble d'objets de session de joueur correspondant aux paramètres de la demande. Les objets de session du joueur ont une structure identique au type de [PlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_PlayerSession.html)données de Amazon GameLift Servers l'API du AWS SDK.

### Exemple
<a name="integration-server-sdk-csharp-ref-describeplayersessions-example"></a>

Cet exemple illustre une demande de toutes les sessions de joueur activement connectées à une session de jeu spécifiée. En omettant *NextToken*et en définissant la valeur *limite* sur 10, les 10 premiers enregistrements de sessions de joueurs correspondant à la demande Amazon GameLift Servers seront renvoyés.

```
// Set request parameters 
var describePlayerSessionsRequest = new Aws.GameLift.Server.Model.DescribePlayerSessionsRequest()
{
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result,    //gets the ID for the current game session
    Limit = 10,
    PlayerSessionStatusFilter = PlayerSessionStatusMapper.GetNameForPlayerSessionStatus(PlayerSessionStatus.ACTIVE)
}; 
// Call DescribePlayerSessions
Aws::GameLift::DescribePlayerSessionsOutcome playerSessionsOutcome = 
    Aws::GameLift::Server::Model::DescribePlayerSessions(describePlayerSessionRequest);
```

## GetGameSessionId()
<a name="integration-server-sdk-csharp-ref-getgamesessionid"></a>

Extrait l'ID de la session de jeu actuellement hébergée par le processus serveur, si ce dernier est actif. 

Pour les processus inactifs qui ne sont pas encore activés lors d'une session de jeu, l'appel renvoie `Success` `GameSessionId` = `True` et = `""` (une chaîne vide).

### Syntaxe
<a name="integration-server-sdk-csharp-ref-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-getgamesessionid-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-getgamesessionid-return"></a>

En cas de réussite, renvoie l'ID de session de jeu en tant qu'objet `AwsStringOutcome`. En cas d'échec, renvoie un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-getgamesessionid-example"></a>

```
var getGameSessionIdOutcome = GameLiftServerAPI.GetGameSessionId();
```

## GetInstanceCertificate()
<a name="integration-server-sdk-csharp-ref-getinstancecertificate"></a>

Récupère l'emplacement du fichier d'un certificat TLS codé PEM associé à la flotte et à ses instances. AWS Certificate Manager génère ce certificat lorsque vous créez une nouvelle flotte avec la configuration du certificat définie sur GENERATED. Utilisez ce certificat pour établir une connexion sécurisée avec un client de jeu et pour chiffrer la communication client/serveur. 

### Syntaxe
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-syntax"></a>

```
GetInstanceCertificateOutcome GetInstanceCertificate();
```

### Parameters
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-return"></a>

En cas de succès, renvoie un `GetInstanceCertificateOutcome` objet contenant l'emplacement du fichier de certificats TLS et de la chaîne de certificats de la flotte, qui sont stockés sur l'instance. Un fichier de certificat racine, extrait de la chaîne de certificats, est également stocké sur l'instance. En cas d'échec, renvoie un message d'erreur. 

Pour plus d'informations sur le certificat et les données de la chaîne de certificats, consultez la section [Éléments de GetCertificate réponse](https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html#API_GetCertificate_ResponseElements) dans la référence de l' AWS Certificate Manager API.

### Exemple
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-example"></a>

```
var getInstanceCertificateOutcome = GameLiftServerAPI.GetInstanceCertificate();
```

## GetSdkVersion()
<a name="integration-server-sdk-csharp-ref-getsdk"></a>

Renvoie le numéro de version actuel du kit SDK intégré dans le processus serveur.

### Syntaxe
<a name="integration-server-sdk-csharp-ref-getsdk-syntax"></a>

```
AwsStringOutcome GetSdkVersion()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-getsdk-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-getsdk-return"></a>

En cas de réussite, renvoie la version actuelle du kit SDK en tant qu'objet `AwsStringOutcome`. La chaîne renvoyée inclut uniquement le numéro de version (par exemple « 3.1.5 »). En cas d'échec, renvoie un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-getsdk-example"></a>

```
var getSdkVersionOutcome = GameLiftServerAPI.GetSdkVersion(); 
```

## GetTerminationTime()
<a name="integration-server-sdk-csharp-ref-getterm"></a>

Renvoie l'heure d'arrêt planifiée pour un processus serveur, si une heure de résiliation est disponible. Un processus serveur exécute cette action après avoir reçu un `onProcessTerminate()` rappel du Amazon GameLift Servers service. Amazon GameLift Servers[peut appeler `onProcessTerminate()` pour les raisons suivantes : (1) en cas de mauvais état (le processus serveur a signalé l'état du port ou n'a pas répondu)Amazon GameLift Servers, (2) lors de la résiliation de l'instance lors d'un événement de réduction d'échelle, ou (3) lorsqu'une instance est interrompue en raison d'une interruption ponctuelle de l'instance.](spot-tasks.md) 

Si le processus a reçu un `onProcessTerminate()` rappel, la valeur renvoyée est l'heure de fin estimée. Si le processus n'a pas reçu de `onProcessTerminate()` rappel, un message d'erreur est renvoyé. En savoir plus sur l'[arrêt d'un processus serveur](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

### Syntaxe
<a name="integration-server-sdk-csharp-ref-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-getterm-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-getterm-return"></a>

En cas de succès, renvoie l'heure de fin sous forme d'`AwsDateTimeOutcome`objet. La valeur est le délai de fin, exprimé en ticks écoulés depuis 0001 00:00:00. Par exemple, la valeur de la date et de l'heure 2020-09-13 12:26:40 -000Z est égale à 637355968000000000 ticks. Si aucune heure de résiliation n'est disponible, renvoie un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-getterm-example"></a>

```
var getTerminationTimeOutcome = GameLiftServerAPI.GetTerminationTime(); 
```

## InitSDK()
<a name="integration-server-sdk-csharp-ref-initsdk"></a>

Initialise le kit SDK Amazon GameLift Servers. Cette méthode doit être appelée au lancement, avant l'exécution de toute autre initialisation liée à Amazon GameLift Servers.

### Syntaxe
<a name="integration-server-sdk-csharp-ref-initsdk-syntax"></a>

```
InitSDKOutcome InitSDK()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-initsdk-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-initsdk-return"></a>

En cas de succès, renvoie un InitSdkOutcome objet indiquant que le processus serveur est prêt à être appelé[ProcessReady()](#integration-server-sdk-csharp-ref-processready). 

### Exemple
<a name="integration-server-sdk-csharp-ref-initsdk-example"></a>

```
var initSDKOutcome = GameLiftServerAPI.InitSDK(); 
```

## ProcessEnding()
<a name="integration-server-sdk-csharp-ref-processending"></a>

Informe le service Amazon GameLift Servers que le processus serveur est en cours d'arrêt. Cette méthode doit être appelée après toutes les autres tâches de nettoyage, y compris l'arrêt de toutes les sessions de jeu actives. Cette méthode doit quitter avec un code de sortie 0 ; un code de sortie différent de 0 génère un message d'événement indiquant que le processus ne s'est pas fermé correctement.

Une fois que la méthode s'est terminée avec un code de 0, vous pouvez terminer le processus avec un code de sortie réussi. Vous pouvez également quitter le processus avec un code d'erreur. Si vous sortez avec un code d'erreur, l'événement de la flotte indiquera que le processus s'est arrêté anormalement (`SERVER_PROCESS_TERMINATED_UNHEALTHY`). 

### Syntaxe
<a name="integration-server-sdk-csharp-ref-processending-syntax"></a>

```
GenericOutcome ProcessEnding()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-processending-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-processending-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-processending-example"></a>

```
var processEndingOutcome = GameLiftServerAPI.ProcessEnding();
if (processReadyOutcome.Success)
   Environment.Exit(0);
// otherwise, exit with error code
Environment.Exit(errorCode);
```

## ProcessReady()
<a name="integration-server-sdk-csharp-ref-processready"></a>

Informe le service Amazon GameLift Servers que le processus serveur est prêt à héberger des sessions de jeu. Appelez cette méthode après avoir invoqué [InitSDK()](#integration-server-sdk-csharp-ref-initsdk) et terminé avec succès les tâches de configuration requises avant que le processus serveur puisse héberger une session de jeu. Cette méthode ne doit être appelée qu'une seule fois par processus.

### Syntaxe
<a name="integration-server-sdk-csharp-ref-processready-syntax"></a>

```
GenericOutcome ProcessReady(ProcessParameters processParameters)
```

### Parameters
<a name="integration-server-sdk-csharp-ref-processready-parameter"></a>

**processParameters**  
Objet [ProcessParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-process) communiquant les informations suivantes relatives au processus serveur :  
+ Noms des méthodes de rappel, mises en œuvre dans le code du serveur de jeux, que le service Amazon GameLift Servers appelle pour communiquer avec le processus serveur.
+ Numéro de port sur lequel le processus serveur écoute.
+ Chemin vers les fichiers spécifiques à une session de jeu que vous voulez qu'Amazon GameLift Servers capture et stocke.
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-processready-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-processready-example"></a>

Cet exemple illustre les implémentations de l'appel [ProcessReady()](#integration-server-sdk-csharp-ref-processready) et de la fonction déléguée.

```
// Set parameters and call ProcessReady
var processParams = new ProcessParameters(
   this.OnGameSession,
   this.OnProcessTerminate,
   this.OnHealthCheck,
   this.OnGameSessionUpdate,
   port,
   new LogParameters(new List<string>()          // Examples of log and error files written by the game server
   {
      "C:\\game\\logs",
      "C:\\game\\error"
   })
);

var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);

// Implement callback functions
void OnGameSession(GameSession gameSession)
{
   // game-specific tasks when starting a new game session, such as loading map
   // When ready to receive players
   var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}

void OnProcessTerminate()
{
   // game-specific tasks required to gracefully shut down a game session, 
   // such as notifying players, preserving game state data, and other cleanup
    var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding();
}

bool OnHealthCheck()
{
    bool isHealthy;
    // complete health evaluation within 60 seconds and set health
    return isHealthy;
}
```

## RemovePlayerSession()
<a name="integration-server-sdk-csharp-ref-removeplayersession"></a>

Informe le service Amazon GameLift Servers qu'un joueur avec l'ID de session de joueur spécifié s'est déconnecté du processus serveur. En réponse, Amazon GameLift Servers fait passer l'emplacement de joueur à l'état disponible, ce qui lui permet d'être attribué à un nouveau joueur. 

### Syntaxe
<a name="integration-server-sdk-csharp-ref-removeplayersession-syntax"></a>

```
GenericOutcome RemovePlayerSession(String playerSessionId)
```

### Parameters
<a name="integration-server-sdk-csharp-ref-removeplayersession-parameter"></a>

**playerSessionId**  
Identifiant unique émis Amazon GameLift Servers lors de la création d'une nouvelle session de joueur. Un identifiant de session de joueur est spécifié dans un `PlayerSession` objet, qui est renvoyé en réponse à un appel du client aux actions de l'*GameLift API [ StartGameSessionPlacement[ CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*, [ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html), ou [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Type : Chaîne  
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-removeplayersession-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-removeplayersession-example"></a>

```
Aws::GameLift::GenericOutcome disconnectOutcome = 
    Aws::GameLift::Server::RemovePlayerSession(playerSessionId);
```

## StartMatchBackfill()
<a name="integration-server-sdk-csharp-ref-startmatchbackfill"></a>

Envoie une demande de recherche de nouveaux joueurs pour des emplacements ouverts dans une session de jeu créée avec FlexMatch. Voir également l'action du AWS SDK [StartMatchBackfill().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html) Avec cette action, les requêtes de renvoi de correspondance peuvent être initiées par processus de serveur de jeu qui héberge la session de jeu. En savoir plus sur la [fonction de FlexMatch remblayage](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Cette action est asynchrone. Si de nouveaux joueurs sont mis en relation, le service Amazon GameLift Servers fournit les données du matchmaker mises à jour à l'aide de la fonction de renvoi `OnUpdateGameSession()`.

Un processus de serveur ne peut comporter qu'une seule requête de renvoi de correspondance à la fois. Pour envoyer une nouvelle requête, appelez d'abord [StopMatchBackfill()](#integration-server-sdk-csharp-ref-stopmatchbackfill) pour annuler la requête d'origine.

### Syntaxe
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-syntax"></a>

```
StartMatchBackfillOutcome StartMatchBackfill (StartMatchBackfillRequest startBackfillRequest);
```

### Parameters
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-parameter"></a>

**StartMatchBackfillRequest**  
Objet [StartMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-startmatchbackfillrequest) qui communique les informations suivantes :  
+ ID de ticket à attribuer à la requête de renvoi. Cette information est facultative ; si aucun ID n'est fourni, Amazon GameLift Servers en génère automatiquement un.
+ Matchmaker auquel envoyer la requête. L'ARN de configuration complet est obligatoire. Cette valeur peut être acquise à partir des données matchmaker de la session de jeu.
+ ID de la session de jeu en cours de renvoi.
+ Données de correspondance disponibles pour les joueurs actuels de la session de jeu.
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-return"></a>

Renvoie un StartMatchBackfillOutcome objet avec l'identifiant du ticket de remplacement correspondant ou un échec avec un message d'erreur. 

### Exemple
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-example"></a>

```
// Build a backfill request
var startBackfillRequest = new AWS.GameLift.Server.Model.StartMatchBackfillRequest()
{
    TicketId = "a ticket ID", //optional
    MatchmakingConfigurationArn = "the matchmaker configuration ARN", 
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result,    // gets ID for current game session
        //get player data for all currently connected players
            MatchmakerData matchmakerData =        
              MatchmakerData.FromJson(gameSession.MatchmakerData);  // gets matchmaker data for current players
            // get matchmakerData.Players
            // remove data for players who are no longer connected
    Players = ListOfPlayersRemainingInTheGame
};

// Send backfill request
var startBackfillOutcome = GameLiftServerAPI.StartMatchBackfill(startBackfillRequest);

// Implement callback function for backfill
void OnUpdateGameSession(GameSession myGameSession)
{
   // game-specific tasks to prepare for the newly matched players and update matchmaker data as needed  
}
```

## StopMatchBackfill()
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill"></a>

Annule une requête de renvoi de correspondance active qui a été créée avec [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill). Voir également l'action du AWS SDK [StopMatchmaking().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html) En savoir plus sur la [fonction de FlexMatch remblayage](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Syntaxe
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-syntax"></a>

```
GenericOutcome StopMatchBackfill (StopMatchBackfillRequest stopBackfillRequest);
```

### Parameters
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-parameter"></a>

**StopMatchBackfillRequest**  
Objet [StopMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-stopmatchbackfillrequest) qui identifie le ticket de correspondance à annuler :   
+ Identifiant de ticket attribué à la requête de renvoi en cours d'annulation
+ matchmaker auquel a été envoyée la requête
+ session de jeu associée à la requête de renvoi
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

var stopBackfillRequest = new AWS.GameLift.Server.Model.StopMatchBackfillRequest()
{
    TicketId = "a ticket ID", //optional, if not provided one is autogenerated
    MatchmakingConfigurationArn = "the matchmaker configuration ARN", //from the game session matchmaker data
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result    //gets the ID for the current game session
};

var stopBackfillOutcome = GameLiftServerAPI.StopMatchBackfillRequest(stopBackfillRequest);
```

## TerminateGameSession()
<a name="integration-server-sdk-csharp-ref-terminategamesession"></a>

**Cette méthode est obsolète depuis la version 4.0.1. Au lieu de cela, le processus du serveur doit appeler [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) après la fin d'une session de jeu.**

Indique au Amazon GameLift Servers service que le processus du serveur a mis fin à la session de jeu en cours. Cette action est appelée lorsque le processus du serveur restera actif et prêt à héberger une nouvelle session de jeu. Il ne doit être appelé qu'une fois la procédure de fin de session de jeu terminée, car il indique Amazon GameLift Servers que le processus du serveur est immédiatement disponible pour héberger une nouvelle session de jeu. 

Cette action n'est pas appelée si le processus du serveur doit être arrêté après l'arrêt de la session de jeu. Appelez plutôt [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) pour signaler que la session de jeu et le processus du serveur se terminent. 

### Syntaxe
<a name="integration-server-sdk-csharp-ref-terminategamesession-syntax"></a>

```
GenericOutcome TerminateGameSession()
```

### Parameters
<a name="integration-server-sdk-csharp-ref-terminategamesession-parameter"></a>

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-terminategamesession-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-terminategamesession-example"></a>

Cet exemple illustre un processus de serveur à la fin d'une session de jeu.

```
// game-specific tasks required to gracefully shut down a game session, 
// such as notifying players, preserving game state data, and other cleanup

var terminateGameSessionOutcome = GameLiftServerAPI.TerminateGameSession();
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy"></a>

Met à jour la capacité de la session de jeu à accepter de nouvelles sessions de joueur. Une session de jeu peut être définie pour accepter ou refuser toutes les nouvelles sessions joueur. (Voir également l'action [UpdateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html) dans la *référence de l'API de Amazon GameLift Servers service*).

### Syntaxe
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-syntax"></a>

```
GenericOutcome UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy playerSessionPolicy)
```

### Parameters
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-parameter"></a>

**newPlayerSessionPolitique**  
Valeur de chaîne indiquant si la session de jeu accepte ou non de nouveaux joueurs.   
Type : enum [PlayerSessionCreationPolicy](https://sdk.amazonaws.com/cpp/api/LATEST/namespace_aws_1_1_game_lift_1_1_model.html#afa8a7527defe9e7ca0caebc239182c43). Les valeurs valides sont les suivantes :  
+ **ACCEPT\_ALL — Accepte toutes les** sessions de nouveaux joueurs.
+ **DENY\_ALL — Refuse toutes les** sessions de nouveaux joueurs.
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-return"></a>

Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.

### Exemple
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-example"></a>

Cet exemple définit la stratégie de participation de la session de jeu actuelle de manière à ce que tous les joueurs soient acceptés.

```
var updatePlayerSessionCreationPolicyOutcomex = 
    GameLiftServerAPI.UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy.ACCEPT_ALL);
```