

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# SDK do servidor C\$1\$1 para Amazon GameLift Servers 4x – Ações
<a name="integration-server-sdk-cpp-ref-actions"></a>

Use a referência do SDK do servidor para integrar o jogo multijogador à hospedagem com o Amazon GameLift Servers. Para obter orientação sobre o processo de integração, consulte [Integre o Amazon GameLift Servers ao seu servidor de jogos com o SDK do servidor.](gamelift-sdk-server-api.md).

**nota**  
Essa referência é para uma versão anterior do SDK de servidor do Amazon GameLift Servers. Para obter a versão mais recente, consulte [SDK do servidor C\$1\$1 para Amazon GameLift Servers 5.x – Ações](integration-server-sdk5-cpp-actions.md).

# SDK do servidor C\$1\$1 para Amazon GameLift Servers 4.x -- Tipos de dados
<a name="integration-server-sdk-cpp-ref-datatypes"></a>

Use a referência do SDK do servidor para integrar o jogo multijogador à hospedagem com o Amazon GameLift Servers. Para obter orientação sobre o processo de integração, consulte [Integre o Amazon GameLift Servers ao seu servidor de jogos com o SDK do servidor.](gamelift-sdk-server-api.md).

**nota**  
Essa referência é para uma versão anterior do SDK de servidor do Amazon GameLift Servers. Para obter a versão mais recente, consulte [SDK do servidor C\$1\$1 5.x para Amazon GameLift Servers -- Tipos de dados](integration-server-sdk5-cpp-datatypes.md).

Esta API é definida em `GameLiftServerAPI.h`, `LogParameters.h` e `ProcessParameters.h`.

[SDK do servidor C\$1\$1 para Amazon GameLift Servers 4x – Ações](integration-server-sdk-cpp-ref-actions.md)

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

Esse tipo de dados é usado para especificar quais sessões de jogador recuperar. Você pode usá-lo da seguinte forma: 
+ Forneça um PlayerSessionId para solicitar uma sessão de jogador específica.
+ Forneça um GameSessionId para solicitar todas as sessões de jogadores na sessão de jogo especificada.
+ Forneça um PlayerId para solicitar todas as sessões de jogadores para o jogador especificado.

Para grandes coleções de sessões de jogador, use os parâmetros de paginação para recuperar resultados em blocos sequenciais.

### Conteúdo
<a name="integration-server-sdk-cpp-ref-dataypes-playersessions-contents"></a>

**GameSessionId**  
Identificador da sessão de jogo exclusivo. Use esse parâmetro para solicitar todas as sessões de jogador da sessão de jogo especificada. O formato do ID da sessão de jogo é o seguinte: `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>`. O valor de <ID string> é uma string de ID personalizada ou (se houver uma especificada quando a sessão de jogo foi criada) uma string gerada.   
Tipo: string  
Obrigatório: não

**Limite**  
O número máximo de resultados a serem retornados. Use esse parâmetro com *NextToken*para obter resultados como um conjunto de páginas sequenciais. Se um ID de sessão de jogador for especificado, esse parâmetro será ignorado.  
Tipo: inteiro  
Obrigatório: não

**NextToken**  
Token indicando o início da próxima página sequencial de resultados. Use o token retornado com uma chamada anterior para essa ação. Para especificar o início do conjunto de resultados, não especifique um valor. Se um ID de sessão de jogador for especificado, esse parâmetro será ignorado.  
Tipo: string  
Obrigatório: não

**PlayerId**  
Identificador exclusivo para um jogador. IDs Os jogadores são definidos pelo desenvolvedor. Consulte [Gerar IDs de jogador](player-sessions-player-identifiers.md).  
Tipo: string  
Obrigatório: não

**PlayerSessionId**  
Identificador exclusivo para uma sessão de jogador.  
Tipo: string  
Obrigatório: não

