

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 5.x du serveur C\+\+ pour GameLift Serveurs Amazon -- Actions
<a name="integration-server-sdk5-cpp-actions"></a>

Utilisez la référence au SDK 5.x du serveur pour intégrer votre jeu multijoueur à héberger. Amazon GameLift Servers Pour obtenir des conseils sur le processus d'intégration, consultez[Addition GameLift Serveurs Amazon sur votre serveur de jeu à l'aide du SDK du serveur](gamelift-sdk-server-api.md).

**Note**  
Cette rubrique décrit l'API Amazon GameLift Servers C\+\+ que vous pouvez utiliser lorsque vous créez avec la bibliothèque standard C\+\+ (`std`). Plus précisément, cette documentation s'applique au code que vous compilez avec l'`-DDGAMELIFT_USE_STD=1`option. 

[SDK 5.x du serveur C\+\+ pour GameLift Serveurs Amazon -- Types de données](integration-server-sdk5-cpp-datatypes.md)

**Topics**
+ [SDK 5.x du serveur C\+\+ pour GameLift Serveurs Amazon -- Types de données](integration-server-sdk5-cpp-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk5-cpp-getsdkversion)
+ [InitMetrics()](#integration-server-sdk5-cpp-initmetrics)
+ [InitCustomLogger()](#integration-server-sdk5-cpp-initcustomlogger)
+ [InitSDK()](#integration-server-sdk5-cpp-initsdk)
+ [InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere)
+ [ProcessReady()](#integration-server-sdk5-cpp-processready)
+ [ProcessReadyAsync()](#integration-server-sdk5-cpp-processreadyasync)
+ [ProcessEnding()](#integration-server-sdk5-cpp-processending)
+ [ActivateGameSession()](#integration-server-sdk5-cpp-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk5-cpp-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk5-cpp-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk5-cpp-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk5-cpp-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk5-cpp-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk5-cpp-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk5-cpp-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk5-cpp-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk5-cpp-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk5-cpp-getfleetrolecredentials)
+ [ListContainersNetworkInfo()](#integration-server-sdk5-cpp-listcontainersnetworkinfo)
+ [Détruire ()](#integration-server-sdk5-cpp-ref-destroy)

## GetSdkVersion()
<a name="integration-server-sdk5-cpp-getsdkversion"></a>

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

### Syntaxe
<a name="integration-server-sdk5-cpp-getsdkversion-syntax"></a>

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

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-getsdkversion-return"></a>

En cas de réussite, renvoie la version actuelle du kit SDK en tant qu'objet [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome). L'objet renvoyé inclut le numéro de version (exemple`5.0.0`). En cas d'échec, renvoie un message d'erreur.

### Exemple
<a name="integration-server-sdk5-cpp-getsdkversion-example"></a>

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

## InitMetrics()
<a name="integration-server-sdk5-cpp-initmetrics"></a>

Initialise le système de métriques pour collecter et rapporter les données de performance du serveur. Pour de meilleurs résultats, appelez cette méthode [InitSDK()](#integration-server-sdk5-cpp-initsdk) au préalable pour activer la collecte de métriques lors de l'initialisation du SDK.

### Syntaxe
<a name="integration-server-sdk5-cpp-initmetrics-syntax"></a>

```
Aws::GameLift::GenericOutcome InitMetrics();
Aws::GameLift::GenericOutcome InitMetrics(const Aws::GameLift::Server::MetricsParameters &metricsParameters);
```

### Parameters
<a name="integration-server-sdk5-cpp-initmetrics-parameter"></a>

[MetricsParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-metricsparameters) (facultatif)  
Paramètres de configuration pour la collecte de métriques. Si elles ne sont pas fournies, utilise des valeurs par défaut qui peuvent être remplacées par des variables d'environnement.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-initmetrics-return"></a>

En cas de succès, renvoie un [GenericOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-genericoutcome) objet indiquant le succès. En cas d'échec, renvoie un message d'erreur.

### Exemple
<a name="integration-server-sdk5-cpp-initmetrics-example"></a>

```
// Initialize with default parameters (uses environment variables if available)
// Defaults: localhost:8125 for StatsD, localhost:8126 for crash reporter
// FlushInterval: 10000ms, MaxPacketSize: 512 bytes
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::InitMetrics();
if (outcome.IsSuccess()) {
    // Metrics system initialized successfully
}

// Initialize with custom parameters
Aws::GameLift::Server::MetricsParameters metricsParams("localhost", 8125, "crash-host", 8126, 5000, 1024);
Aws::GameLift::GenericOutcome customOutcome = Aws::GameLift::Server::InitMetrics(metricsParams);
if (customOutcome.IsSuccess()) {
    // Metrics system initialized with custom parameters
}
```

## InitCustomLogger()
<a name="integration-server-sdk5-cpp-initcustomlogger"></a>

Achemine la sortie du journal du SDK du serveur vers un rappel de journalisation personnalisé que vous fournissez, à la place du fichier par défaut et de la journalisation de la console. Utilisez cette opération pour intégrer les journaux du SDK du serveur au système de journalisation de votre serveur de jeu. Par exemple, un serveur de jeu Unreal Engine peut acheminer les journaux du SDK via le système de journalisation Unreal Engine (). `UE_LOG`

Pour de meilleurs résultats, appelez cette opération avant [InitSDK()](#integration-server-sdk5-cpp-initsdk) afin que votre rappel reçoive les diagnostics d'initialisation du SDK (configuration de la connexion, initialisation de l'enregistreur et `InitSDK()` erreurs) dès le départ. `InitSDK()`Il est également sûr d'appeler `InitCustomLogger()` après. La sortie du journal passe à votre rappel à partir de ce moment. Les messages enregistrés avant l'appel sont transférés dans l'enregistreur par défaut.

Vous pouvez appeler cette opération au plus une fois. Les appels suivants sont renvoyés `ALREADY_INITIALIZED` et ne modifiez pas l'enregistreur déjà enregistré.

### Syntaxe
<a name="integration-server-sdk5-cpp-initcustomlogger-syntax"></a>

```
Aws::GameLift::GenericOutcome InitCustomLogger(const Aws::GameLift::Server::CustomLoggerConfiguration &logParameters);
```

### Parameters
<a name="integration-server-sdk5-cpp-initcustomlogger-parameter"></a>

[CustomLoggerConfiguration](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-customloggerconfiguration)  
La configuration de l'enregistreur personnalisé, y compris la fonction de rappel du journal, un pointeur contextuel des données utilisateur en option et le niveau de journalisation minimum à envoyer. Le rappel ne doit pas l'être `null` ; l'opération rejette un `null` rappel avec. `BAD_REQUEST_EXCEPTION`

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-initcustomlogger-return"></a>

En cas de succès, l'opération renvoie un [GenericOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-genericoutcome) objet indiquant le succès. Si l'opération échoue, le résultat contient un message d'erreur avec un code d'erreur, par exemple `BAD_REQUEST_EXCEPTION` lorsque le rappel a lieu `null` ou `ALREADY_INITIALIZED` lorsqu'un enregistreur est déjà enregistré.

### Exemple
<a name="integration-server-sdk5-cpp-initcustomlogger-example"></a>

```
// Implement a log callback that forwards SDK log messages to your logging system.
void OnGameLiftLog(Aws::GameLift::Server::LogLevel level, const char* message, void* userData)
{
  // Route the message to your game server's logging system.
  // The message pointer is valid only for the duration of this call; copy it if you
  // need to retain it.
  std::cout << message << std::endl;
}

// Configure and initialize the custom logger before calling InitSDK.
Aws::GameLift::Server::CustomLoggerConfiguration logParameters(OnGameLiftLog, nullptr, Aws::GameLift::Server::LogLevel::Info);
Aws::GameLift::GenericOutcome loggerOutcome = Aws::GameLift::Server::InitCustomLogger(logParameters);
if (loggerOutcome.IsSuccess()) {
    // Custom logger initialized successfully
}
```

## InitSDK()
<a name="integration-server-sdk5-cpp-initsdk"></a>

Initialise le kit SDK Amazon GameLift Servers. Appelez cette méthode au lancement avant toute autre étape d'initialisation liée àAmazon GameLift Servers. Cette action lit les paramètres du serveur depuis l'environnement hôte pour configurer la communication entre le processus du serveur de jeu et le Amazon GameLift Servers service. Il utilise un jeton d'idempotence, vous pouvez donc réessayer cet appel en toute sécurité en cas d'échec.

Si la version du serveur de jeu doit être déployée sans l'Amazon GameLift Serversagent sur une flotte Amazon GameLift Servers Anywhere ou une flotte de conteneurs, appelez [InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere) et spécifiez un ensemble de paramètres de serveur.

### Syntaxe
<a name="integration-server-sdk5-cpp-initsdk-syntax"></a>

```
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK();
```

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-initsdk-return"></a>

Renvoie un [Dans son résultat en matière de SDK](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) objet qui indique si le processus serveur est prêt à être appelé[ProcessReady()](#integration-server-sdk5-cpp-processready). 

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

```
//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = 
  Aws::GameLift::Server::InitSDK();
```

## InitSDK()
<a name="integration-server-sdk5-cpp-initsdk-anywhere"></a>

Initialise le kit SDK Amazon GameLift Servers. Appelez cette méthode au lancement avant toute autre étape d'initialisation liée àAmazon GameLift Servers. Cette action nécessite un ensemble de paramètres de serveur pour configurer la communication entre le processus du serveur de jeu et le Amazon GameLift Servers service. Il utilise un jeton d'idempotence, vous pouvez donc réessayer cet appel en toute sécurité en cas d'échec.

Si la version du serveur de jeu doit être déployée sur une flotte EC2 Amazon GameLift Servers gérée ou sur une flotte Amazon GameLift Servers Anywhere ou une flotte de conteneurs avec l'Amazon GameLift Serversagent, appelez [InitSDK()](#integration-server-sdk5-cpp-initsdk) sans paramètres de serveur.

### Syntaxe
<a name="integration-server-sdk5-cpp-initsdk-anywhere-syntax"></a>

```
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK(serverParameters);
```

### Parameters
<a name="integration-server-sdk5-cpp-initsdk-anywhere-parameter"></a>

[ServerParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-serverparameters)  
Pour initialiser un serveur de jeu sur une flotte Amazon GameLift Servers Anywhere, créez un `ServerParameters` objet avec les informations suivantes :  
+ L'URL WebSocket utilisée pour vous connecter à votre serveur de jeu. 
+ L'identifiant du processus utilisé pour héberger votre serveur de jeu. 
+ L'identifiant de l'ordinateur hébergeant les processus de votre serveur de jeu. 
+ L'ID de la Amazon GameLift Servers flotte contenant votre calcul Amazon GameLift Servers Anywhere.
+ Le jeton d'autorisation généré par l'Amazon GameLift Serversopération. 

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-initsdk-anywhere-return"></a>

Renvoie un [Dans son résultat en matière de SDK](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) objet qui indique si le processus serveur est prêt à être appelé[ProcessReady()](#integration-server-sdk5-cpp-processready). 

**Note**  
Si les appels à échouent pour `InitSDK()` les versions de jeu déployées sur des flottes Anywhere, vérifiez le `ServerSdkVersion` paramètre utilisé lors de la création de la ressource de build. Vous devez définir explicitement cette valeur sur la version du SDK du serveur utilisée. La valeur par défaut de ce paramètre est 4.x, ce qui n'est pas compatible. Pour résoudre ce problème, créez une nouvelle version et déployez-la dans une nouvelle flotte.

### Exemple
<a name="integration-server-sdk5-cpp-initsdk-anywhere-example"></a>

Amazon GameLift ServersExemple Anywhere

```
//Define the server parameters
std::string websocketUrl = "wss://us-west-1.api.amazongamelift.com";
std::string processId = "PID1234";
std::string fleetId = "arn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa";
std::string hostId = "HardwareAnywhere";
std::string authToken = "1111aaaa-22bb-33cc-44dd-5555eeee66ff";
Aws::GameLift::Server::Model::ServerParameters serverParameters = 
  Aws::GameLift::Server::Model::ServerParameters(webSocketUrl, authToken, fleetId, hostId, processId);

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = Aws::GameLift::Server::InitSDK(serverParameters);
```

## ProcessReady()
<a name="integration-server-sdk5-cpp-processready"></a>

Amazon GameLift ServersIndique que le processus serveur est prêt à héberger des sessions de jeu. Appelez cette méthode après l'avoir invoquée. [InitSDK()](#integration-server-sdk5-cpp-initsdk) Cette méthode ne doit être appelée qu'une seule fois par processus.

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

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

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

**processParameters**  
Objet [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) communiquant les informations suivantes relatives au processus serveur :  
+ Noms des méthodes de rappel implémentées dans le code du serveur de jeu que le Amazon GameLift Servers service invoque 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.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-processready-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-processready-example"></a>

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

```
// 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-sdk5-cpp-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 Amazon GameLift Servers à 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-sdk5-cpp-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-sdk5-cpp-processreadyasync-syntax"></a>

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

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

**processParameters**  
Objet [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) communiquant les informations suivantes relatives au processus serveur :  
+ Noms des méthodes de rappel implémentées dans le code du serveur de jeu que le Amazon GameLift Servers service invoque 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-sdk5-cpp-processreadyasync-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-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;
}
```

## ProcessEnding()
<a name="integration-server-sdk5-cpp-processending"></a>

Amazon GameLift ServersIndique que le processus serveur est en train de se terminer. Appelez cette méthode après toutes les autres tâches de nettoyage (y compris l'arrêt de la session de jeu active) et avant de terminer le processus. Selon le résultat de`ProcessEnding()`, le processus se termine avec succès (0) ou erreur (-1) et génère un événement de flotte. Si le processus se termine par une erreur, l'événement de flotte généré l'est`SERVER_PROCESS_TERMINATED_UNHEALTHY`.

### Syntaxe
<a name="integration-server-sdk5-cpp-processending-syntax"></a>

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
```

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-processending-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-processending-example"></a>

Cet exemple appelle `ProcessEnding()` et `Destroy()` avant de terminer le processus du serveur avec un code de sortie de réussite ou d'erreur.

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Aws::GameLift::Server::Destroy();

// Exit the process with success or failure
if (processEndingOutcome.IsSuccess()) {
  exit(0);
}
else {
  cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage();
  exit(-1);
}
```

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

Amazon GameLift ServersIndique que le processus serveur a activé une session de jeu et qu'il est maintenant prêt à recevoir les connexions des joueurs. Cette action doit être appelée dans le cadre de la fonction de `onStartGameSession()` rappel, après l'initialisation de toute session de jeu.

### Syntaxe
<a name="integration-server-sdk5-cpp-activategamesession-syntax"></a>

```
Aws::GameLift::GenericOutcome activateGameSessionOutcome = Aws::GameLift::Server::ActivateGameSession();
```

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-activategamesession-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-activategamesession-example"></a>

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

```
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();
}
```

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

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

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

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

**joueur CreationSessionPolicy**  
Type : [ valeur `PlayerSessionCreationPolicy`](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-enums) d'énumération.  
Obligatoire : oui

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-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);
```

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

Récupère l'identifiant de la session de jeu hébergée par le processus serveur actif. 

Pour les processus inactifs qui ne sont pas activés lors d'une session de jeu, l'appel renvoie un[GameLiftError](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-gamelifterror).

### Syntaxe
<a name="integration-server-sdk5-cpp-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

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

Cette action n'a aucun paramètre.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-getgamesessionid-return"></a>

En cas de réussite, renvoie l'ID de session de jeu en tant qu'objet [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome). En cas d'échec, renvoie un message d'erreur.

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

### Exemple
<a name="integration-server-sdk5-cpp-getgamesessionid-example"></a>

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

## GetTerminationTime()
<a name="integration-server-sdk5-cpp-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 agit après avoir reçu un `onProcessTerminate()` rappel deAmazon GameLift Servers. Amazon GameLift Serversappelle `onProcessTerminate()` pour les raisons suivantes : 
+ Lorsque le processus du serveur a signalé un mauvais état de santé ou n'a pas réponduAmazon GameLift Servers.
+ Lors de la fermeture de l'instance lors d'un événement de réduction d'échelle.
+ Lorsqu'une instance est résiliée en raison d'une interruption d'[instance ponctuelle. ](spot-tasks.md)

### Syntaxe
<a name="integration-server-sdk5-cpp-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

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

En cas de succès, renvoie l'heure de fin en tant qu'`AwsDateTimeOutcome`objet. La valeur est le temps 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` des ticks. Si aucun délai de résiliation n'est disponible, renvoie un message d'erreur.

Si le processus n'a pas reçu de rappel ProcessParameters.OnProcessTerminate (), un message d'erreur est renvoyé. Pour plus d'informations sur l'arrêt d'un processus serveur, consultez[Répondre à une notification d'arrêt d'un processus serveur](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

### Exemple
<a name="integration-server-sdk5-cpp-getterm-example"></a>

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

## AcceptPlayerSession()
<a name="integration-server-sdk5-cpp-acceptplayersession"></a>

Indique Amazon GameLift Servers qu'un joueur avec l'ID de session de joueur spécifié s'est connecté au processus serveur et doit être validé. Amazon GameLift Serversvérifie que l'identifiant de session du joueur est valide. Une fois la session du joueur validée, Amazon GameLift Servers change le statut de l'emplacement du joueur de RÉSERVÉ à ACTIF. 

### Syntaxe
<a name="integration-server-sdk5-cpp-acceptplayersession-syntax"></a>

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

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

joueur SessionId  
Identifiant unique émis Amazon GameLift Servers lors de la création d'une nouvelle session de joueur.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-acceptplayersession-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-acceptplayersession-example"></a>

Cet exemple gère une demande de connexion qui inclut la validation et le rejet d'identifiants de session de joueur non valides.

```
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();
  }       
}
```

## RemovePlayerSession()
<a name="integration-server-sdk5-cpp-removeplayersession"></a>

Amazon GameLift ServersIndique qu'un joueur s'est déconnecté du processus du serveur. En réponse, Amazon GameLift Servers change l'emplacement du joueur comme étant disponible. 

### Syntaxe
<a name="integration-server-sdk5-cpp-removeplayersession-syntax"></a>

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

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

**`playerSessionId`**  
Identifiant unique émis Amazon GameLift Servers lors de la création d'une nouvelle session de joueur.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-removeplayersession-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-removeplayersession-example"></a>

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

## DescribePlayerSessions()
<a name="integration-server-sdk5-cpp-describeplayersessions"></a>

Récupère les données de session du joueur, notamment les paramètres, les métadonnées de session et les données du joueur. Utilisez cette méthode pour obtenir des informations sur les points suivants :
+ Une session solo
+ Toutes les sessions de joueurs au cours d'une session de jeu
+ Toutes les sessions de joueur associées à un identifiant de joueur unique

### Syntaxe
<a name="integration-server-sdk5-cpp-describeplayersessions-syntax"></a>

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

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

**[DescribePlayerSessionsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-playersessions)**  
Un [DescribePlayerSessionsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-playersessions) objet qui décrit les sessions de joueur à récupérer.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-describeplayersessions-return"></a>

En cas de réussite, renvoie un objet [DescribePlayerSessionsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-describeplayersessionsoutcome) qui contient un ensemble d'objets de session de joueur correspondant aux paramètres de la demande.

### Exemple
<a name="integration-server-sdk5-cpp-describeplayersessions-example"></a>

Cet exemple demande toutes les sessions de joueurs activement connectées à une session de jeu spécifiée. En omettant * NextToken * et en réglant la * valeur * Limite sur 10, Amazon GameLift Servers renvoie les 10 premiers enregistrements de session de joueur correspondant à 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);
```

## StartMatchBackfill()
<a name="integration-server-sdk5-cpp-startmatchbackfill"></a>

Envoie une demande de recherche de nouveaux joueurs pour des emplacements ouverts dans une session de jeu créée avec FlexMatch. Pour plus d'informations, consultez la section Fonction [ de ](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html) FlexMatch remblayage.

Cette action est asynchrone. Si de nouveaux joueurs sont mis en correspondance, Amazon GameLift Servers fournit des données de matchmaking mises à jour à l'aide de 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-sdk5-cpp-stopmatchbackfill) pour annuler la requête d'origine.

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

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

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

**[StartMatchBackfillRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-startmatchbackfillrequest)**  
Un StartMatchBackfillRequest objet qui communique les informations suivantes :  
+ ID de ticket à attribuer à la requête de renvoi. Ces informations sont facultatives ; si aucun identifiant n'est fourni, un identifiant Amazon GameLift Servers sera généré.
+ Matchmaker auquel envoyer la requête. L'ARN de configuration complet est obligatoire. Cette valeur se trouve dans les données de matchmaking de la session de jeu.
+ L'ID de la session de jeu à remplir.
+ Les données de matchmaking disponibles pour les joueurs actuels de la session de jeu.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-startmatchbackfill-return"></a>

Renvoie un [StartMatchBackfillOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-startmatchbackfilloutcome) objet avec l'ID du ticket de remplissage correspondant, ou échoue avec un message d'erreur. 

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

```
// Build a backfill request
std::vector<Player> players;
Aws::GameLift::Server::Model::StartMatchBackfillRequest startBackfillRequest;
startBackfillRequest.SetTicketId("1111aaaa-22bb-33cc-44dd-5555eeee66ff");  // optional, autogenerated if not provided
startBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"); //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-sdk5-cpp-stopmatchbackfill"></a>

Annule une demande de remplacement de correspondance active. Pour plus d'informations, consultez la section Fonction [ de ](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html) FlexMatch remblayage.

### Syntaxe
<a name="integration-server-sdk5-cpp-stopmatchbackfill-syntax"></a>

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

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

**[StopMatchBackfillRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-stopmatchbackfillrequest)**  
Un StopMatchBackfillRequest objet identifiant le ticket de matchmaking à annuler :   
+ L'ID de ticket attribué à la demande de remplissage.
+ L'entremetteur auquel la demande de remplacement a été envoyée.
+ La session de jeu associée à la demande de remplacement.

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-stopmatchbackfill-return"></a>

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

### Exemple
<a name="integration-server-sdk5-cpp-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

Aws::GameLift::Server::Model::StopMatchBackfillRequest stopBackfillRequest;
stopBackfillRequest.SetTicketId("1111aaaa-22bb-33cc-44dd-5555eeee66ff");
stopBackfillRequest.SetGameSessionArn("the game session ARN"); // can use GetGameSessionId()
stopBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig");
// from the game session matchmaker data

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

## GetComputeCertificate()
<a name="integration-server-sdk5-cpp-getcomputecertificate"></a>

Récupère le chemin d'accès au certificat TLS utilisé pour chiffrer la connexion réseau entre votre ressource de calcul Amazon GameLift Servers Anywhere et. Amazon GameLift Servers Vous pouvez utiliser le chemin du certificat lorsque vous enregistrez votre appareil informatique dans une flotte Amazon GameLift Servers Anywhere. Pour plus d'informations, voir [ RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).

### Syntaxe
<a name="integration-server-sdk5-cpp-getcomputecertificate-syntax"></a>

```
GetComputeCertificateOutcome Server::GetComputeCertificate()
```

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-getcomputecertificate-return"></a>

Retourne un [GetComputeCertificateOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getcomputecertificateoutcome).

### Exemple
<a name="integration-server-sdk5-cpp-getcomputecertificate-example"></a>

```
Aws::GameLift::GetComputeCertificateOutcome certificate = Aws::GameLift::Server::GetComputeCertificate();
```

## GetFleetRoleCredentials()
<a name="integration-server-sdk5-cpp-getfleetrolecredentials"></a>

Récupère les informations d'identification du rôle IAM qui autorisent Amazon GameLift Servers à interagir avec d'autres personnes. Services AWS Pour de plus amples informations, veuillez consulter [Connectez votre GameLift Serveurs Amazon serveur de jeu hébergé vers un autre AWS resources](gamelift-sdk-server-resources.md).

### Syntaxe
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-syntax"></a>

```
GetFleetRoleCredentialsOutcome GetFleetRoleCredentials(GetFleetRoleCredentialsRequest request);
```

### Parameters
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-getfleetrolecredentialsrequest)

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-return"></a>

Renvoie un objet [GetFleetRoleCredentialsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsoutcome).

### Exemple
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-example"></a>

```
// form the fleet credentials request 
Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; 
getFleetRoleCredentialsRequest.SetRoleArn("arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction");

Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

Cet exemple montre l'utilisation de la `RoleSessionName` valeur facultative pour attribuer un nom à la session d'identification à des fins d'audit. Si vous ne fournissez pas de nom de session de rôle, la valeur par défaut « {{[fleet-id]}} - {{[host-id]}} » est utilisée.

```
// form the fleet credentials request 
Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; 
getFleetRoleCredentialsRequest.SetRoleArn("arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction");
getFleetRoleCredentialsRequest.SetRoleSessionName("MyFleetRoleSession"); 

Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

## ListContainersNetworkInfo()
<a name="integration-server-sdk5-cpp-listcontainersnetworkinfo"></a>

Récupère les informations réseau de tous les conteneurs exécutés sur la même instance, y compris le nom, l'ID, l'adresse IP locale et le type de groupe de conteneurs de chaque conteneur. Utilisez ces informations pour permettre aux processus du serveur de jeu de découvrir et de communiquer avec d'autres conteneurs qui s'exécutent sur la même instance.

Cette action n'est prise en charge que sur les flottes de conteneurs. Lorsqu'il est appelé depuis n'importe quel autre type de calcul, il renvoie une `UNSUPPORTED_COMPUTE_TYPE_EXCEPTION` erreur. Amazon GameLift Serversobtient les informations réseau à partir d'un serveur de découverte qui s'exécute localement sur l'instance.

### Syntaxe
<a name="integration-server-sdk5-cpp-listcontainersnetworkinfo-syntax"></a>

```
ListContainersNetworkInfoOutcome ListContainersNetworkInfo()
```

### Valeur renvoyée
<a name="integration-server-sdk5-cpp-listcontainersnetworkinfo-return"></a>

Retourne un [ListContainersNetworkInfoOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-listcontainersnetworkinfooutcome).

### Exemple
<a name="integration-server-sdk5-cpp-listcontainersnetworkinfo-example"></a>

```
Aws::GameLift::ListContainersNetworkInfoOutcome containersNetworkInfo = Aws::GameLift::Server::ListContainersNetworkInfo();
```

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

Libère le SDK du serveur de Amazon GameLift Servers jeu de la mémoire. Il est recommandé d'appeler cette méthode avant `ProcessEnding()` et après la fin du processus. Si vous utilisez une flotte Anywhere et que vous n'arrêtez pas les processus du serveur après chaque session de jeu, appelez `Destroy()` puis `InitSDK()` réinitialisez avant de signaler Amazon GameLift Servers que le processus est prêt à héberger une session de jeu avec. `ProcessReady()`

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

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

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

Il n'y a aucun paramètre.

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

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

### Exemple
<a name="integration-server-sdk5-cpp-ref-destroy-example"></a>

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Aws::GameLift::Server::Destroy();

// Exit the process with success or failure
if (processEndingOutcome.IsSuccess()) {
  exit(0);
}
else {
  cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage();
  exit(-1);
}
```