

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\$1\$1 pour Amazon GameLift Servers 4.x -- Actions
<a name="integration-server-sdk-cpp-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\$1\$1 pour Amazon GameLift Servers -- Actions](integration-server-sdk5-cpp-actions.md).

# SDK du serveur C\$1\$1 pour Amazon GameLift Servers 4.x -- Types de données
<a name="integration-server-sdk-cpp-ref-datatypes"></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\$1\$1 pour Amazon GameLift Servers -- Types de données](integration-server-sdk5-cpp-datatypes.md).

Cette API est définie dans `GameLiftServerAPI.h`, `LogParameters.h` et `ProcessParameters.h`.

[SDK du serveur C\$1\$1 pour Amazon GameLift Servers 4.x -- Actions](integration-server-sdk-cpp-ref-actions.md)

## DescribePlayerSessionsRequest
<a name="integration-server-sdk-cpp-ref-dataypes-playersessions"></a>

Ce type de données est utilisé pour spécifier les sessions de joueur à récupérer. Vous pouvez l'utiliser comme suit : 
+ Fournissez un PlayerSessionId pour demander une session de joueur spécifique.
+ Indiquez un GameSessionId pour demander toutes les sessions des joueurs dans la session de jeu spécifiée.
+ Fournissez un PlayerId pour demander toutes les sessions de joueur pour le joueur spécifié.

Pour les volumes importants de sessions de joueur, utilisez les paramètres de pagination pour récupérer les résultats en tant que blocs séquentiels.

### Table des matières
<a name="integration-server-sdk-cpp-ref-dataypes-playersessions-contents"></a>

**GameSessionId**  
Identifiant de session de jeu unique. Utilisez ce paramètre pour demander toutes les sessions de joueur pour la session de jeu spécifiée. Le format de l'ID de session de jeu est le suivant : `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>`. La valeur de <ID string> peut être une chaîne d'ID personnalisée ou (si spécifiée lors de la création de la session de jeu) une chaîne générée automatiquement.   
Type : chaîne  
Obligatoire : non

**Limite**  
Nombre maximum de résultats à renvoyer. Utilisez ce paramètre avec *NextToken*pour obtenir des résultats sous la forme d'un ensemble de pages séquentielles. Si un ID de session de joueur est spécifié, ce paramètre est ignoré.  
Type : Integer  
Obligatoire : non

**NextToken**  
Jeton indiquant le début de la prochaine page séquentielle de résultats. Utilisez le jeton qui est renvoyé par un appel précédent à cette action. Pour spécifier le début de l'ensemble de résultats, ne spécifiez aucune valeur. Si un ID de session de joueur est spécifié, ce paramètre est ignoré.  
Type : chaîne  
Obligatoire : non

**PlayerId**  
Identifiant unique pour un joueur. IDs Les joueurs sont définis par le développeur. Consultez [Générer un joueur IDs](player-sessions-player-identifiers.md).  
Type : chaîne  
Obligatoire : non

**PlayerSessionId**  
Identifiant unique d'une session de joueur.  
Type : chaîne  
Obligatoire : non

**PlayerSessionStatusFilter**  
État de session de joueur pour filtrer les résultats. Les états de session de joueur possibles sont les suivants :  
+ RÉSERVÉ — La demande de session du joueur a été reçue, mais le joueur ne s'est pas encore connecté au serveur. Le processus and/or a été validé.
+ ACTIVE - Le joueur a été validé par le processus serveur et est actuellement connecté.
+ COMPLETED - La connexion du joueur a été abandonnée.
+ TIMEDOUT — Une demande de session de joueur a été reçue, mais le joueur ne s'est pas connecté n' and/or a pas été validée dans le délai imparti (60 secondes).
Type : chaîne  
Obligatoire : non

## LogParameters
<a name="integration-server-sdk-cpp-ref-dataypes-log"></a>

Ce type de données est utilisé pour identifier les fichiers générés au cours d'une session de jeu que vous souhaitez qu'Amazon GameLift Servers charge et stocke lorsque la session de jeu se termine. Ces informations sont communiquées au service Amazon GameLift Servers dans un appel [ProcessReady()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processready).

### Table des matières
<a name="integration-server-sdk-cpp-ref-dataypes-log-contents"></a>