**PlayerSessionStatusFilter**  
Status da sessão de jogador para filtrar resultados. Entre os status da sessão de jogador possíveis estão os seguintes:  
+ RESERVADO — A solicitação de sessão do jogador foi recebida, mas o jogador ainda não se conectou ao servidor. O processo and/or foi validado.
+ ACTIVE – O jogador foi validado pelo processo de servidor e está conectado no momento.
+ COMPLETED – A conexão do jogador foi interrompida.
+ TEMPO LIMITE — Uma solicitação de sessão do jogador foi recebida, mas o jogador que não se conectou não and/or foi validado dentro do limite de tempo limite (60 segundos).
Tipo: string  
Obrigatório: não

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

Este tipo de dados é usado para identificar quais arquivos gerados durante uma sessão de jogo você deseja que o Amazon GameLift Servers faça upload e armazene assim que a sessão de jogo terminar. Essas informações são comunicadas ao serviço Amazon GameLift Servers em uma chamada [ProcessReady()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processready).

### Conteúdo
<a name="integration-server-sdk-cpp-ref-dataypes-log-contents"></a>

**logPaths**  
Caminhos de diretório para arquivos de log do servidor de jogos que você deseja que o Amazon GameLift Servers armazene para acesso futuro. Esses arquivos são gerados durante cada sessão do jogo. Os nomes e caminhos de arquivos são definidos no seu servidor de jogos e armazenados no diretório raiz da compilação do jogo. Os caminhos de log devem ser caminhos absolutos. Por exemplo, se a compilação do jogo armazenasse logs de sessão de jogo em um caminho como `MyGame\sessionlogs\`, o caminho de log seria `c:\game\MyGame\sessionLogs` (em uma instância do Windows) ou `/local/game/MyGame/sessionLogs` (em uma instância do Linux).   
Tipo: std:vector<std::string>  
Obrigatório: não

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

Este tipo de dados contém o conjunto de parâmetros enviado para o serviço Amazon GameLift Servers em uma chamada [ProcessReady()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processready).

### Conteúdo
<a name="integration-server-sdk-cpp-ref-dataypes-process-contents"></a>

**porta**  
Número da porta em que o processo de servidor escuta para novas conexões de jogador. O valor deve estar dentro do intervalo de portas configurado para qualquer frota que implanta essa compilação do servidor de jogo. Esse número de porta está incluído nos objetos das sessões de jogo e jogador, que as sessões de jogo usam ao se conectar a um processo de servidor.   
Tipo: inteiro   
Obrigatório: Sim

**logParameters**  
Objeto com uma lista de caminhos de diretório para arquivos de log da sessão de jogo.   
Tipo: Aws:GameLift: :Servidor:: [LogParameters](#integration-server-sdk-cpp-ref-dataypes-log)  
Obrigatório: não

**onStartGameSessão**  
Nome da função de retorno de chamada que o Amazon GameLift Servers serviço invoca para ativar uma nova sessão de jogo. Amazon GameLift Serverschama essa função em resposta à solicitação do cliente [CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html). A função de retorno de chamada transmite um [GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html)objeto (definido na *Referência da API Amazon GameLift Servers de serviço*).   
Tipo: `const std::function<void(Aws::GameLift::Model::GameSession)> onStartGameSession`   
Obrigatório: Sim

**onProcessTerminate**  
Nome da função de retorno de chamada que o serviço Amazon GameLift Servers invoca para forçar o desligamento do processo de servidor. Depois de chamar essa função, o Amazon GameLift Servers aguardará cinco minutos para o processo de servidor encerrar e responder com uma chamada [ProcessEnding()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-processending). Se nenhuma resposta for recebida, ele desativará o processo do servidor.  
Tipo: `std::function<void()> onProcessTerminate`  
Obrigatório: não

**onHealthCheck**  
Nome da função de retorno que o serviço Amazon GameLift Servers invoca para solicitar um relatório de status de integridade do processo de servidor. O Amazon GameLift Servers chama essa função a cada 60 segundos. Depois de chamar essa função, o Amazon GameLift Servers aguardará 60 segundos por uma resposta e, se nenhuma for recebida, registra o processo do servidor como não íntegro.  
Tipo: `std::function<bool()> onHealthCheck`  
Obrigatório: não

**onUpdateGameSessão**  
Nome da função de retorno de chamada que o serviço Amazon GameLift Servers invoca para passar um objeto de sessão de jogo atualizado ao processo do jogo. O Amazon GameLift Servers chama essa função quando uma solicitação de [alocação de correspondência](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html) foi processada para fornecer dados de combinador atualizados. Ele transmite um objeto [GameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html), uma atualização de status (`updateReason`) e o ID do tíquete de alocação de correspondência.   
Tipo: `std::function<void(Aws::GameLift::Server::Model::UpdateGameSession)> onUpdateGameSession`   
Obrigatório: não

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

Esse tipo de dados é usado para enviar uma solicitação de alocação de criação de partidas. As informações são fornecidas ao serviço Amazon GameLift Servers em uma chamada [StartMatchBackfill()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-startmatchbackfill).

### Conteúdo
<a name="integration-server-sdk-cpp-ref-dataypes-startbackfill-contents"></a>

**GameSessionArn**  
 Identificador da sessão de jogo exclusivo. A ação de API [GetGameSessionId()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-getgamesessionid) retorna o identificador no formato de ARN.  
Tipo: sequência  
Obrigatório: Sim

**MatchmakingConfigurationArn**  
O identificador exclusivo, no formato de ARN, para o marcador de jogos a ser usado para essa solicitação. Para encontrar o marcador de jogos usado para criar a sessão de jogo original, procure no objeto de sessão do jogo, na propriedade de dados do marcador de jogos. Saiba mais sobre os dados do marcador de jogos no [ Trabalhar com dados do marcador de jogos](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).   
Tipo: sequência  
Obrigatório: Sim

**Jogadores**  
Um conjunto de dados que representa todos os jogadores que estão na sessão do jogo no momento. O marcador de jogos usa essas informações para pesquisar novos jogadores que sejam correspondências ideais para os jogadores atuais. Consulte o *Guia de Referência de API do Amazon GameLift Servers* para obter uma descrição do formato do objeto Player. Para encontrar os atributos do jogador e as atribuições da equipe, procure no objeto da sessão do jogo, na propriedade de dados do matchmaker. IDs Se o marcador de jogos usa latência, obtenha a latência atualizada para a região atual e a inclua nos dados de cada jogador.   
Tipo: std:vector[<player>](https://docs.aws.amazon.com/gamelift/latest/apireference/API_Player.html)  
Obrigatório: Sim

**TicketId**  
O identificador exclusivo de um tíquete de solicitação de marcação de jogo ou de alocação de correspondência. Se nenhum valor for fornecido aqui, o Amazon GameLift Servers gerará um no formato de UUID. Use esse identificador para acompanhar o status do tíquete de alocação de correspondência ou cancelar a solicitação, se necessário.   
Tipo: string  
Obrigatório: não

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

Esse tipo de dados é usado para cancelar uma solicitação de alocação de marcação de jogo. As informações são fornecidas ao serviço Amazon GameLift Servers em uma chamada [StopMatchBackfill()](integration-server-sdk-cpp-ref-actions.md#integration-server-sdk-cpp-ref-stopmatchbackfill).

### Conteúdo
<a name="integration-server-sdk-cpp-ref-dataypes-stopbackfill-contents"></a>

**GameSessionArn**  
O identificador de sessão de jogo exclusivo associado à solicitação que está sendo cancelada.   
Tipo: sequência  
Obrigatório: Sim

**MatchmakingConfigurationArn**  
O identificador exclusivo do marcador de jogos para o qual essa solicitação foi enviada.   
Tipo: sequência  
Obrigatório: Sim

**TicketId**  
O identificador exclusivo do tíquete de solicitação de alocação a ser cancelado.  
Tipo: sequência  
Obrigatório: Sim

[SDK do servidor C\$1\$1 para Amazon GameLift Servers 4.x -- Tipos de dados](integration-server-sdk-cpp-ref-datatypes.md)

**Topics**
+ [SDK do servidor C\$1\$1 para Amazon GameLift Servers 4.x -- Tipos de dados](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)
+ [Destroy()](#integration-server-sdk-cpp-ref-destroy)

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

Notifica o serviço do Amazon GameLift Servers de que um jogador com o ID da sessão do jogador especificado se conectou ao processo do servidor e precisa de validação. O Amazon GameLift Servers verifica se o ID da sessão do jogador é válido, ou seja, se o ID do jogador reservou um slot de jogador na sessão do jogo. Depois de validado, o Amazon GameLift Servers altera o status do slot do jogador de RESERVED para ACTIVE. 

### Sintaxe
<a name="integration-server-sdk-cpp-ref-acceptplayersession-syntax"></a>

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

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

**playerSessionId**  
ID exclusiva emitida pelo Amazon GameLift Servers serviço em resposta a uma chamada para a ação [CreatePlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html)da Amazon GameLift Servers API do AWS SDK. O cliente do jogo faz referência a esse ID ao se conectar ao processo do servidor.  
Tipo: std::string  
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-acceptplayersession-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro. 

### Exemplo
<a name="integration-server-sdk-cpp-ref-acceptplayersession-example"></a>

Este exemplo ilustra uma função para lidar com uma solicitação de conexão, incluindo a validação e rejeição de uma sessão de jogador inválida. 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>

Notifica o serviço Amazon GameLift Servers de que o processo do servidor iniciou uma sessão de jogo e está pronto para receber as conexões dos jogadores. Essa ação deve ser chamada como parte da função de retorno de chamada `onStartGameSession()`, depois que toda a inicialização da sessão tiver sido concluída.

### Sintaxe
<a name="integration-server-sdk-cpp-ref-activategamesession-syntax"></a>

```
GenericOutcome ActivateGameSession();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-activategamesession-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

