

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\# para Amazon GameLift Servers 5.x – Ações
<a name="integration-server-sdk5-csharp-actions"></a>

Use a referência do SDK 5.x 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). Se você estiver usando o plug-in do Amazon GameLift Servers para Unity, consulte também [Amazon GameLift Serversplugin para Unity (servidor SDK 5.x)](unity-plug-in.md).

[SDK do servidor C\# 5.x para Amazon GameLift Servers -- Tipos de dados](integration-server-sdk5-csharp-datatypes.md)

**Topics**
+ [SDK do servidor C\# 5.x para Amazon GameLift Servers -- Tipos de dados](integration-server-sdk5-csharp-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk5-csharp-getsdkversion)
+ [InitMetrics()](#integration-server-sdk5-csharp-initmetrics)
+ [InitSDK()](#integration-server-sdk5-csharp-initsdk)
+ [InitSDK()](#integration-server-sdk5-csharp-initsdk-anywhere)
+ [ProcessReady()](#integration-server-sdk5-csharp-processready)
+ [ProcessEnding()](#integration-server-sdk5-csharp-processending)
+ [ActivateGameSession()](#integration-server-sdk5-csharp-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk5-csharp-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk5-csharp-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk5-csharp-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk5-csharp-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk5-csharp-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk5-csharp-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk5-csharp-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk5-csharp-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk5-csharp-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk5-csharp-getfleetrolecredentials)
+ [Destroy()](#integration-server-sdk5-csharp-destroy)

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

Retorna o número da versão atual do SDK compilado no processo de servidor.

### Sintaxe
<a name="integration-server-sdk5-csharp-getsdkversion-syntax"></a>

```
AwsStringOutcome GetSdkVersion();
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-getsdkversion-return"></a>

Se bem-sucedido, retornará a versão do SDK atual como um objeto [AwsStringOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-awsstringoutcome). A string retornada inclui o número da versão (exemplo, `5.0.0`). Se não for bem-sucedido, retornará uma mensagem de erro.

### Exemplo
<a name="integration-server-sdk5-csharp-getsdkversion-example"></a>

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

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

Inicializa o sistema de métricas para coletar e reportar dados de desempenho do servidor. Para obter melhores resultados, chame esse método antes de [InitSDK()](#integration-server-sdk5-csharp-initsdk) para ativar a coleta de métricas durante a inicialização do SDK.

### Sintaxe
<a name="integration-server-sdk5-csharp-initmetrics-syntax"></a>

```
MetricsManagerOutcome InitMetrics();
MetricsManagerOutcome InitMetrics(MetricsParameters metricsParameters);
```

### Parâmetros
<a name="integration-server-sdk5-csharp-initmetrics-parameter"></a>

[MetricsParameters](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-metricsparameters) (opcional)  
Parâmetros de configuração para coleta de métricas. Se não for fornecido, usa valores padrão que podem ser substituídos por variáveis de ambiente.

### Valor de retorno
<a name="integration-server-sdk5-csharp-initmetrics-return"></a>

Se for bem-sucedido, retornará um [MetricsManagerOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-metricsmanageroutcome) objeto contendo a MetricsManager instância. Se não for bem-sucedido, retornará uma mensagem de erro.

### Exemplo
<a name="integration-server-sdk5-csharp-initmetrics-example"></a>

```
// Initialize with default parameters (uses environment variables if available)
var outcome = GameLiftServerAPI.InitMetrics();
if (outcome.Success) {
    var metricsManager = outcome.Result;
} else {
    Console.WriteLine("Failed to initialize metrics: " + outcome.Error.ErrorMessage);
}

// Initialize with custom parameters
var metricsParams = new MetricsParameters("localhost", 8125, "crash-host", 9999, 1000, 1024);
var customOutcome = GameLiftServerAPI.InitMetrics(metricsParams);
if (customOutcome.Success) {
    var metricsManager = customOutcome.Result;
}
```

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

Inicializa o SDK do Amazon GameLift Servers para uma frota EC2 gerenciada. Chame esse método na inicialização, antes que qualquer outra inicialização relacionada ao Amazon GameLift Servers ocorra. Esse método lê os parâmetros do servidor do ambiente host para configurar a comunicação entre o servidor e o serviço do Amazon GameLift Servers. Ele usa um token de idempotência, então você repete essa chamada com segurança quando ela falhar.

### Sintaxe
<a name="integration-server-sdk5-csharp-initsdk-syntax"></a>

```
GenericOutcome InitSDK();
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-initsdk-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-initsdk-example"></a>

```
//Call InitSDK to establish a local connection with the GameLift agent to enable further communication.
GenericOutcome initSDKOutcome = GameLiftServerAPI.InitSDK();
```

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

Inicializa o Amazon GameLift Servers SDK para uma frota Anywhere. Chame esse método na inicialização, antes que qualquer outra inicialização relacionada ao Amazon GameLift Servers ocorra. Esse método requer parâmetros explícitos do servidor para configurar a comunicação entre o servidor e o serviço do Amazon GameLift Servers. Ele usa um token de idempotência, então você repete essa chamada com segurança quando ela falhar.

### Sintaxe
<a name="integration-server-sdk5-csharp-initsdk-anywhere-syntax"></a>

```
GenericOutcome InitSDK(ServerParameters serverParameters);
```

### Parâmetros
<a name="integration-server-sdk5-csharp-initsdk-anywhere-parameter"></a>

[ServerParameters](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-serverparameters)  
Para inicializar um servidor de jogos em uma frota do Amazon GameLift Servers Anywhere, construa um objeto `ServerParameters` com as seguintes informações:  
+ O URL do WebSocket usado para se conectar ao seu servidor de jogo. 
+ O ID do processo usado para hospedar o servidor de jogos. 
+ O ID do computador que hospeda os processos do seu servidor de jogos. 
+ O ID da frota do Amazon GameLift Servers que contém sua computação Amazon GameLift Servers Anywhere.
+ O token de autorização gerado pela operação do Amazon GameLift Servers. 

### Valor de retorno
<a name="integration-server-sdk5-csharp-initsdk-anywhere-return"></a>

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

**nota**  
Se as chamadas para `InitSDK()` estiverem falhando para compilações de jogos implantadas em frotas do Anywhere, verifique o parâmetro `ServerSdkVersion` usado ao criar o recurso de compilação. Você deve definir explicitamente esse valor para a versão do SDK do servidor em uso. O valor padrão desse parâmetro é 4.x, o que não é compatível. Para resolver esse problema, crie uma nova versão e implante-a em uma nova frota.

### Exemplo
<a name="integration-server-sdk5-csharp-initsdk-anywhere-example"></a>

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

//Call InitSDK to establish a local connection with the GameLift agent to enable further communication.
GenericOutcome initSDKOutcome = GameLiftServerAPI.InitSDK(serverParameters);
```

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

Notifica o Amazon GameLift Servers de que o processo do servidor está pronto para hospedar sessões do jogo. Chame esse método após invocar [InitSDK()](#integration-server-sdk5-csharp-initsdk). Esse método deve ser chamado somente uma vez por processo.

### Sintaxe
<a name="integration-server-sdk5-csharp-processready-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-processready-parameter"></a>

**[ProcessParameters](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-process)**  
Um objeto `ProcessParameters` contém informações sobre o processo do servidor.

### Valor de retorno
<a name="integration-server-sdk5-csharp-processready-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-processready-example"></a>

Este exemplo ilustra as implementações do método e da função delegada.

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

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

Notifica o Amazon GameLift Servers de que o processo do servidor está sendo encerrado. Chame esse método depois de todas as outras tarefas de limpeza (incluindo o encerramento da sessão ativa do jogo) e antes de encerrar o processo. Dependendo do resultado `ProcessEnding()`, o processo sai com sucesso (0) ou erro (-1) e gera um evento de frota. Se o processo for encerrado com um erro, o evento de frota gerado será `SERVER_PROCESS_TERMINATED_UNHEALTHY`.

### Sintaxe
<a name="integration-server-sdk5-csharp-processending-syntax"></a>

```
GenericOutcome ProcessEnding()
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-processending-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-processending-example"></a>

Este exemplo chama `ProcessEnding()` e `Destroy()` antes de encerrar o processo do servidor com um código de saída bem-sucedido ou de erro.

```
GenericOutcome processEndingOutcome = GameLiftServerAPI.ProcessEnding();
GameLiftServerAPI.Destroy();

if (processEndingOutcome.Success)
  {
    Environment.Exit(0);
  }
else
  {
    Console.WriteLine("ProcessEnding() failed. Error: " + processEndingOutcome.Error.ToString());
    Environment.Exit(-1);  
  }
```

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

Notifica o Amazon GameLift Servers de que o processo do servidor ativou uma sessão do jogo e já está pronto para receber as conexões do jogador. Essa ação deve ser chamada como parte da função de retorno de chamada `onStartGameSession()`, após toda inicialização da sessão do jogo.​

### Sintaxe
<a name="integration-server-sdk5-csharp-activategamesession-syntax"></a>

```
GenericOutcome ActivateGameSession()
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-activategamesession-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-activategamesession-example"></a>

Este exemplo mostra `ActivateGameSession()` sendo chamado como parte da função de delegação `onStartGameSession()`. 

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

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

### Sintaxe
<a name="integration-server-sdk5-csharp-updateplayersessioncreationpolicy-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-updateplayersessioncreationpolicy-parameter"></a>

**playerSessionPolicy**  
Valor de string que indica se a sessão do jogo aceita novos jogadores.   
Os valores válidos são:  
+ **ACCEPT\_ALL** – Aceite todas as novas sessões de jogador.
+ **DENY\_ALL** – Recuse todas as novas sessões de jogador.

### Valor de retorno
<a name="integration-server-sdk5-csharp-updateplayersessioncreationpolicy-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-updateplayersessioncreationpolicy-example"></a>

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

```
GenericOutcome updatePlayerSessionPolicyOutcome = 
  GameLiftServerAPI.UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy.ACCEPT_ALL);
```

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

Recupera o ID da sessão de jogo hospedada pelo processo do servidor ativo.

Para processos inativos que não são ativados com uma sessão de jogo, a chamada retorna um [GameLiftError](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-gamelifterror).

### Sintaxe
<a name="integration-server-sdk5-csharp-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-getgamesessionid-return"></a>

Se bem-sucedido, retornará o ID da sessão de jogo como um objeto [AwsStringOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-awsstringoutcome). Se não for bem-sucedido, retornará uma mensagem de erro."

### Exemplo
<a name="integration-server-sdk5-csharp-getgamesessionid-example"></a>

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

## GetTerminationTime()
<a name="integration-server-sdk5-csharp-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 do servidor realiza essa ação depois de receber um retorno de chamada `onProcessTerminate()` do serviço Amazon GameLift Servers. O Amazon GameLift Servers chama o `onProcessTerminate()` pelos seguintes motivos: 
+ Quando o processo do servidor relatou problemas de saúde ou não respondeu ao Amazon GameLift Servers.
+ Ao encerrar a instância durante um evento de redução.
+ Quando uma instância é encerrada devido a uma [interrupção na instância spot](spot-tasks.md).

### Sintaxe
<a name="integration-server-sdk5-csharp-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-getterm-return"></a>

Se for bem-sucedido, retornará o horário de término como um objeto [AwsDateTimeOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-awsdatetimeoutcome). O valor é o tempo de rescisão, expresso em tiques decorridos desde então `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-sdk5-csharp-getterm-example"></a>

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

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

Notifica o serviço 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 confirma que o ID da sessão do jogador é válido. Depois que a sessão do jogador é validada, o Amazon GameLift Servers altera o status do slot do jogador de RESERVED para ACTIVE. 

### Sintaxe
<a name="integration-server-sdk5-csharp-acceptplayersession-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-acceptplayersession-parameter"></a>

playerSessionId  
ID exclusivo emitido GameLift quando uma nova sessão de jogador é criada.

### Valor de retorno
<a name="integration-server-sdk5-csharp-acceptplayersession-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-acceptplayersession-example"></a>

Este exemplo ilustra uma função para lidar com uma solicitação de conexão, incluindo a validação e a rejeição de uma sessão de jogador inválida. IDs 

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

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

Notifica o Amazon GameLift Servers de que um jogador se desconectou do processo do servidor. Em resposta, o Amazon GameLift Servers altera o espaço do jogador para disponível. 

### Sintaxe
<a name="integration-server-sdk5-csharp-removeplayersession-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-removeplayersession-parameter"></a>

**playerSessionId**  
ID exclusivo emitido pela Amazon GameLift Servers quando uma nova sessão de jogador é criada.

### Valor de retorno
<a name="integration-server-sdk5-csharp-removeplayersession-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-removeplayersession-example"></a>

```
GenericOutcome removePlayerSessionOutcome = GameLiftServerAPI.RemovePlayerSession(playerSessionId);
```

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

Recupera dados da sessão do jogador, que incluem 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-sdk5-csharp-describeplayersessions-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-describeplayersessions-parameter"></a>

**[DescribePlayerSessionsRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-playersessions)**  
Um objeto [DescribePlayerSessionsRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-playersessions) que descreve quais sessões de jogador recuperar.

### Valor de retorno
<a name="integration-server-sdk5-csharp-describeplayersessions-return"></a>

Se bem-sucedido, retorna um objeto [DescribePlayerSessionsOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-describeplayersessionsoutcome) que contém um conjunto de objetos de sessão do jogador que atendem aos parâmetros de solicitação.

### Exemplo
<a name="integration-server-sdk5-csharp-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. Ao omitir *NextToken*e definir o valor *limite* como 10, Amazon GameLift Servers retornará os primeiros registros da sessão de 10 jogadores que correspondam à solicitação.

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

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

Envia uma solicitação para encontrar novos jogadores para os slots abertos em uma sessão de jogo criada com o FlexMatch. Para obter mais informações, consulte o [recurso de alocação do FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Esta ação é assíncrona. Se novos jogadores forem combinados, o Amazon GameLift Servers entregará os dados atualizados do marcador de jogos usando 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-sdk5-csharp-stopmatchbackfill) para cancelar a solicitação original.

### Sintaxe
<a name="integration-server-sdk5-csharp-startmatchbackfill-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-startmatchbackfill-parameter"></a>

**[StartMatchBackfillRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-startmatchbackfillrequest)**  
Um objeto `StartMatchBackfillRequest` contém informações sobre a solicitação de alocação.

### Valor de retorno
<a name="integration-server-sdk5-csharp-startmatchbackfill-return"></a>

Retorna um objeto [StartMatchBackfillOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-startmatchbackfilloutcome) com o ID do tíquete de alocação de correspondência ou um falha com uma mensagem de erro. 

### Exemplo
<a name="integration-server-sdk5-csharp-startmatchbackfill-example"></a>

```
// Build a backfill request
StartMatchBackfillRequest startBackfillRequest = new StartMatchBackfillRequest()
{
  TicketId = "1111aaaa-22bb-33cc-44dd-5555eeee66ff", //optional
  MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig", 
  GameSessionId = GameLiftServerAPI.GetGameSessionId().Result,    // gets ID for current game session
  MatchmakerData matchmakerData = 
    MatchmakerData.FromJson(gameSession.MatchmakerData),  // gets matchmaker data for current players
  // get matchmakerData.Players
  // remove data for players who are no longer connected
  Players = ListOfPlayersRemainingInTheGame
};

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

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

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

Cancela uma solicitação de alocação de correspondência ativa. Para obter mais informações, consulte o [recurso de alocação do FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Sintaxe
<a name="integration-server-sdk5-csharp-stopmatchbackfill-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-stopmatchbackfill-parameter"></a>

**[StopMatchBackfillRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-stopmatchbackfillrequest)**  
Um objeto `StopMatchBackfillRequest` que fornece detalhes sobre o tíquete de criação de partidas que você está interrompendo.

### Valor de retorno
<a name="integration-server-sdk5-csharp-stopmatchbackfill-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters
StopMatchBackfillRequest stopBackfillRequest = new StopMatchBackfillRequest(){
  TicketId = "1111aaaa-22bb-33cc-44dd-5555eeee66ff", //optional, if not provided one is autogenerated
  MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig",
  GameSessionId = GameLiftServerAPI.GetGameSessionId().Result    //gets the ID for the current game session
};
GenericOutcome stopBackfillOutcome = GameLiftServerAPI.StopMatchBackfillRequest(stopBackfillRequest);
```

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

 Recupera o caminho para o certificado TLS usado para criptografar a conexão de rede entre o servidor do jogo e o cliente do jogo. Você poderá usar o caminho do certificado ao registrar seu dispositivo computacional em uma frota do Amazon GameLift Servers Anywhere. Para obter mais informações, consulte, [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).

### Sintaxe
<a name="integration-server-sdk5-csharp-getcomputecertificate-syntax"></a>

```
GetComputeCertificateOutcome GetComputeCertificate();
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-getcomputecertificate-return"></a>

Retorna um GetComputeCertificateResponse objeto que contém o seguinte: 
+  CertificatePath: o caminho para o certificado TLS em seu recurso computacional. Ao usar uma frota gerenciada do Amazon GameLift Servers, esse caminho contém:
  + `certificate.pem`: o certificado do usuário final. A cadeia completa de certificados é a combinação de `certificateChain.pem` anexados a esse certificado.
  + `certificateChain.pem`: a cadeia de certificados que contém o certificado raiz e os certificados intermediários.
  + `rootCertificate.pem`: o certificado raiz.
  + `privateKey.pem`: a chave privada para o certificado do usuário final.
+ ComputeName: o nome do seu recurso computacional.

### Exemplo
<a name="integration-server-sdk5-csharp-getcomputecertificate-example"></a>

```
GetComputeCertificateOutcome getComputeCertificateOutcome = GameLiftServerAPI.GetComputeCertificate();
```

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

Recupera as credenciais do perfil do IAM que autorizam o Amazon GameLift Servers a interagir com outros Serviços da AWS. Para obter mais informações, consulte [Conecte seu servidor de jogos Amazon GameLift Servers hospedado a outros AWS recursos](gamelift-sdk-server-resources.md).

### Sintaxe
<a name="integration-server-sdk5-csharp-getfleetrolecredentials-syntax"></a>

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

### Parâmetros
<a name="integration-server-sdk5-csharp-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-getfleetrolecredentialsrequest)  
Credenciais de função que ampliam o acesso limitado aos seus AWS recursos no servidor do jogo.

### Valor de retorno
<a name="integration-server-sdk5-csharp-getfleetrolecredentials-return"></a>

Informa um objeto [GetFleetRoleCredentialsOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-getfleetrolecredentialsoutcome).

### Exemplo
<a name="integration-server-sdk5-csharp-getfleetrolecredentials-example"></a>

```
// form the fleet credentials request  
GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest = new GetFleetRoleCredentialsRequest(){  
  RoleArn = "arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction"  
};
GetFleetRoleCredentialsOutcome GetFleetRoleCredentialsOutcome credentials = GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

## Destroy()
<a name="integration-server-sdk5-csharp-destroy"></a>

Libera o SDK do servidor de jogos do Amazon GameLift Servers da memória. Como melhor prática, chame esse método antes `ProcessEnding()` e depois de encerrar o processo. Se você estiver usando uma frota Anywhere e não estiver encerrando os processos do servidor após cada sessão de jogo, chame `Destroy()` e reinicialize `InitSDK()` antes de notificar o Amazon GameLift Servers de que o processo está pronto para hospedar uma sessão de jogo com `ProcessReady()`.

### Sintaxe
<a name="integration-server-sdk5-csharp-destroy-syntax"></a>

```
GenericOutcome Destroy()
```

### Valor de retorno
<a name="integration-server-sdk5-csharp-destroy-return"></a>

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

### Exemplo
<a name="integration-server-sdk5-csharp-destroy-example"></a>

```
// Operations to end game sessions and the server process
GenericOutcome processEndingOutcome = GameLiftServerAPI.ProcessEnding();

// Shut down and destroy the instance of the GameLift Game Server SDK
GenericOutcome destroyOutcome = GameLiftServerAPI.Destroy();

// Exit the process with success or failure
if (processEndingOutcome.Success)
  { 
    Environment.Exit(0); 
  }
else
  {
    Console.WriteLine("ProcessEnding() failed. Error: " + processEndingOutcome.Error.ToString());
    Environment.Exit(-1); 
  }
```