**logPaths**  
Chemins de répertoire d'accès aux fichiers journaux du serveur de jeux que vous souhaitez qu'Amazon GameLift Servers stocke pour y accéder ultérieurement. Ces fichiers sont générés au cours de chaque session de jeu. Les chemins et noms des fichiers sont définis dans votre serveur de jeux et stockés dans le répertoire racine de génération de jeu. Les chemins du journal doivent être absolus. Par exemple, si la version de génération de votre jeu stocke les journaux de session de jeu suivant un chemin tel que `MyGame\sessionlogs\`, le chemin d'accès aux journaux est `c:\game\MyGame\sessionLogs` (sur une instance Windows) ou `/local/game/MyGame/sessionLogs` (sur une instance Linux).   
Type : std:vector<std::string>  
Obligatoire : non

## ProcessParameters
<a name="integration-server-sdk-cpp-ref-dataypes-process"></a>

Ce type de données contient l'ensemble des paramètres envoyés au service Amazon GameLift Servers dans un appel [ProcessReady()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processready).

### Table des matières
<a name="integration-server-sdk-cpp-ref-dataypes-process-contents"></a>

**port**  
Numéro de port sur lequel le processus serveur écoute les nouvelles connexions de joueur. La valeur doit être comprise dans la plage de ports configurée pour toutes les flottes déployant cette version de génération du serveur de jeux. Ce numéro de port est inclus dans les objets de session de jeu et de session de joueur, que les sessions de jeu utilisent pour se connecter à un processus serveur.   
Type : Integer   
Obligatoire : oui

**logParameters**  
Objet comportant une liste de chemins de répertoires vers les fichiers journaux de sessions de jeu.   
Type : Aws GameLift : ::Server : : [LogParameters](#integration-server-sdk-cpp-ref-dataypes-log)  
Obligatoire : non

**onStartGameSession**  
Nom de la fonction de rappel invoquée par le Amazon GameLift Servers service pour activer une nouvelle session de jeu. Amazon GameLift Serversappelle cette fonction en réponse à la demande du client [CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html). La fonction de rappel transmet un [GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html)objet (défini dans la *référence de l'API Amazon GameLift Servers de service*).   
Type : `const std::function<void(Aws::GameLift::Model::GameSession)> onStartGameSession`   
Obligatoire : oui

**onProcessTerminate**  
Nom de la fonction de rappel invoquée par le Amazon GameLift Servers service pour forcer l'arrêt du processus serveur. Après avoir appelé cette fonction, Amazon GameLift Servers patiente cinq minutes afin que le processus serveur s'arrête et réponde avec un appel [ProcessEnding()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processending). Si aucune réponse n'est reçue, le processus serveur est arrêté.  
Type : `std::function<void()> onProcessTerminate`  
Obligatoire : non

**onHealthCheck**  
Nom de la fonction de rappel invoquée par le Amazon GameLift Servers service pour demander un rapport d'état de santé au processus du serveur. Amazon GameLift Serversappelle cette fonction toutes les 60 secondes. Après l'appel de cette fonction, Amazon GameLift Servers attend une réponse pendant 60 secondes, et si aucune réponse n'est reçue, enregistre le processus serveur comme n'étant pas sain.  
Type : `std::function<bool()> onHealthCheck`  
Obligatoire : non

**onUpdateGameSession**  
Nom de la fonction de rappel invoquée par le Amazon GameLift Servers service pour transmettre un objet de session de jeu mis à jour au processus du serveur. Amazon GameLift Serversappelle cette fonction lorsqu'une demande de [remplissage de correspondance](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html) a été traitée afin de fournir des données de matchmaking mises à jour. Il transmet un [GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html)objet, une mise à jour de statut (`updateReason`) et l'identifiant du ticket de remplacement des matchs.   
Type : `std::function<void(Aws::GameLift::Server::Model::UpdateGameSession)> onUpdateGameSession`   
Obligatoire : non

## StartMatchBackfillRequest
<a name="integration-server-sdk-cpp-ref-dataypes-startmatchbackfillrequest"></a>

Ce type de données est utilisé pour envoyer une requête de renvoi de correspondance. Les informations sont communiquées au service Amazon GameLift Servers dans un appel [StartMatchBackfill()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-startmatchbackfill).

### Table des matières
<a name="integration-server-sdk-cpp-ref-dataypes-startbackfill-contents"></a>

**GameSessionArn**  
 Identifiant de session de jeu unique. L'action d'API [GetGameSessionId()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-getgamesessionid) renvoie l'identifiant au format ARN.  
Type : Chaîne  
Obligatoire : oui

**MatchmakingConfigurationArn**  
Identifiant unique, sous la forme d'un ARN, pour le matchmaker à utiliser pour cette requête. Pour trouver le matchmaker qui a été utilisé pour créer la session de jeu d'origine, recherchez dans l'objet de session de jeu, dans la propriété de données de matchmaker. En savoir plus sur les données du système de jumelage dans [Word grâce aux données du système de jumelage.](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data)   
Type : Chaîne  
Obligatoire : oui

**Joueurs**  
Ensemble de données représentant tous les joueurs qui sont actuellement dans la session de jeu. Le matchmaker utilise ces informations pour rechercher de nouveaux joueurs qui constituent de bonnes correspondances pour les joueurs actuels. Consultez le *guide de référence de l'Amazon GameLift ServersAPI* pour obtenir une description du format d'objet Player. Pour trouver les attributs des joueurs et les affectations des équipes, recherchez l'objet de la session de jeu, dans la propriété des données du système de matchmaking. IDs Si une latence est utilisée par le matchmaker, collectez la latence mise à jour pour la région actuelle et incluez-la dans les données de chaque joueur.   
Type : std:vector[https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html](https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html) <player>  
Obligatoire : oui

**TicketId**  
Identifiant unique pour une correspondance ou un ticket de requête de renvoi de correspondance. Si aucune valeur n'est fournie ici, il en Amazon GameLift Servers générera une sous la forme d'un UUID. Utilisez cet identifiant pour suivre l'état du ticket de renvoi de correspondance ou annuler la requête si nécessaire.   
Type : chaîne  
Obligatoire : non

## StopMatchBackfillRequest
<a name="integration-server-sdk-cpp-ref-dataypes-stopmatchbackfillrequest"></a>

Ce type de données est utilisé pour annuler une demande de renvoi de correspondance. Les informations sont communiquées au service Amazon GameLift Servers dans un appel [StopMatchBackfill()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-stopmatchbackfill).

### Table des matières
<a name="integration-server-sdk-cpp-ref-dataypes-stopbackfill-contents"></a>

**GameSessionArn**  
Identifiant de session de jeu unique associé à la requête en cours d'annulation.   
Type : Chaîne  
Obligatoire : oui

**MatchmakingConfigurationArn**  
Identifiant unique du matchmaker auquel cette requête a été envoyée.   
Type : Chaîne  
Obligatoire : oui

**TicketId**  
Identifiant unique d'un ticket de requête de correspondance à annuler.  
Type : Chaîne  
Obligatoire : oui

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

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

## AcceptPlayerSession()
<a name="integration-server-sdk-cpp-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-cpp-ref-acceptplayersession-syntax"></a>

```
GenericOutcome AcceptPlayerSession(const std::string& playerSessionId);
```

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

**playerSessionId**  
ID unique émis par le Amazon GameLift Servers service en réponse à un appel à l'action Amazon GameLift Servers [CreatePlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html)API du AWS SDK. Le client du jeu fait référence à cet identifiant lors de la connexion au processus serveur.  
Type : std : :string  
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-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, const std::string& playerSessionId){
    Aws::GameLift::GenericOutcome connectOutcome = 
        Aws::GameLift::Server::AcceptPlayerSession(playerSessionId);
    if(connectOutcome.IsSuccess())
    {
        connectionToSessionMap.emplace(connection, playerSessionId);
        connection.Accept();
    }
    else 
    {
        connection.Reject(connectOutcome.GetError().GetMessage();
    }       
}
```

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