### Exemplo
<a name="integration-server-sdk-cpp-ref-activategamesession-example"></a>

Este exemplo mostra `ActivateGameSession()` sendo chamado como parte da função de retorno de chamada `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>

Recupera dados da sessão do jogador, inclusive configurações, metadados da sessão e dados do jogador. Use essa ação para obter informações de uma única sessão de jogador, para todas as sessões de jogador em uma sessão de jogo, ou para todas as sessões de jogador associadas a um único ID de jogador.

### Sintaxe
<a name="integration-server-sdk-cpp-ref-describeplayersessions-syntax"></a>

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

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

**describePlayerSessionsSolicitação**  
Um objeto [DescribePlayerSessionsRequest](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-playersessions) que descreve quais sessões de jogador recuperar.  
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-describeplayersessions-return"></a>

Se bem-sucedido, retorna um objeto `DescribePlayerSessionsOutcome` que contém um conjunto de objetos de sessão do jogador que atendem aos parâmetros de solicitação. Os objetos de sessão do player têm uma estrutura idêntica ao tipo de [PlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_PlayerSession.html)dados da Amazon GameLift Servers API do AWS SDK.

### Exemplo
<a name="integration-server-sdk-cpp-ref-describeplayersessions-example"></a>

Este exemplo ilustra uma solicitação para todas as sessões de jogador conectadas ativamente a uma sessão de jogo especificada. Omitindo `NextToken` e definindo o valor `Limit` como 10, o Amazon GameLift Servers retorna os 10 primeiros registros de sessões do jogador correspondentes à solicitação.

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

Recupera um identificador exclusivo para a sessão do jogo hospedada no momento pelo processo do servidor, caso o processo do servidor esteja ativo. O identificador é retornado no formato de ARN: `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>`. 

Para processos inativos que ainda não foram ativados com uma sessão de jogo, a chamada retorna `Success`=`True` e `GameSessionId`=`""` (uma string vazia).

### Sintaxe
<a name="integration-server-sdk-cpp-ref-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-getgamesessionid-return"></a>

Se bem-sucedido, retornará o ID da sessão de jogo como um objeto `AwsStringOutcome`. Se não for bem-sucedido, retornará uma mensagem de erro.

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

Recupera a localização do arquivo de um certificado TLS codificado por pem que está associado à frota e suas instâncias. AWS Certificate Manager gera esse certificado quando você cria uma nova frota com a configuração do certificado definida como GENERATED. Use esse certificado para estabelecer uma conexão segura com um cliente de jogo e para criptografar a comunicação entre cliente e servidor. 

### Sintaxe
<a name="integration-server-sdk-cpp-ref-getinstancecertificate-syntax"></a>

```
GetInstanceCertificateOutcome GetInstanceCertificate();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-getinstancecertificate-return"></a>

