

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# C\$1-Server-SDK für Amazon GameLift Servers 4.x — Aktionen
<a name="integration-server-sdk-csharp-ref-actions"></a>

Verwenden Sie die Server-SDK-Referenz, um Ihr Multiplayer-Spiel zum Hosten zu integrieren. Amazon GameLift Servers Hinweise zum Integrationsprozess finden Sie unter[Füge Amazon GameLift Servers es deinem Spieleserver mit dem Server-SDK hinzu](gamelift-sdk-server-api.md).

**Anmerkung**  
Diese Referenz bezieht sich auf eine frühere Version des Server-SDK fürAmazon GameLift Servers. Informationen zur neuesten Version finden Sie unter [C\$1-Server-SDK 5.x für Amazon GameLift Servers -- Aktionen](integration-server-sdk5-csharp-actions.md).

[C\$1-Server-SDK für Amazon GameLift Servers 4.x -- Datentypen](integration-server-sdk-csharp-ref-datatypes.md)

**Topics**
+ [C\$1-Server-SDK für Amazon GameLift Servers 4.x -- Datentypen](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>

Informiert den Amazon GameLift Servers Dienst darüber, dass ein Spieler mit der angegebenen Spielersitzungs-ID eine Verbindung zum Serverprozess hergestellt hat und eine Bestätigung benötigt. Amazon GameLift Serversüberprüft, ob die Spielersitzungs-ID gültig ist, d. h. ob die Spieler-ID einen Spielerplatz in der Spielsitzung reserviert hat. Nach der Bestätigung ändert Amazon GameLift Servers den Status des Spielerplatzes von RESERVED nach ACTIVE. 

### Syntax
<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**  
Eindeutige ID, die ausgestellt wirdAmazon GameLift Servers, wenn eine neue Spielersitzung erstellt wird. In einem `PlayerSession` Objekt ist eine Spielersitzungs-ID angegeben, die als Antwort auf einen Client-Aufruf der *GameLift API-Aktionen [ StartGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*, [ CreateGameSession[ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html), oder zurückgegeben wird [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Typ: Zeichenfolge  
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-acceptplayersession-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung. 

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

Dieses Beispiel zeigt eine Funktion zur Bearbeitung einer Verbindungsanfrage, einschließlich der Validierung und Ablehnung einer ungültigen Spielersitzung. 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>

Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess eine Sitzungs-ID für das Spiel ist aktiviert hat und nun Verbindungen annehmen kann. Diese Aktion muss im Rahmen der `onStartGameSession()`-Callback-Funktion aufgerufen werden, nachdem die Initialisierung der Spielsitzung vollständig abgeschlossen ist.

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

```
GenericOutcome ActivateGameSession()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-activategamesession-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

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

In diesem Beispiel wird `ActivateGameSession()` als Teil der `onStartGameSession()`-Delegate-Funktion aufgerufen. 

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

Ruft Sitzungsdaten der Spieler, einschließlich Einstellungen, Metadaten zu der Sitzung und Spielerdaten ab. Verwenden Sie diese Aktion, um für eine einzelne Spielersitzung, für alle Spielersitzungen in einer Spielsitzung oder für alle Spielersitzungen zu einer einzelnen Spieler-ID abzurufen.

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

**describePlayerSessionsAnfrage**  
Ein [DescribePlayerSessionsRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-playersessions)-Objekt, mit dem beschrieben wird, welche Spielersitzungen abgerufen werden sollen.  
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-describeplayersessions-return"></a>

Wenn sie erfolgreich ausgeführt wird, gibt die Funktion ein `DescribePlayerSessionsOutcome`-Objekt mit einer Menge von Spielersitzungsobjekten zurück, die den Anforderungsparametern entsprechen. Player-Sitzungsobjekte haben eine Struktur, die mit dem AWS Amazon GameLift Servers [PlayerSession](https://docs.aws.amazon.com/gamelift/latest/apireference/API_PlayerSession.html)SDK-API-Datentyp identisch ist.

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

Dieses Beispiel zeigt eine Anforderung für alle Spielersitzungen, die derzeit aktiv mit einer angegebenen Spielsitzung verbunden sind. Wenn Sie den *Grenzwert* weglassen *NextToken*und ihn auf 10 setzen, Amazon GameLift Servers werden die Datensätze der ersten 10 Spielersitzungen zurückgegeben, die der Anfrage entsprechen.

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

Ruft die ID der Spielsitzung ab, die derzeit von dem Serverprozess gehostet wird, wenn der Serverprozess aktiv ist. 

Bei Prozessen im Leerlauf, die während einer Spielsitzung noch nicht aktiviert wurden, gibt der Aufruf `Success` = `True` und `GameSessionId` = `""` (eine leere Zeichenfolge) zurück.

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

```
AwsStringOutcome GetGameSessionId()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-getgamesessionid-return"></a>

War der Aufruf erfolgreich, gibt die Funktion die Spielsitzungs-ID als `AwsStringOutcome`-Objekt zurück. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

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

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

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

Ruft den Dateispeicherort eines PEM-codierten TLS-Zertifikats ab, das der Flotte und ihren Instanzen zugeordnet ist. AWS Certificate Manager generiert dieses Zertifikat, wenn Sie eine neue Flotte erstellen, bei der die Zertifikatskonfiguration auf GENERATED gesetzt ist. Verwenden Sie dieses Zertifikat, um eine sichere Verbindung mit einem Spiele-Client herzustellen und die Client-/Serverkommunikation zu verschlüsseln. 

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

```
GetInstanceCertificateOutcome GetInstanceCertificate();
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-getinstancecertificate-return"></a>

Bei Erfolg wird ein `GetInstanceCertificateOutcome` Objekt zurückgegeben, das den Speicherort der TLS-Zertifikatsdatei und der Zertifikatskette der Flotte enthält, die auf der Instanz gespeichert sind. Eine Stammzertifikatsdatei, die aus der Zertifikatskette extrahiert wurde, wird ebenfalls auf der Instanz gespeichert. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben. 

Weitere Informationen zu den Daten des Zertifikats und der Zertifikatskette finden Sie unter [GetCertificate Response Elements](https://docs.aws.amazon.com/acm/latest/APIReference/API_GetCertificate.html#API_GetCertificate_ResponseElements) in der AWS Certificate Manager API-Referenz.

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

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

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

Gibt die aktuelle Versionsnummer des SDK zurück, das in den Serverprozess integriert ist.

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

```
AwsStringOutcome GetSdkVersion()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-getsdk-return"></a>

War der Aufruf erfolgreich, gibt die Funktion die aktuelle SDK-Version als `AwsStringOutcome`-Objekt zurück. Die zurückgegebene Zeichenfolge enthält nur die Versionsnummer (z. B. „3.1.5"). Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

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

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

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

Gibt die Zeit zurück, für die das Herunterfahren eines Serverprozesses geplant ist (wenn eine Zeit zum Beenden verfügbar ist). Ein Serverprozess führt diese Aktion aus, nachdem er einen `onProcessTerminate()` Rückruf vom Dienst erhalten hat. Amazon GameLift Servers Amazon GameLift Servers[kann aus den folgenden `onProcessTerminate()` Gründen aufrufen: (1) bei schlechtem Zustand (der Serverprozess hat den Zustand des Ports gemeldet oder nicht darauf reagiert)Amazon GameLift Servers, (2) wenn die Instance während eines Scale-Down-Ereignisses beendet wird oder (3) wenn eine Instance aufgrund einer Spot-Instance-Unterbrechung beendet wird.](spot-tasks.md) 

Wenn der Prozess einen `onProcessTerminate()` Rückruf erhalten hat, entspricht der zurückgegebene Wert der geschätzten Endzeit. Wenn der Prozess keinen `onProcessTerminate()` Rückruf erhalten hat, wird eine Fehlermeldung zurückgegeben. Weitere Informationen über das [Herunterfahren eines Serverprozesses](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).

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

```
AwsDateTimeOutcome GetTerminationTime()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-getterm-return"></a>

Bei Erfolg wird die Abschlusszeit als `AwsDateTimeOutcome` Objekt zurückgegeben. Der Wert ist die Endzeit, ausgedrückt in verstrichenen Ticks seit 0001 00:00:00. Beispielsweise entspricht der Wert für Datum und Uhrzeit 2020-09-13 12:26:40 -000Z 637355968000000000 Ticks. Wenn keine Kündigungszeit verfügbar ist, wird eine Fehlermeldung zurückgegeben.

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

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

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

Initialisiert das Amazon GameLift Servers-SDK. Diese Methode sollte beim Start aufgerufen werden, bevor andere Amazon GameLift Servers-Initialisierungen durchgeführt werden.

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

```
InitSDKOutcome InitSDK()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-initsdk-return"></a>

Bei Erfolg wird ein InitSdkOutcome Objekt zurückgegeben, das angibt, dass der Serverprozess aufrufbereit ist[ProcessReady()](#integration-server-sdk-csharp-ref-processready). 

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

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

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

Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess beendet wird. Diese Methode sollte aufgerufen werden, nachdem alle anderen Aufgaben ausgeführt sind, und insbesondere auch alle aktiven Spielsitzungen beendet sind. Diese Methode sollte mit einem Beendigungscode 0 beendet werden. Andere Beendigungscodes sorgen für eine Ereignisnachricht zum unsauberen Beenden des Prozesses.

Sobald die Methode mit dem Code 0 beendet wurde, können Sie den Prozess mit einem erfolgreichen Exit-Code beenden. Sie können den Prozess auch mit einem Fehlercode beenden. Wenn Sie den Vorgang mit einem Fehlercode beenden, zeigt das Flottenereignis an, dass der Prozess ungewöhnlich beendet wurde (`SERVER_PROCESS_TERMINATED_UNHEALTHY`). 

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

```
GenericOutcome ProcessEnding()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-processending-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.

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

Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess zum Hosten von Spielsitzungen bereit ist. Rufen Sie diese Methode auf, nachdem Sie erfolgreich Einrichtungsaufgaben aufgerufen [InitSDK()](#integration-server-sdk-csharp-ref-initsdk) und abgeschlossen haben, die erforderlich sind, bevor der Serverprozess eine Spielsitzung hosten kann. Diese Methode sollte nur einmal pro Prozess aufgerufen werden.

### Syntax
<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**  
Ein [ProcessParameters](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-process)-Objekt, das die folgenden Informationen über den Serverprozess mitteilt:  
+ Die Namen von Callback-Methoden, implementiert in dem Code des Spiel-Servers, den der Amazon GameLift Servers-Service zur Kommunikation mit dem Serverprozess aufruft.
+ Die Portnummer, auf der der Serverprozess horcht.
+ Pfad zu beliebigen spielsitzungsspezifischen Dateien, die Amazon GameLift Servers erfassen und speichern soll.
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-processready-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

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

Dieses Beispiel veranschaulicht die Implementierung des [ProcessReady()](#integration-server-sdk-csharp-ref-processready)-Aufrufs und der Delegate-Funktion.

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

Benachrichtigt den Amazon GameLift Servers-Service, dass ein Spieler mit der angegebenen Sitzungs-ID eine Verbindung zu dem Server getrennt hat. Als Reaktion ändert Amazon GameLift Servers den Status des Spielerplatzes in „verfügbar“, so dass er einem neuen Spieler zugewiesen werden kann. 

### Syntax
<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**  
Eindeutige IDAmazon GameLift Servers, die ausgegeben wird, wenn eine neue Spielersitzung erstellt wird. In einem `PlayerSession` Objekt ist eine Spielersitzungs-ID angegeben, die als Antwort auf einen Client-Aufruf der *GameLift API-Aktionen [ StartGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html)*, [ CreateGameSession[ DescribeGameSessionPlacement](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionPlacement.html)](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html), oder zurückgegeben wird [ DescribePlayerSessions](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html).  
Typ: Zeichenfolge  
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-removeplayersession-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

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

Sendet eine Anforderung zur Suche nach neuen Spielern für offene Slots in einer Spielsitzung, die mit FlexMatch erstellt wurde. Siehe auch die AWS SDK-Aktion [StartMatchBackfill()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html). Mit dieser Aktion können Match-Backfill-Anforderungen von einem Game-Server-Prozess initiiert werden, der die Spielsitzung hostet. Erfahren Sie mehr über die [FlexMatchBackfill-Funktion](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Diese Aktion ist asynchron. Wenn neue Spieler erfolgreich gematcht werden, liefert der Amazon GameLift Servers-Service über die Callback-Funktion `OnUpdateGameSession()` aktualisierte Matchmaker-Daten.

Ein Serverprozess kann immer nur eine aktive Match-Backfill-Anforderung haben. Um eine neue Anforderung zu senden, rufen Sie zuerst [StopMatchBackfill()](#integration-server-sdk-csharp-ref-stopmatchbackfill) auf, um die ursprüngliche Anforderung abzubrechen.

### Syntax
<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**  
Ein [StartMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-startmatchbackfillrequest)-Objekt, das die folgenden Informationen übermittelt:  
+ Eine Ticket-ID für die Zuordnung zur Backfill-Anforderung. Diese Informationen sind optional. Bei fehlender ID-Angabe wird automatisch eine ID von Amazon GameLift Servers generiert.
+ Der Matchmaker, an den die Anfrage gesendet werden soll. Der vollständige ARN der Konfiguration ist erforderlich. Dieser Wert kann aus den Matchmaker-Daten der Spielsitzung abgerufen werden.
+ Die ID der Spielsitzung für das Backfill.
+ Verfügbare Matchmaking-Daten für die aktuellen Spieler der Spielsitzung.
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-startmatchbackfill-return"></a>

Gibt ein StartMatchBackfillOutcome Objekt mit der passenden Backfill-Ticket-ID zurück oder schlägt fehl, und es wird eine Fehlermeldung angezeigt. 

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

Bricht eine aktive mit dem Befehl [StartMatchBackfill()](#integration-server-sdk-csharp-ref-startmatchbackfill) erstellte Match-Backfill-Anforderung ab. Siehe auch die AWS SDK-Aktion [StopMatchmaking()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_StopMatchmaking.html). Erfahren Sie mehr über die [FlexMatchBackfill-Funktion](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

### Syntax
<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**  
Ein [StopMatchBackfillRequest](integration-server-sdk-csharp-ref-datatypes.md#integration-server-sdk-csharp-ref-dataypes-stopmatchbackfillrequest)-Objekt, das das abzubrechende Matchmaking-Ticket identifiziert:   
+ Ticket-ID der abzubrechenden Backfill-Anforderung
+ Matchmaker, an den die Backfill-Anforderung gesendet wurde
+ Spielsitzung für die Backfill-Anforderung
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-stopmatchbackfill-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

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

**Diese Methode ist mit Version 4.0.1 veraltet. Stattdessen sollte der Serverprozess [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) nach dem Ende einer Spielsitzung aufgerufen werden.**

Informiert den Amazon GameLift Servers Dienst darüber, dass der Serverprozess die aktuelle Spielsitzung beendet hat. Diese Aktion wird aufgerufen, wenn der Serverprozess aktiv bleibt und bereit ist, eine neue Spielsitzung zu veranstalten. Sie sollte erst aufgerufen werden, nachdem der Vorgang zum Beenden der Spielsitzung abgeschlossen ist, da sie signalisiertAmazon GameLift Servers, dass der Serverprozess sofort für die Durchführung einer neuen Spielsitzung verfügbar ist. 

Diese Aktion wird nicht aufgerufen, wenn der Serverprozess nach dem Ende der Spielsitzung heruntergefahren wird. Rufen Sie stattdessen auf, [ProcessEnding()](#integration-server-sdk-csharp-ref-processending) um zu signalisieren, dass sowohl die Spielsitzung als auch der Serverprozess beendet werden. 

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

```
GenericOutcome TerminateGameSession()
```

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

Diese Aktion hat keine Parameter.

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-terminategamesession-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

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

Dieses Beispiel zeigt einen Serverprozess am Ende einer Spielsitzung.

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

Aktualisiert die Kapazität der aktuellen Spielsitzung zur Aufnahme neuer Spielersitzungen. Eine Spielsitzung kann so eingerichtet werden, dass Sie alle neuen Spieler-Sitzungen akzeptiert oder ablehnt. (Siehe auch die Aktion [UpdateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html) in der *Amazon GameLift ServersService-API-Referenz*).

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

**newPlayerSessionRichtlinie**  
Zeichenfolgenwert, der angibt, ob die Spielsitzung neue Spieler akzeptiert.   
Eingabe: [PlayerSessionCreationPolicy](https://sdk.amazonaws.com/cpp/api/LATEST/namespace_aws_1_1_game_lift_1_1_model.html#afa8a7527defe9e7ca0caebc239182c43) enum. Gültige Werte sind:  
+ **ACCEPT\$1ALL** – Akzeptiert alle neuen Spielersitzungen.
+ **DENY\$1ALL** – Verwehrt neue Spielersitzungen.
Erforderlich: Ja

### Rückgabewert
<a name="integration-server-sdk-csharp-ref-updateplayersessioncreationpolicy-return"></a>

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

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

In diesem Beispiel werden die Richtlinien für die aktuelle Spielsitzung für neue Spieler so festgelegt, dass alle Spieler akzeptiert werden.

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