Informe le service Amazon GameLift Servers que le processus serveur a démarré une session de jeu et est maintenant prêt à recevoir les connexions de joueurs. 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-cpp-ref-activategamesession-syntax"></a>

```
GenericOutcome ActivateGameSession();
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-activategamesession-example"></a>

Cet exemple illustre l'appel de `ActivateGameSession()` dans le cadre de la fonction de rappel `onStartGameSession()`. 

```
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
   // game-specific tasks when starting a new game session, such as loading map
   GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession();
}
```

## DescribePlayerSessions()
<a name="integration-server-sdk-cpp-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-cpp-ref-describeplayersessions-syntax"></a>

```
DescribePlayerSessionsOutcome DescribePlayerSessions ( 
    const Aws::GameLift::Server::Model::DescribePlayerSessionsRequest &describePlayerSessionsRequest);
```

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

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

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-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. Si vous omettez `NextToken` et définissez la valeur de `Limit` sur 10, Amazon GameLift Servers renvoie les 10 premiers enregistrements de sessions de joueur qui correspondent à la demande.

```
// Set request parameters
Aws::GameLift::Server::Model::DescribePlayerSessionsRequest request;
request.SetPlayerSessionStatusFilter(Aws::GameLift::Server::Model::PlayerSessionStatusMapper::GetNameForPlayerSessionStatus(Aws::GameLift::Server::Model::PlayerSessionStatus::Active));
request.SetLimit(10);
request.SetGameSessionId("the game session ID");    // can use GetGameSessionId()