Se for bem-sucedido, o retorno será um objeto `GetInstanceCertificateOutcome` que contém a localização do arquivo de certificado TLS e da cadeia de certificados da frota, que estão armazenados na instância.​ Um arquivo de certificado raiz, extraído da cadeia de certificados, também é armazenado na instância. Se não for bem-sucedido, retornará uma mensagem de erro. 

Para obter mais informações sobre o certificado e os dados da cadeia de certificados, consulte [Elementos de GetCertificate resposta](https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html#API_GetCertificate_ResponseElements) na Referência da AWS Certificate Manager API.

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

Retorna o número da versão atual do SDK em uso.

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

```
AwsStringOutcome GetSdkVersion();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-getsdk-return"></a>

Se bem-sucedido, retornará a versão do SDK atual como um objeto `AwsStringOutcome`. A string retornada inclui apenas o número da versão (exemplo, "3.1.5"). Se não for bem-sucedido, retornará uma mensagem de erro.

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

Retorna a hora em que um processo do servidor está programado para ser desligado, se essa informação estiver disponível. Um processo de servidor toma essa medida após receber um chamado do `onProcessTerminate()` do serviço do Amazon GameLift Servers. O Amazon GameLift Servers pode chamar o `onProcessTerminate()` pelos seguintes motivos: (1) quando o processo do servidor relatou problemas de integridade ou não respondeu ao Amazon GameLift Servers; (2) ao encerrar a instância durante um evento de redução ou (3) quando uma instância está sendo encerrada devido a uma [interrupção de spot](spot-tasks.md). 

Se o processo tiver recebido um retorno de chamada `onProcessTerminate()`, o valor retornado será o tempo estimado de encerramento. Se o processo não tiver recebido um retorno de chamada `onProcessTerminate()`, uma mensagem de erro será retornada. Saiba mais sobre [como desligar um processo do servidor](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

### Sintaxe
<a name="integration-server-sdk-cpp-ref-getterm-syntax"></a>

```
AwsLongOutcome GetTerminationTime();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-getterm-return"></a>

Se for bem-sucedido, retornará o horário de término como um objeto `AwsLongOutcome`. O valor é o tempo de término, expresso em tiques decorridos desde 0001 00:00:00. Por exemplo, o valor da data e hora 2020-09-13 12:26:40 -000Z é igual aos tiques 637355968000000000. Se nenhum horário de rescisão estiver disponível, o retornará uma mensagem de erro.

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

Inicializa o Amazon GameLift Servers SDK. Esse método deve ser chamado na inicialização antes de qualquer outra inicialização relacionada ao Amazon GameLift Servers.

### Sintaxe
<a name="integration-server-sdk-cpp-ref-initsdk-syntax"></a>

```
InitSDKOutcome InitSDK();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-initsdk-return"></a>

Se for bem-sucedido, retornará um InitSdkOutcome objeto indicando que o processo do servidor está pronto para ser chamado[ProcessReady()](#integration-server-sdk-cpp-ref-processready). 

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

Notifica o serviço Amazon GameLift Servers de que o processo do servidor está sendo desligado. Esse método deverá ser chamado depois de todas as outras tarefas de limpeza, inclusive desligar todas as sessões de jogos ativas. Este método deve sair com um código de saída zero; um código de saída diferente de zero resulta em uma mensagem de evento indicando que o processo não foi encerrado corretamente.

Depois que o método sair com um código de 0, você poderá encerrar o processo com um código de saída bem-sucedido. Você também poderá sair do processo com um código de erro. Se você sair com um código de erro, o evento da frota indicará que o processo foi encerrado de forma anormal (`SERVER_PROCESS_TERMINATED_UNHEALTHY`). 

### Sintaxe
<a name="integration-server-sdk-cpp-ref-processending-syntax"></a>

```
GenericOutcome ProcessEnding();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-processending-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

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

Notifica o serviço Amazon GameLift Servers de que o processo do servidor está pronto para hospedar sessões do jogo. Chame esse método depois de invocar [InitSDK()](#integration-server-sdk-cpp-ref-initsdk) e concluir todas as tarefas de configuração necessárias antes que o processo do servidor possa hospedar uma sessão do jogo. Esse método deve ser chamado somente uma vez por processo.

Essa chamada é síncrona. Para fazer uma chamada assíncrona, use [ProcessReadyAsync()](#integration-server-sdk-cpp-ref-processreadyasync). Consulte [Inicializar o processo do servidor](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize) para obter mais detalhes.

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

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

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

**processParameters**  
Um objeto [ProcessParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-process) que fornece as seguintes informações sobre o processo do servidor:  
+ Nomes de métodos de retorno de chamada, implementados no código do servidor de jogos, que o serviço Amazon GameLift Servers invoca para se comunicar com o processo de servidor.
+ Número da porta em que o processo de servidor está escutando.
+ Caminho de qualquer arquivo específico da sessão do jogo que você deseja que o Amazon GameLift Servers capture e armazene.
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-processready-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

### Exemplo
<a name="integration-server-sdk-cpp-ref-processready-example"></a>

Este exemplo ilustra as implementações das funções de chamada e retorno de chamada [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>

Notifica o serviço Amazon GameLift Servers de que o processo do servidor está pronto para hospedar sessões do jogo. Este método deve ser chamado assim que o processo do servidor estiver pronto para hospedar uma sessão de jogo. Os parâmetros especificam os nomes das funções de retorno do Amazon GameLift Servers para chamar determinadas circunstâncias. O código do servidor de jogos deve implementar essas funções.

Essa chamada é assíncrona. Para fazer uma chamada síncrona, use [ProcessReady()](#integration-server-sdk-cpp-ref-processready). Consulte [Inicializar o processo do servidor](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize) para obter mais detalhes.

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

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

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

**processParameters**  
Um objeto [ProcessParameters](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-process) que fornece as seguintes informações sobre o processo do servidor:  
+ Nomes de métodos de retorno de chamada, implementados no código do servidor de jogos, que o serviço Amazon GameLift Servers invoca para se comunicar com o processo de servidor.
+ Número da porta em que o processo de servidor está escutando.
+ Caminho de qualquer arquivo específico da sessão do jogo que você deseja que o Amazon GameLift Servers capture e armazene.
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-processreadyasync-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

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

Notifica o serviço Amazon GameLift Servers de que um jogador com o ID da sessão do jogador especificado se desconectou do processo do servidor. Em resposta, o Amazon GameLift Servers altera o slot do jogador para um disponível, o que permite ser atribuído a um novo jogador. 

### Sintaxe
<a name="integration-server-sdk-cpp-ref-removeplayersession-syntax"></a>

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

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

**playerSessionId**  
ID exclusiva emitida pelo Amazon GameLift Servers serviço em resposta a uma chamada para a ação [CreatePlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html)da Amazon GameLift Servers API do AWS SDK. O cliente do jogo faz referência a esse ID ao se conectar ao processo do servidor.  
Tipo: std::string  
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-removeplayersession-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

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

Envia uma solicitação para encontrar novos jogadores para os slots abertos em uma sessão de jogo criada com o FlexMatch. Veja também a ação do AWS SDK [StartMatchBackfill().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html) Com essa ação, as solicitações de alocação de correspondência podem ser iniciadas por um processo do servidor de jogos que esteja hospedando a sessão do jogo. Saiba mais sobre o [recurso de alocação do FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Esta ação é assíncrona. Se a correspondência dos novos jogadores for bem-sucedida, o serviço Amazon GameLift Servers entregará os dados atualizados do marcador de jogos invocando a função de retorno de chamada `OnUpdateGameSession()`.

Um processo de servidor pode ter apenas uma solicitação de alocação de correspondência ativa por vez. Para enviar uma nova solicitação, primeiro chame [StopMatchBackfill()](#integration-server-sdk-cpp-ref-stopmatchbackfill) para cancelar a solicitação original.

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

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

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

**StartMatchBackfillRequest**  
Um objeto [StartMatchBackfillRequest](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-startmatchbackfillrequest) que fornece as seguintes informações:  
+ ID do tíquete a ser atribuído à solicitação de alocação. Essa informação é opcional. Caso nenhum ID seja fornecido, o Amazon GameLift Servers gerará um automaticamente.
+ O marcador de jogos para o qual a solicitação é enviada. O ARN completo da configuração é necessário. Esse valor pode ser obtido dos dados do marcador da sessão do jogo.
+ ID da sessão de jogo que está sendo alocada.
+ Dados disponíveis de marcação para os jogadores atuais da sessão do jogo.
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-startmatchbackfill-return"></a>

Retorna um StartMatchBackfillOutcome objeto com o tíquete de preenchimento da partida ou uma falha com uma mensagem de erro. O status do ticket pode ser monitorado usando a ação do AWS SDK [DescribeMatchmaking()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html).

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

Cancela uma solicitação de alocação de correspondência ativa criada com [StartMatchBackfill()](#integration-server-sdk-cpp-ref-startmatchbackfill). Veja também a ação do AWS SDK [StopMatchmaking().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html) Saiba mais sobre o [atributo de alocação do FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Sintaxe
<a name="integration-server-sdk-cpp-ref-stopmatchbackfill-syntax"></a>

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

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

**StopMatchBackfillRequest**  
Um objeto [StopMatchBackfillRequest](integration-server-sdk-cpp-ref-datatypes.md#integration-server-sdk-cpp-ref-dataypes-stopmatchbackfillrequest) que identifica o tíquete de criação de partidas para cancelar:   
+ ID do tíquete atribuído à solicitação de alocação sendo cancelada
+ o marcador de jogo que recebeu a solicitação de alocação
+ a sessão do jogo associada à solicitação de alocação
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-stopmatchbackfill-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

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

**Esse método foi descontinuado com a versão 4.0.1. Em vez disso, o processo do servidor deve ser chamado [ProcessEnding()](#integration-server-sdk-cpp-ref-processending) após o término de uma sessão de jogo.**

Notifica o serviço do Amazon GameLift Servers de que o processo do servidor encerrou a sessão atual do jogo. Essa ação é chamada quando o processo do servidor permanece ativo e pronto para hospedar uma nova sessão de jogo. Ele deve ser chamado somente após a conclusão do procedimento de encerramento da sessão de jogo, pois indica ao Amazon GameLift Servers que o processo do servidor está imediatamente disponível para hospedar uma nova sessão de jogo. 

Essa ação não será chamada se o processo do servidor for encerrado após o término da sessão do jogo. Em vez disso, chame [ProcessEnding()](#integration-server-sdk-cpp-ref-processending) para sinalizar que tanto a sessão do jogo quanto o processo do servidor estão terminando. 

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

```
GenericOutcome TerminateGameSession();
```

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

Essa ação não tem um parâmetro.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-terminategamesession-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

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

Atualiza a capacidade da sessão do jogo atual para aceitar novas sessões de jogador. Atualiza a capacidade da sessão do jogo atual para aceitar novas sessões de jogador. Veja também a ação do AWS SDK [UpdateGameSession().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html)

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

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

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

**newPlayerSessionPolítica**  
Valor de string que indica se a sessão do jogo aceita novos jogadores.   
Tipo: Aws:GameLift: :Model:: PlayerSessionCreationPolicy enum. Os valores válidos são:   
+ **ACCEPT\$1ALL** – Aceite todas as novas sessões de jogador.
+ **DENY\$1ALL** – Recuse todas as novas sessões de jogador.
Obrigatório: Sim

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-updateplayersessioncreationpolicy-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

### Exemplo
<a name="integration-server-sdk-cpp-ref-updateplayersessioncreationpolicy-example"></a>

Este exemplo define a política de ingresso da sessão do jogo atual para aceitar todos os jogadores.

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

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

Limpa a memória alocada por initSDK () durante a inicialização do servidor do jogo. Use esse método depois de finalizar um processo no servidor do jogo para evitar o desperdício de memória do servidor.

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

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

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

Não há parâmetros.

### Valor de retorno
<a name="integration-server-sdk-cpp-ref-destroy-return"></a>

Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.

### Exemplo
<a name="integration-server-sdk-cpp-ref-destroy-example"></a>

Este exemplo limpa a memória alocada pelo initSDK após o término de um processo no servidor de jogos.

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