

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à.

# SDK del server C\# per Amazon GameLift Servers 4.x -- Azioni
<a name="integration-server-sdk-csharp-ref-actions"></a>

Usa il riferimento all'SDK 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 riferimento si riferisce a una versione precedente del server SDK forAmazon GameLift Servers. Per la versione più recente, consulta [Server C\# SDK 5.x per -- Azioni Amazon GameLift Servers](integration-server-sdk5-csharp-actions.md).

[SDK del server C\# per Amazon GameLift Servers 4.x -- Tipi di dati](integration-server-sdk-csharp-ref-datatypes.md)

**Topics**
+ [SDK del server C\# per Amazon GameLift Servers 4.x -- Tipi di dati](integration-server-sdk-csharp-ref-datatypes.md)
+ [AcceptPlayerSession()](#integration-server-sdk-csharp-ref-acceptplayersession)
+ [ActivateGameSession()](#integration-server-sdk-csharp-ref-activategamesession)
+ [DescribePlayerSessions()](#integration-server-sdk-csharp-ref-describeplayersessions)
+ [GetGameSessionId()](#integration-server-sdk-csharp-ref-getgamesessionid)
+ [GetInstanceCertificate()](#integration-server-sdk-csharp-ref-getinstancecertificate)
+ [GetSdkVersion()](#integration-server-sdk-csharp-ref-getsdk)
+ [GetTerminationTime()](#integration-server-sdk-csharp-ref-getterm)
+ [InitSDK()](#integration-server-sdk-csharp-ref-initsdk)
+ [ProcessEnding()](#integration-server-sdk-csharp-ref-processending)
+ [ProcessReady()](#integration-server-sdk-csharp-ref-processready)
+ [RemovePlayerSession()](#integration-server-sdk-csharp-ref-removeplayersession)
+ [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-csharp-ref-stopmatchbackfill)
+ [TerminateGameSession()](#integration-server-sdk-csharp-ref-terminategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy)

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

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

### Sintassi
<a name="integration-server-sdk-csharp-ref-acceptplayersession-syntax"></a>

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

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

**playerSessionId**  
ID univoco rilasciato Amazon GameLift Servers quando viene creata una nuova sessione giocatore. Un ID di sessione del giocatore viene specificato in un `PlayerSession` oggetto, che viene restituito in risposta a una chiamata del client alle azioni *GameLift API [ StartGameSessionPlacement[ CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*, [ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html), o [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Tipo: stringa  
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk-csharp-ref-acceptplayersession-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-acceptplayersession-example"></a>

Questo esempio illustra una funzione per la gestione di una richiesta di connessione, inclusa la convalida e il rifiuto di una sessione giocatore non valida. IDs 

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

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

Notifica al servizio Amazon GameLift Servers che il processo del server ha attivato una sessione di gioco ed è pronto per ricevere le connessioni dei giocatori. Questa operazione deve essere chiamata come parte della funzione di callback `onStartGameSession()`, dopo il completamento dell'inizializzazione di tutte le sessioni di gioco.

### Sintassi
<a name="integration-server-sdk-csharp-ref-activategamesession-syntax"></a>

```
GenericOutcome ActivateGameSession()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-activategamesession-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-activategamesession-example"></a>

Questo esempio illustra la chiamata a `ActivateGameSession()` nell'ambito della funzione delegata `onStartGameSession()`. 

```
void OnStartGameSession(GameSession gameSession)
{
    // game-specific tasks when starting a new game session, such as loading map   

    // When ready to receive players   
    var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}
```

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

Recupera i dati della sessione giocatore, tra cui le impostazioni, i metadati della sessione e i dati dei giocatori. Utilizza questa operazione per ottenere le informazioni per una singola sessione giocatore, per tutte le sessioni giocatore in una sessione di gioco o per tutte le sessioni giocatore associate a un singolo ID giocatore.

### Sintassi
<a name="integration-server-sdk-csharp-ref-describeplayersessions-syntax"></a>

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

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

**describePlayerSessionsRichiesta**  
Un oggetto [DescribePlayerSessionsRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-playersessions) che descrive le sessioni giocatore da recuperare.  
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk-csharp-ref-describeplayersessions-return"></a>

Se l'esito è positivo, restituisce un oggetto `DescribePlayerSessionsOutcome` contenente un set di oggetti di sessione giocatore corrispondente ai parametri della richiesta. Gli oggetti della sessione Player hanno una struttura identica al tipo di [PlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_PlayerSession.html)dati dell'Amazon GameLift ServersAPI AWS SDK.

### Esempio
<a name="integration-server-sdk-csharp-ref-describeplayersessions-example"></a>

Questo esempio illustra una richiesta per tutte le sessioni giocatore attivamente connesse a una sessione di gioco specificata. Omettendo *NextToken*e impostando il valore *Limite* su 10, Amazon GameLift Servers verranno restituiti i record delle prime 10 sessioni di gioco corrispondenti alla richiesta.

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

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

Recupera l'ID della sessione di gioco attualmente ospitata dal processo del server, se il processo del server è attivo. 

Per i processi inattivi che non sono ancora stati attivati con una sessione di gioco, la chiamata restituisce `Success` = `True` e `GameSessionId` = `""` (una stringa vuota).

### Sintassi
<a name="integration-server-sdk-csharp-ref-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-getgamesessionid-return"></a>

Se l'esito è positivo, l'ID della sessione di gioco verrà restituito come oggetto `AwsStringOutcome`. Se l'esito è negativo, verrà restituito un messaggio di errore.

### Esempio
<a name="integration-server-sdk-csharp-ref-getgamesessionid-example"></a>

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

## GetInstanceCertificate()
<a name="integration-server-sdk-csharp-ref-getinstancecertificate"></a>

Recupera la posizione del file di un certificato TLS con codifica pem associato alla flotta e alle relative istanze. AWS Certificate Manager genera questo certificato quando crei un nuovo parco veicoli con la configurazione del certificato impostata su GENERATED. Utilizza questo certificato per stabilire una connessione sicura con un client di gioco e per crittografare la comunicazione client/server. 

### Sintassi
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-syntax"></a>

```
GetInstanceCertificateOutcome GetInstanceCertificate();
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-return"></a>

In caso di successo, restituisce un `GetInstanceCertificateOutcome` oggetto contenente la posizione del file di certificato TLS e della catena di certificati della flotta, che sono archiviati nell'istanza. Nell'istanza viene inoltre archiviato un file di certificato radice, estratto dalla catena di certificati. Se l'esito è negativo, verrà restituito un messaggio di errore. 

Per ulteriori informazioni sul certificato e sui dati della catena di certificati, consulta [GetCertificate Response Elements](https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html#API_GetCertificate_ResponseElements) nell' AWS Certificate Manager API Reference.

### Esempio
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-example"></a>

```
var getInstanceCertificateOutcome = GameLiftServerAPI.GetInstanceCertificate();
```

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

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

### Sintassi
<a name="integration-server-sdk-csharp-ref-getsdk-syntax"></a>

```
AwsStringOutcome GetSdkVersion()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-getsdk-return"></a>

Se l'esito è positivo, restituisce la versione corrente dell'SDK come oggetto `AwsStringOutcome`. La stringa restituita include solo il numero di versione (ad esempio «3.1.5"). Se l'esito è negativo, verrà restituito un messaggio di errore.

### Esempio
<a name="integration-server-sdk-csharp-ref-getsdk-example"></a>

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

## GetTerminationTime()
<a name="integration-server-sdk-csharp-ref-getterm"></a>

Restituisce il tempo di arresto pianificato di un processo del server, se è disponibile un tempo di chiusura. Un processo server esegue questa azione dopo aver ricevuto una `onProcessTerminate()` richiamata dal servizio. Amazon GameLift Servers Amazon GameLift Servers[può effettuare una chiamata `onProcessTerminate()` per i seguenti motivi: (1) per problemi di salute (il processo del server ha segnalato lo stato della porta o non ha rispostoAmazon GameLift Servers, (2) quando termina l'istanza durante un evento di scale-down o (3) quando un'istanza viene terminata a causa di un'interruzione dell'istanza spot.](spot-tasks.md) 

Se il processo ha ricevuto una `onProcessTerminate()` richiamata, il valore restituito è il tempo di terminazione stimato. Se il processo non ha ricevuto una `onProcessTerminate()` richiamata, viene restituito un messaggio di errore. Ulteriori informazioni sull'[arresto di un processo del server](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

### Sintassi
<a name="integration-server-sdk-csharp-ref-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-getterm-return"></a>

In caso di successo, restituisce l'ora di terminazione come oggetto`AwsDateTimeOutcome`. Il valore è l'ora di terminazione, espressa in segni di spunta trascorsi dalle 00:01 00:00:00. Ad esempio, il valore data/ora 2020-09-13 12:26:40 -000Z è uguale a 637355968000000000 ticks. Se non è disponibile alcun orario di terminazione, restituisce un messaggio di errore.

### Esempio
<a name="integration-server-sdk-csharp-ref-getterm-example"></a>

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

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

Inizializza l'SDK Amazon GameLift Servers. Questo metodo deve essere chiamato all'avvio, prima che avvenga qualsiasi altra inizializzazione correlata a Amazon GameLift Servers.

### Sintassi
<a name="integration-server-sdk-csharp-ref-initsdk-syntax"></a>

```
InitSDKOutcome InitSDK()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-initsdk-return"></a>

In caso di successo, restituisce un InitSdkOutcome oggetto che indica che il processo del server è pronto per la chiamata[ProcessReady()](#integration-server-sdk-csharp-ref-processready). 

### Esempio
<a name="integration-server-sdk-csharp-ref-initsdk-example"></a>

```
var initSDKOutcome = GameLiftServerAPI.InitSDK(); 
```

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

Avvisa il servizio Amazon GameLift Servers che il processo del server è in fase di arresto. Questo metodo deve essere richiamato dopo tutte le altre attività di pulizia, tra cui l'arresto di tutte le sessioni di gioco attive. Questo metodo deve uscire con il codice 0; un codice di uscita diverso da zero genera un messaggio di evento che indica che il processo non è terminato correttamente.

Una volta terminato il metodo con un codice 0, è possibile terminare il processo con un codice di uscita corretto. È inoltre possibile uscire dal processo con un codice di errore. Se si esce con un codice di errore, l'evento fleet indicherà che il processo è terminato in modo anomalo ()`SERVER_PROCESS_TERMINATED_UNHEALTHY`. 

### Sintassi
<a name="integration-server-sdk-csharp-ref-processending-syntax"></a>

```
GenericOutcome ProcessEnding()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-processending-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-processending-example"></a>

```
var processEndingOutcome = GameLiftServerAPI.ProcessEnding();
if (processReadyOutcome.Success)
   Environment.Exit(0);
// otherwise, exit with error code
Environment.Exit(errorCode);
```

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

Notifica al servizio Amazon GameLift Servers che il processo del server è pronto per l'hosting delle sessioni di gioco. Chiama questo metodo dopo aver richiamato [InitSDK()](#integration-server-sdk-csharp-ref-initsdk) e completato con successo le attività di configurazione necessarie prima che il processo del server possa ospitare una sessione di gioco. Questo metodo deve essere chiamato solo una volta per processo.

### Sintassi
<a name="integration-server-sdk-csharp-ref-processready-syntax"></a>

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

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

**processParameters**  
Un oggetto [ProcessParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-process) che comunica le informazioni seguenti sul processo del server:  
+ Nomi di metodi di callback, implementati nel codice del server di gioco, che il servizio Amazon GameLift Servers richiama 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-sdk-csharp-ref-processready-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-processready-example"></a>

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

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

var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);

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

void OnProcessTerminate()
{
   // game-specific tasks required to gracefully shut down a game session, 
   // such as notifying players, preserving game state data, and other cleanup
    var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding();
}

bool OnHealthCheck()
{
    bool isHealthy;
    // complete health evaluation within 60 seconds and set health
    return isHealthy;
}
```

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

Notifica al servizio Amazon GameLift Servers che un giocatore con l'ID della sessione giocatore specificato si è disconnesso dal processo del server. In risposta, Amazon GameLift Servers modifica lo slot giocatore su disponibile, consentendone l'assegnazione a un nuovo giocatore. 

### Sintassi
<a name="integration-server-sdk-csharp-ref-removeplayersession-syntax"></a>

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

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

**playerSessionId**  
ID univoco rilasciato da Amazon GameLift Servers quando viene creata una nuova sessione di gioco. Un ID di sessione del giocatore viene specificato in un `PlayerSession` oggetto, che viene restituito in risposta a una chiamata del client alle azioni *GameLift API [ StartGameSessionPlacement[ CreateGameSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*, [ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html), o [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Tipo: stringa  
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk-csharp-ref-removeplayersession-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-removeplayersession-example"></a>

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

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

Invia una richiesta per trovare nuovi giocatori per gli slot aperti in una sessione di gioco creata con FlexMatch. Vedi anche l'azione AWS SDK [StartMatchBackfill().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html) Con questa operazione, è possibile avviare le richieste di backfill degli abbinamenti da un processo del server di gioco che ospita la sessione di gioco. Scopri di più sulla funzione di [FlexMatchriempimento](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Questa operazione è asincrona. Se i nuovi giocatori sono stati abbinati in modo corretto, il servizio Amazon GameLift Servers invia i dati del matchmaker aggiornati tramite 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-sdk-csharp-ref-stopmatchbackfill) per annullare la richiesta originale.

### Sintassi
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-syntax"></a>

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

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

**StartMatchBackfillRequest**  
Un oggetto [StartMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-startmatchbackfillrequest) che comunica le informazioni seguenti:  
+ ID del ticket da assegnare alla richiesta di backfill. Questa informazione è facoltativa; se l'ID non viene fornito, Amazon GameLift Servers ne creerà automaticamente uno.
+ Matchmaker a cui inviare la richiesta. L'ARN di configurazione completo è obbligatorio. Questo valore può essere acquisito dai dati del matchmaker della sessione di gioco.
+ ID della sessione di gioco che è in fase di backfilling.
+ Dati di abbinamento disponibili per i giocatori correnti della sessione di gioco.
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-return"></a>

Restituisce un StartMatchBackfillOutcome oggetto con l'ID del ticket Match Backfill o restituisce un errore con un messaggio di errore. 

### Esempio
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-example"></a>

```
// Build a backfill request
var startBackfillRequest = new AWS.GameLift.Server.Model.StartMatchBackfillRequest()
{
    TicketId = "a ticket ID", //optional
    MatchmakingConfigurationArn = "the matchmaker configuration ARN", 
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result,    // gets ID for current game session
        //get player data for all currently connected players
            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
var 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-sdk-csharp-ref-stopmatchbackfill"></a>

Annulla una richiesta di backfill degli abbinamenti attiva creata con [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill). Vedi anche l'azione AWS SDK [StopMatchmaking()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html). Scopri di più sulla funzione di [FlexMatchriempimento](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Sintassi
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-syntax"></a>

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

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

**StopMatchBackfillRequest**  
Un oggetto [StopMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-stopmatchbackfillrequest) che identifica il ticket di abbinamento da annullare:   
+ ID del ticket assegnato alla richiesta di backfill in fase di annullamento
+ matchmaker a cui è stata inviata la richiesta di backfill
+ sessione di gioco associata alla richiesta di backfill
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

var stopBackfillRequest = new AWS.GameLift.Server.Model.StopMatchBackfillRequest()
{
    TicketId = "a ticket ID", //optional, if not provided one is autogenerated
    MatchmakingConfigurationArn = "the matchmaker configuration ARN", //from the game session matchmaker data
    GameSessionId = GameLiftServerAPI.GetGameSessionId().Result    //gets the ID for the current game session
};

var stopBackfillOutcome = GameLiftServerAPI.StopMatchBackfillRequest(stopBackfillRequest);
```

## TerminateGameSession()
<a name="integration-server-sdk-csharp-ref-terminategamesession"></a>

**Questo metodo è obsoleto con la versione 4.0.1. Invece, il processo del server dovrebbe richiamare [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) dopo la fine di una sessione di gioco.**

Notifica al Amazon GameLift Servers servizio che il processo del server ha terminato la sessione di gioco corrente. Questa azione viene richiamata quando il processo del server rimane attivo e pronto per ospitare una nuova sessione di gioco. Dovrebbe essere chiamata solo dopo il completamento della procedura di interruzione della sessione di gioco, perché segnala Amazon GameLift Servers che il processo del server è immediatamente disponibile per ospitare una nuova sessione di gioco. 

Questa azione non viene eseguita se il processo del server verrà chiuso dopo l'interruzione della sessione di gioco. Invece, chiama [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) per segnalare che sia la sessione di gioco che il processo sul server stanno terminando. 

### Sintassi
<a name="integration-server-sdk-csharp-ref-terminategamesession-syntax"></a>

```
GenericOutcome TerminateGameSession()
```

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

Questa operazione non prevede parametri.

### Valore restituito
<a name="integration-server-sdk-csharp-ref-terminategamesession-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-terminategamesession-example"></a>

Questo esempio illustra un processo del server al termine di una sessione di gioco.

```
// game-specific tasks required to gracefully shut down a game session, 
// such as notifying players, preserving game state data, and other cleanup

var terminateGameSessionOutcome = GameLiftServerAPI.TerminateGameSession();
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk-csharp-ref-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. (Vedi anche l'azione [UpdateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html) nel *Amazon GameLift ServersService API Reference*).

### Sintassi
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-syntax"></a>

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

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

**newPlayerSessionPolitica**  
Valore della stringa che indica se la sessione di gioco accetta nuovi giocatori.   
Tipo: enum. [PlayerSessionCreationPolicy](https://sdk.amazonaws.com/cpp/api/LATEST/namespace_aws_1_1_game_lift_1_1_model.html#afa8a7527defe9e7ca0caebc239182c43). I valori validi includono:  
+ **ACCEPT\_ALL**: accetta tutte le nuove sessioni giocatore.
+ **DENY\_ALL**: rifiuta tutte le nuove sessioni giocatore.
Obbligatorio: sì

### Valore restituito
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-return"></a>

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

### Esempio
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-example"></a>

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

```
var updatePlayerSessionCreationPolicyOutcomex = 
    GameLiftServerAPI.UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy.ACCEPT_ALL);
```