// Call DescribePlayerSessions
Aws::GameLift::DescribePlayerSessionsOutcome playerSessionsOutcome = 
    Aws::GameLift::Server::DescribePlayerSessions(request);
```

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

Extrait un identifiant unique pour la session de jeu actuellement hébergée par le processus serveur, si ce dernier est actif. L'identifiant est retourné dans un format ARN : `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>`. 

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-cpp-ref-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId();
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-getgamesessionid-example"></a>

```
Aws::GameLift::AwsStringOutcome sessionIdOutcome = 
    Aws::GameLift::Server::GetGameSessionId();
```

## GetInstanceCertificate()
<a name="integration-server-sdk-cpp-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-cpp-ref-getinstancecertificate-syntax"></a>

```
GetInstanceCertificateOutcome GetInstanceCertificate();
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-getinstancecertificate-example"></a>

```
Aws::GameLift::GetInstanceCertificateOutcome certificateOutcome = 
    Aws::GameLift::Server::GetInstanceCertificate();
```

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

Renvoie numéro de version actuel du kit SDK en cours d'utilisation.

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

```
AwsStringOutcome GetSdkVersion();
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-getsdk-example"></a>

```
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = 
    Aws::GameLift::Server::GetSdkVersion();
```

## GetTerminationTime()
<a name="integration-server-sdk-cpp-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) lorsque le processus du serveur a signalé un mauvais état de santé ou n'a pas réponduAmazon GameLift Servers, (2) lors de la résiliation de l'instance lors d'un événement de réduction, ou (3) lorsqu'une instance est interrompue en raison d'une interruption ponctuelle.](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-cpp-ref-getterm-syntax"></a>

```
AwsLongOutcome GetTerminationTime();
```

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

Cette action n'a aucun paramètre.

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

En cas de succès, renvoie l'heure de fin sous forme d'`AwsLongOutcome`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-cpp-ref-getterm-example"></a>

```
Aws::GameLift::AwsLongOutcome TermTimeOutcome = 
    Aws::GameLift::Server::GetTerminationTime();
```

## InitSDK()
<a name="integration-server-sdk-cpp-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-cpp-ref-initsdk-syntax"></a>

```
InitSDKOutcome InitSDK();
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-processready). 

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

```
Aws::GameLift::Server::InitSDKOutcome initOutcome = 
    Aws::GameLift::Server::InitSDK();
```

## ProcessEnding()
<a name="integration-server-sdk-cpp-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 la méthode 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-cpp-ref-processending-syntax"></a>

```
GenericOutcome ProcessEnding();
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-processending-example"></a>

```
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
if (outcome.Success)
    exit(0);  // exit with success
// otherwise, exit with error code
exit(errorCode);
```

## ProcessReady()
<a name="integration-server-sdk-cpp-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-cpp-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.

Cet appel est synchrone. Pour effectuer un appel asynchrone, utilisez [ProcessReadyAsync()](#integration-server-sdk-cpp-ref-processreadyasync). Pour plus d’informations, consultez [Initialiser le processus du serveur](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize).

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

```
GenericOutcome ProcessReady(
    const Aws::GameLift::Server::ProcessParameters &processParameters);
```

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

**processParameters**  
Objet [ProcessParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-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-cpp-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-cpp-ref-processready-example"></a>

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

```
// Set parameters and call ProcessReady
std::string serverLog("serverOut.log");        // Example of a log file written by the game server
std::vector<std::string> logPaths;
logPaths.push_back(serverLog);

int listenPort = 9339;

Aws::GameLift::Server::ProcessParameters processReadyParameter = Aws::GameLift::Server::ProcessParameters(
    std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
    std::bind(&Server::onProcessTerminate, this),
    std::bind(&Server::OnHealthCheck, this),
    std::bind(&Server::OnUpdateGameSession, this),
    listenPort,
    Aws::GameLift::Server::LogParameters(logPaths)); 

