

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Server C\$1\$1 SDK 5.x per -- Azioni Amazon GameLift Servers
<a name="integration-server-sdk5-cpp-actions"></a>

Usa il riferimento all'SDK 5.x del server per integrare il tuo gioco multiplayer con cui ospitarlo. Amazon GameLift Servers Per indicazioni sul processo di integrazione, consulta. [Aggiungi Amazon GameLift Servers al tuo server di gioco con l'SDK del server](gamelift-sdk-server-api.md)

**Nota**  
Questo argomento descrive l'API Amazon GameLift Servers C\$1\$1 che è possibile utilizzare quando si crea con la libreria standard C\$1\$1 ()`std`. In particolare, questa documentazione si applica al codice compilato con l'opzione. `-DDGAMELIFT_USE_STD=1` 

[Server C\$1\$1 SDK 5.x per Amazon GameLift Servers -- Tipi di dati](integration-server-sdk5-cpp-datatypes.md)

**Topics**
+ [Server C\$1\$1 SDK 5.x per Amazon GameLift Servers -- Tipi di dati](integration-server-sdk5-cpp-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk5-cpp-getsdkversion)
+ [InitMetrics()](#integration-server-sdk5-cpp-initmetrics)
+ [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)
+ [Distruggi ()](#integration-server-sdk5-cpp-ref-destroy)

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

Restituisce il numero di versione corrente dell'SDK integrato nel processo del server.

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

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

### Valore restituito
<a name="integration-server-sdk5-cpp-getsdkversion-return"></a>

Se l'esito è positivo, restituisce la versione corrente dell'SDK come oggetto [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome). L'oggetto restituito include il numero di versione (esempio`5.0.0`). Se l'esito è negativo, verrà restituito un messaggio di errore.

### Esempio
<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>

Inizializza il sistema di metriche per la raccolta e la segnalazione dei dati sulle prestazioni del server. Per ottenere i migliori risultati, chiamate prima questo metodo per abilitare la raccolta delle metriche [InitSDK()](#integration-server-sdk5-cpp-initsdk) durante l'inizializzazione dell'SDK.

### Sintassi
<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) (facoltativo)  
Parametri di configurazione per la raccolta delle metriche. Se non viene fornito, utilizza valori predefiniti che possono essere sostituiti dalle variabili di ambiente.

### Valore restituito
<a name="integration-server-sdk5-cpp-initmetrics-return"></a>

In caso di successo, restituisce un [GenericOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-genericoutcome) oggetto che indica il successo. Se l'esito è negativo, verrà restituito un messaggio di errore.

### Esempio
<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
}
```

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

Inizializza l'SDK Amazon GameLift Servers. Chiama questo metodo all'avvio prima di qualsiasi altro passaggio di inizializzazione relativo aAmazon GameLift Servers. Questa azione legge i parametri del server dall'ambiente host per impostare la comunicazione tra il processo del server di gioco e il Amazon GameLift Servers servizio. Utilizza un token di idempotenza, quindi puoi riprovare a ripetere questa chiamata in tutta sicurezza quando fallisce.

Se la build del server di gioco verrà implementata senza l'Amazon GameLift ServersAgent to a Amazon GameLift Servers Anywhere fleet o la flotta di container, chiama [InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere) e specifica una serie di parametri del server.

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

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

### Valore restituito
<a name="integration-server-sdk5-cpp-initsdk-return"></a>

Restituisce un [Inizialo SDKOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) oggetto che indica se il processo del server è pronto per la chiamata. [ProcessReady()](#integration-server-sdk5-cpp-processready) 

### Esempio
<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>

Inizializza l'SDK Amazon GameLift Servers. Chiama questo metodo all'avvio prima di qualsiasi altro passaggio di inizializzazione relativo aAmazon GameLift Servers. Questa azione richiede una serie di parametri del server per impostare la comunicazione tra il processo del server di gioco e il Amazon GameLift Servers servizio. Utilizza un token di idempotenza, quindi puoi riprovare a ripetere questa chiamata in tutta sicurezza quando fallisce.

Se la build del server di gioco verrà distribuita su una flotta EC2 Amazon GameLift Servers gestita o su una flotta o una flotta di container Amazon GameLift Servers Anywhere con l'Amazon GameLift ServersAgent, chiama senza parametri del server. [InitSDK()](#integration-server-sdk5-cpp-initsdk)

### Sintassi
<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)  
Per inizializzare un server di gioco su una flotta Amazon GameLift Servers Anywhere, costruisci un `ServerParameters` oggetto con le seguenti informazioni:  
+ L'URL WebSocket utilizzato per connettersi al server di gioco. 
+ L'ID del processo utilizzato per ospitare il server di gioco. 
+ L'ID del computer che ospita i processi del server di gioco. 
+ L'ID della Amazon GameLift Servers flotta contenente il tuo computer Amazon GameLift Servers Anywhere.
+ Il token di autorizzazione generato dall'Amazon GameLift Serversoperazione. 

### Valore restituito
<a name="integration-server-sdk5-cpp-initsdk-anywhere-return"></a>

Restituisce un [Inizialo SDKOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) oggetto che indica se il processo del server è pronto per la chiamata. [ProcessReady()](#integration-server-sdk5-cpp-processready) 

**Nota**  
Se le chiamate a non `InitSDK()` riescono per le build di gioco distribuite sulle flotte Anywhere, controlla il `ServerSdkVersion` parametro utilizzato durante la creazione della risorsa di compilazione. È necessario impostare esplicitamente questo valore sulla versione SDK del server in uso. Il valore predefinito per questo parametro è 4.x, che non è compatibile. Per risolvere questo problema, crea una nuova build e distribuiscila in una nuova flotta.

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

Amazon GameLift ServersEsempio: Ovunque

```
//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>

Notifica Amazon GameLift Servers che il processo del server è pronto per ospitare sessioni di gioco. Chiama questo metodo dopo averlo [InitSDK()](#integration-server-sdk5-cpp-initsdk) invocato. Questo metodo deve essere chiamato solo una volta per processo.

### Sintassi
<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**  
Un oggetto [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) che comunica le informazioni seguenti sul processo del server:  
+ Nomi dei metodi di callback implementati nel codice del server di gioco richiamato dal Amazon GameLift Servers servizio per comunicare con il processo del server.
+ Numero di porta sulla quale è in ascolto il processo del server.
+ Percorso verso qualsiasi file specifico di una sessione di gioco che Amazon GameLift Servers deve acquisire e archiviare.

### Valore restituito
<a name="integration-server-sdk5-cpp-processready-return"></a>

Restituisce un risultato generico composto da successo o fallimento con un messaggio di errore.

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

Questo esempio illustra la chiamata [ProcessReady()](#integration-server-sdk5-cpp-processready) e le implementazioni della funzione delegata.

```
// 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>

Notifica al servizio Amazon GameLift Servers che il processo del server è pronto per l'hosting delle sessioni di gioco. Questo metodo dovrebbe essere chiamato dopo che il processo del server è pronto per ospitare una sessione di gioco. I parametri specificano i nomi delle funzioni di callback Amazon GameLift Servers da chiamare in determinate circostanze. Il codice del server di gioco deve implementare queste funzioni.

Questa chiamata è asincrona. Per effettuare una chiamata sincrona, utilizza [ProcessReady()](#integration-server-sdk5-cpp-processready). Per ulteriori dettagli, consulta [Inizializza il processo del server](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize).

### Sintassi
<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**  
Un oggetto [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) che comunica le informazioni seguenti sul processo del server:  
+ Nomi dei metodi di callback implementati nel codice del server di gioco richiamato dal Amazon GameLift Servers servizio per comunicare con il processo del server.
+ Numero di porta sulla quale è in ascolto il processo del server.
+ Percorso verso qualsiasi file specifico di una sessione di gioco che Amazon GameLift Servers deve acquisire e archiviare.
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk5-cpp-processreadyasync-return"></a>

Restituisce un risultato generico composto da successo o fallimento con un messaggio di errore.

### Esempio
<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>

Notifica Amazon GameLift Servers che il processo del server sta terminando. Chiama questo metodo dopo tutte le altre attività di pulizia (inclusa la chiusura della sessione di gioco attiva) e prima di terminare il processo. A seconda del risultato di`ProcessEnding()`, il processo termina con successo (0) o errore (-1) e genera un evento relativo alla flotta. Se il processo termina con un errore, l'evento fleet generato è. `SERVER_PROCESS_TERMINATED_UNHEALTHY`

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

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

### Valore restituito
<a name="integration-server-sdk5-cpp-processending-return"></a>

Restituisce un risultato generico costituito da successo o fallimento con un messaggio di errore.

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

Questo esempio chiama `ProcessEnding()` e `Destroy()` prima di terminare il processo del server con un codice di uscita riuscito o di errore.

```
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>

Notifica Amazon GameLift Servers che il processo del server ha attivato una sessione di gioco ed è ora pronto a ricevere le connessioni dei giocatori. Questa azione dovrebbe essere richiamata come parte della funzione di `onStartGameSession()` callback, dopo l'inizializzazione di tutta la sessione di gioco.

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

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

### Valore restituito
<a name="integration-server-sdk5-cpp-activategamesession-return"></a>

Restituisce un risultato generico composto da successo o fallimento con un messaggio di errore.

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

Questo esempio mostra le `ActivateGameSession()` chiamate come parte della funzione `onStartGameSession()` delegata. 

```
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>

Aggiorna la capacità della sessione di gioco corrente di accettare nuove sessioni giocatore. Una sessione di gioco può essere configurata per accettare o rifiutare tutte le nuove sessioni giocatore.

### Sintassi
<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>

**playerCreationSessionPolitica**  
Tipo: valore `PlayerSessionCreationPolicy` [enum](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-enums).  
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-return"></a>

Restituisce un risultato generico costituito da successo o fallimento con un messaggio di errore.

### Esempio
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-example"></a>

Questo esempio definisce la policy di partecipazione alla sessione di gioco corrente per accettare tutti i giocatori.

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

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

Recupera l'ID della sessione di gioco ospitata dal processo del server attivo. 

Per i processi inattivi che non vengono attivati con una sessione di gioco, la chiamata restituisce un. [GameLiftError](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-gamelifterror)

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

```
AwsStringOutcome GetGameSessionId()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk5-cpp-getgamesessionid-return"></a>

Se l'esito è positivo, l'ID della sessione di gioco verrà restituito come oggetto [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome). Se l'esito è negativo, verrà restituito un messaggio di errore.

Per i processi inattivi che non vengono attivati con una sessione di gioco, la chiamata restituisce `Success` = `True` e `GameSessionId` =. `""`

### Esempio
<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>

Restituisce il tempo di arresto pianificato di un processo del server, se è disponibile un tempo di chiusura. Un processo server interviene dopo aver ricevuto una `onProcessTerminate()` richiamata da. Amazon GameLift Servers Amazon GameLift Serverschiama `onProcessTerminate()` per i seguenti motivi: 
+ Quando il processo del server ha segnalato problemi di salute o non ha risposto. Amazon GameLift Servers
+ Quando si termina l'istanza durante un evento di scale-down.
+ [Quando un'istanza viene terminata a causa di un'interruzione di un'istanza spot.](spot-tasks.md)

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

```
AwsDateTimeOutcome GetTerminationTime()
```

### Valore restituito
<a name="integration-server-sdk5-cpp-getterm-return"></a>

In caso di successo, restituisce l'ora di terminazione come oggetto. `AwsDateTimeOutcome` Il valore è il tempo di terminazione, espresso in segni di spunta trascorsi da allora. `0001 00:00:00` Ad esempio, il valore della data e dell'ora è uguale ai segni di `2020-09-13 12:26:40 -000Z` spunta. `637355968000000000` Se non è disponibile alcun orario di terminazione, restituisce un messaggio di errore.

Se il processo non ha ricevuto un ProcessParameters. OnProcessTerminate() callback, viene restituito un messaggio di errore. Per ulteriori informazioni sulla chiusura di un processo server, vedere. [Rispondi a una notifica di chiusura del processo del server](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate)

### Esempio
<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>

Notifica Amazon GameLift Servers che un giocatore con l'ID di sessione specificato si è connesso al processo del server e deve essere convalidato. Amazon GameLift Serversverifica che l'ID della sessione del giocatore sia valido. Dopo la convalida della sessione di gioco, Amazon GameLift Servers modifica lo stato dello slot del giocatore da RISERVATO ad ATTIVO. 

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

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

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

playerSessionId  
ID univoco rilasciato Amazon GameLift Servers quando viene creata una nuova sessione giocatore.

### Valore restituito
<a name="integration-server-sdk5-cpp-acceptplayersession-return"></a>

Restituisce un risultato generico composto da successo o fallimento con un messaggio di errore. 

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

Questo esempio gestisce una richiesta di connessione che include la convalida e il rifiuto di una sessione giocatore non valida. 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();
  }       
}
```

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

Notifica Amazon GameLift Servers che un giocatore si è disconnesso dal processo del server. In risposta, Amazon GameLift Servers modifica lo slot del giocatore rendendolo disponibile. 

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

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

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

**`playerSessionId`**  
ID univoco rilasciato Amazon GameLift Servers quando viene creata una nuova sessione di gioco.

### Valore restituito
<a name="integration-server-sdk5-cpp-removeplayersession-return"></a>

Restituisce un risultato generico composto da successo o fallimento con un messaggio di errore.

### Esempio
<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>

Recupera i dati della sessione del giocatore che includono impostazioni, metadati della sessione e dati del giocatore. Utilizzate questo metodo per ottenere informazioni su quanto segue:
+ Una sessione per giocatore singolo
+ Tutte le sessioni dei giocatori in una sessione di gioco
+ Tutte le sessioni dei giocatori sono associate a un ID giocatore singolo

### Sintassi
<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) oggetto che descrive le sessioni dei giocatori da recuperare.

### Valore restituito
<a name="integration-server-sdk5-cpp-describeplayersessions-return"></a>

Se l'esito è positivo, restituisce un oggetto [DescribePlayerSessionsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-describeplayersessionsoutcome) contenente un set di oggetti di sessione giocatore corrispondente ai parametri della richiesta.

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

Questo esempio richiede che tutte le sessioni dei giocatori siano connesse attivamente a una sessione di gioco specificata. Omettendo *NextToken*e impostando il valore *Limite* su 10, Amazon GameLift Servers restituisce i primi 10 record di sessione tra giocatori corrispondenti alla richiesta.

```
// 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>

Invia una richiesta per trovare nuovi giocatori per gli slot aperti in una sessione di gioco creata con FlexMatch. Per ulteriori informazioni, consulta la funzione di [FlexMatchriempimento](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Questa operazione è asincrona. Se vengono abbinati nuovi giocatori, Amazon GameLift Servers fornisce dati aggiornati sul matchmaker utilizzando la funzione di callback. `OnUpdateGameSession()`

Un processo del server può avere un solo backfill degli abbinamenti attivo alla volta. Per inviare una nuova richiesta, chiama prima [StopMatchBackfill()](#integration-server-sdk5-cpp-stopmatchbackfill) per annullare la richiesta originale.

### Sintassi
<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 oggetto che comunica le seguenti informazioni:  
+ ID del ticket da assegnare alla richiesta di backfill. Queste informazioni sono facoltative; se non viene fornito alcun ID, ne Amazon GameLift Servers genererà uno.
+ Matchmaker a cui inviare la richiesta. L'ARN di configurazione completo è obbligatorio. Questo valore si trova nei dati del matchmaker della sessione di gioco.
+ L'ID della sessione di gioco da riempire.
+ I dati di matchmaking disponibili per i giocatori attuali della sessione di gioco.

### Valore restituito
<a name="integration-server-sdk5-cpp-startmatchbackfill-return"></a>

Restituisce un [StartMatchBackfillOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-startmatchbackfilloutcome) oggetto con l'ID del ticket match backfill, oppure restituisce un errore con un messaggio di errore. 

### Esempio
<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>

Annulla una richiesta di match backfill attiva. Per ulteriori informazioni, consulta la funzione di [FlexMatchriempimento](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Sintassi
<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 oggetto che identifica il ticket di matchmaking da annullare:   
+ L'ID del ticket assegnato alla richiesta di riempimento.
+ Il matchmaker a cui è stata inviata la richiesta di riempimento.
+ La sessione di gioco associata alla richiesta di riempimento.

### Valore restituito
<a name="integration-server-sdk5-cpp-stopmatchbackfill-return"></a>

Restituisce un risultato generico composto da successo o fallimento con un messaggio di errore.

### Esempio
<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>

Recupera il percorso del certificato TLS utilizzato per crittografare la connessione di rete tra la risorsa di elaborazione Amazon GameLift Servers Anywhere e. Amazon GameLift Servers Puoi utilizzare il percorso del certificato quando registri il tuo dispositivo di elaborazione in una flotta Anywhere. Amazon GameLift Servers Per ulteriori informazioni, consultare [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).

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

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

### Valore restituito
<a name="integration-server-sdk5-cpp-getcomputecertificate-return"></a>

Restituisce una [GetComputeCertificateOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getcomputecertificateoutcome).

### Esempio
<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>

Recupera le credenziali del ruolo IAM che autorizzano Amazon GameLift Servers a interagire con altri. Servizi AWS Per ulteriori informazioni, consulta [Connect il server di gioco Amazon GameLift Servers ospitato ad altre AWS risorse](gamelift-sdk-server-resources.md).

### Sintassi
<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)

### Valore restituito
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-return"></a>

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

### Esempio
<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);
```

Questo esempio mostra l'uso del `RoleSessionName` valore opzionale per assegnare un nome alla sessione di credenziali a fini di controllo. Se non si fornisce un nome per la sessione di ruolo, viene utilizzato il valore predefinito *[host-id]* "*[fleet-id]*-».

```
// 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);
```

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

Libera l'SDK del server di Amazon GameLift Servers gioco dalla memoria. È consigliabile chiamare questo metodo dopo `ProcessEnding()` e prima di terminare il processo. Se utilizzi una flotta Anywhere e non interrompi i processi del server dopo ogni sessione di gioco, chiama `Destroy()` e poi `InitSDK()` reinizializza prima di notificare Amazon GameLift Servers che il processo è pronto per ospitare una sessione di gioco. `ProcessReady()`

### Sintassi
<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>

Non ci sono parametri.

### Valore restituito
<a name="integration-server-sdk5-cpp-ref-destroy-return"></a>

Restituisce un risultato generico costituito da successo o fallimento con un messaggio di errore.

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