Aws::GameLift::GenericOutcome outcome = 
   Aws::GameLift::Server::ProcessReady(processReadyParameter);

// Implement callback functions
void Server::onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
   // game-specific tasks when starting a new game session, such as loading map
   GenericOutcome outcome = 
       Aws::GameLift::Server::ActivateGameSession (maxPlayers);
}

void Server::onProcessTerminate()
{
   // game-specific tasks required to gracefully shut down a game session, 
   // such as notifying players, preserving game state data, and other cleanup
   GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
}

bool Server::onHealthCheck()
{
    bool health;
    // complete health evaluation within 60 seconds and set health
    return health;
}
```

## ProcessReadyAsync()
<a name="integration-server-sdk-cpp-ref-processreadyasync"></a>

Informe le service Amazon GameLift Servers que le processus serveur est prêt à héberger des sessions de jeu. Cette méthode doit être appelée une fois que le processus serveur est prêt à héberger une session de jeu. Les paramètres spécifient les noms des fonctions de rappel qu'Amazon GameLift Servers doit appeler dans certaines circonstances. Le code du serveur de jeux doit implémenter ces fonctions.

Cet appel est asynchrone. Pour effectuer un appel synchrone, utilisez [ProcessReady()](#integration-server-sdk-cpp-ref-processready). Pour plus d’informations, consultez [Initialiser le processus du serveur](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize).

### Syntaxe
<a name="integration-server-sdk-cpp-ref-processreadyasync-syntax"></a>

```
GenericOutcomeCallable ProcessReadyAsync(
    const Aws::GameLift::Server::ProcessParameters &processParameters);
```

### Parameters
<a name="integration-server-sdk-cpp-ref-processreadyasync-parameter"></a>

**processParameters**  
Objet [ProcessParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-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-cpp-ref-processreadyasync-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-cpp-ref-processreadyasync-example"></a>

```
// Set parameters and call ProcessReady
std::string serverLog("serverOut.log");        // This is an example of a log file written by the game server
std::vector<std::string> logPaths;
logPaths.push_back(serverLog);

int listenPort = 9339;

Aws::GameLift::Server::ProcessParameters processReadyParameter = Aws::GameLift::Server::ProcessParameters(
    std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
    std::bind(&Server::onProcessTerminate, this),
    std::bind(&Server::OnHealthCheck, this),
    std::bind(&Server::OnUpdateGameSession, this),
    listenPort,
    Aws::GameLift::Server::LogParameters(logPaths));

Aws::GameLift::GenericOutcomeCallable outcome = 
   Aws::GameLift::Server::ProcessReadyAsync(processReadyParameter);

// Implement callback functions
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
   // game-specific tasks when starting a new game session, such as loading map
   GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession (maxPlayers);
}

void onProcessTerminate()
{
   // game-specific tasks required to gracefully shut down a game session, 
   // such as notifying players, preserving game state data, and other cleanup
   GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
}

bool onHealthCheck()
{
    // perform health evaluation and complete within 60 seconds
    return health;
}
```

## RemovePlayerSession()
<a name="integration-server-sdk-cpp-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-cpp-ref-removeplayersession-syntax"></a>

```
GenericOutcome RemovePlayerSession(
    const std::string& playerSessionId);
```

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

**playerSessionId**  
ID unique émis par le Amazon GameLift Servers service en réponse à un appel à l'action Amazon GameLift Servers [CreatePlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html)API du AWS SDK. Le client du jeu fait référence à cet identifiant lors de la connexion au processus serveur.  
Type : std : :string  
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-ref-removeplayersession-example"></a>

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

## StartMatchBackfill()
<a name="integration-server-sdk-cpp-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 jumelés avec succès, le Amazon GameLift Servers service fournit des données de matchmaking mises à jour en invoquant la fonction de rappel. `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-cpp-ref-stopmatchbackfill) pour annuler la requête d'origine.

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

```
StartMatchBackfillOutcome StartMatchBackfill ( 
    const Aws::GameLift::Server::Model::StartMatchBackfillRequest &startBackfillRequest);
```

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

**StartMatchBackfillRequest**  
Objet [StartMatchBackfillRequest](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-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-cpp-ref-startmatchbackfill-return"></a>

Renvoie un StartMatchBackfillOutcome objet avec le ticket de remplacement du match ou un échec avec un message d'erreur. L'état du ticket peut être suivi à l'aide de l'action du AWS SDK [DescribeMatchmaking().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html)

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

```
// Build a backfill request
std::vector<Player> players;
Aws::GameLift::Server::Model::StartMatchBackfillRequest startBackfillRequest;
startBackfillRequest.SetTicketId("a ticket ID");                                         //optional, autogenerated if not provided
startBackfillRequest.SetMatchmakingConfigurationArn("the matchmaker configuration ARN"); //from the game session matchmaker data
startBackfillRequest.SetGameSessionArn("the game session ARN");                          // can use GetGameSessionId()
startBackfillRequest.SetPlayers(players);                                                  //from the game session matchmaker data

// Send backfill request
Aws::GameLift::StartMatchBackfillOutcome backfillOutcome = 
    Aws::GameLift::Server::StartMatchBackfill(startBackfillRequest);

// Implement callback function for backfill
void Server::OnUpdateGameSession(Aws::GameLift::Server::Model::GameSession gameSession, Aws::GameLift::Server::Model::UpdateReason updateReason, std::string backfillTicketId)
{
   // handle status messages
   // perform game-specific tasks to prep for newly matched players
}
```

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

Annule une requête de renvoi de correspondance active qui a été créée avec [StartMatchBackfill()](#integration-server-sdk-cpp-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-cpp-ref-stopmatchbackfill-syntax"></a>

```
GenericOutcome StopMatchBackfill ( 
    const Aws::GameLift::Server::Model::StopMatchBackfillRequest &stopBackfillRequest);
```

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

**StopMatchBackfillRequest**  
Objet [StopMatchBackfillRequest](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-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-cpp-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-cpp-ref-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

Aws::GameLift::Server::Model::StopMatchBackfillRequest stopBackfillRequest;
stopBackfillRequest.SetTicketId("the ticket ID");
stopBackfillRequest.SetGameSessionArn("the game session ARN");                           // can use GetGameSessionId()
stopBackfillRequest.SetMatchmakingConfigurationArn("the matchmaker configuration ARN");  // from the game session matchmaker data

Aws::GameLift::GenericOutcome stopBackfillOutcome = 
    Aws::GameLift::Server::StopMatchBackfillRequest(stopBackfillRequest);
```

## TerminateGameSession()
<a name="integration-server-sdk-cpp-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-cpp-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-cpp-ref-processending) pour signaler que la session de jeu et le processus du serveur se terminent. 

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

```
GenericOutcome TerminateGameSession();
```

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

Cette action n'a aucun paramètre.

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

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

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk-cpp-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 du AWS SDK [UpdateGameSession().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html)

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

```
GenericOutcome UpdatePlayerSessionCreationPolicy(
    Aws::GameLift::Model::PlayerSessionCreationPolicy newPlayerSessionPolicy);
```

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

**newPlayerSessionPolitique**  
Valeur de chaîne indiquant si la session de jeu accepte ou non de nouveaux joueurs.   
Type : Aws : GameLift : :Model : : PlayerSessionCreationPolicy enum. Les valeurs valides sont les suivantes :   
+ **ACCEPT\$1ALL — Accepte toutes les** sessions de nouveaux joueurs.
+ **DENY\$1ALL — Refuse toutes les** sessions de nouveaux joueurs.
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk-cpp-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-cpp-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.

```
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy::ACCEPT_ALL);
```

## Détruire ()
<a name="integration-server-sdk-cpp-ref-destroy"></a>

Nettoie la mémoire allouée par initSDK () lors de l'initialisation du serveur de jeu. Utilisez cette méthode après avoir terminé un processus de serveur de jeu pour éviter de gaspiller la mémoire du serveur.

### Syntaxe
<a name="integration-server-sdk-cpp-ref-destroy-syntax"></a>

```
GenericOutcome Aws::GameLift::Server::Destroy();
```

### Parameters
<a name="integration-server-sdk-cpp-ref-destroy-parameter"></a>

Il n'y a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk-cpp-ref-destroy-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-cpp-ref-destroy-example"></a>

Cet exemple nettoie la mémoire allouée par InitSDK une fois le processus du serveur de jeu terminé.

```
if (Aws::GameLift::Server::ProcessEnding().IsSuccess()) {
  Aws::GameLift::Server::Destroy();
  exit(0);
}
```