

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\#-Server-SDK 5.x für Amazon GameLift Servers -- Aktionen
<a name="integration-server-sdk5-csharp-actions"></a>

Verwenden Sie die Server-SDK 5.x-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). Wenn Sie das Amazon GameLift Servers Plugin für Unity verwenden, finden Sie auch weitere Informationen unter[Amazon GameLift ServersPlugin für Unity (Server-SDK 5.x)](unity-plug-in.md).

[C\#-Server-SDK 5.x für Amazon GameLift Servers -- Datentypen](integration-server-sdk5-csharp-datatypes.md)

**Topics**
+ [C\#-Server-SDK 5.x für Amazon GameLift Servers -- Datentypen](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)
+ [Zerstören ()](#integration-server-sdk5-csharp-destroy)

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

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

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

```
AwsStringOutcome GetSdkVersion();
```

### Rückgabewert
<a name="integration-server-sdk5-csharp-getsdkversion-return"></a>

War der Aufruf erfolgreich, gibt die Funktion die aktuelle SDK-Version als [AwsStringOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-awsstringoutcome)-Objekt zurück. Die zurückgegebene Zeichenfolge enthält die Versionsnummer (Beispiel`5.0.0`). Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

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

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

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

Initialisiert das Metriksystem für die Erfassung und Berichterstattung von Serverleistungsdaten. Die besten Ergebnisse erzielen Sie, wenn Sie diese Methode zuvor aufrufen, [InitSDK()](#integration-server-sdk5-csharp-initsdk) um die Erfassung von Metriken während der SDK-Initialisierung zu aktivieren.

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

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

### Parameters
<a name="integration-server-sdk5-csharp-initmetrics-parameter"></a>

[MetricsParameters](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-metricsparameters) (optional)  
Konfigurationsparameter für die Erfassung von Metriken. Falls nicht angegeben, werden Standardwerte verwendet, die durch Umgebungsvariablen überschrieben werden können.

### Rückgabewert
<a name="integration-server-sdk5-csharp-initmetrics-return"></a>

Bei Erfolg wird ein [MetricsManagerOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-metricsmanageroutcome) Objekt zurückgegeben, das die MetricsManager Instanz enthält. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

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

Initialisiert das Amazon GameLift Servers SDK für eine verwaltete EC2-Flotte. Rufen Sie diese Methode beim Start auf, bevor eine weitere Initialisierung im Zusammenhang mit erfolgt. Amazon GameLift Servers Diese Methode liest Serverparameter aus der Host-Umgebung, um die Kommunikation zwischen dem Server und dem Amazon GameLift Servers Dienst einzurichten. Sie verwendet ein Idempotenz-Token, sodass Sie diesen Aufruf sicher wiederholen können, wenn er fehlschlägt.

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

```
GenericOutcome InitSDK();
```

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

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

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

Initialisiert das Amazon GameLift Servers SDK für eine Anywhere-Flotte. Rufen Sie diese Methode beim Start auf, bevor eine weitere Initialisierung im Zusammenhang mit erfolgt. Amazon GameLift Servers Für diese Methode sind explizite Serverparameter erforderlich, um die Kommunikation zwischen dem Server und dem Amazon GameLift Servers Dienst einzurichten. Sie verwendet ein Idempotenz-Token, sodass Sie diesen Aufruf sicher wiederholen können, wenn er fehlschlägt.

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

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

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

[ServerParameters](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-serverparameters)  
Um einen Spieleserver auf einer Amazon GameLift Servers Anywhere-Flotte zu initialisieren, konstruieren Sie ein `ServerParameters` Objekt mit den folgenden Informationen:  
+ Die URL, mit der die WebSocket Verbindung zu Ihrem Spieleserver hergestellt wurde. 
+ Die ID des Prozesses, der zum Hosten deines Spieleservers verwendet wird. 
+ Die ID des Computers, auf dem deine Gameserver-Prozesse gehostet werden. 
+ Die ID der Amazon GameLift Servers Flotte, die Ihren Amazon GameLift Servers Anywhere-Computer enthält.
+ Das durch den Amazon GameLift Servers Vorgang generierte Autorisierungstoken. 

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

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

**Anmerkung**  
Wenn Aufrufe von für Spiele-Builds, die auf Anywhere-Flotten bereitgestellt werden, fehlschlagen, überprüfen Sie den `ServerSdkVersion` Parameter, der beim Erstellen der Build-Ressource verwendet wurde. `InitSDK()` Sie müssen diesen Wert explizit auf die verwendete Server-SDK-Version festlegen. Der Standardwert für diesen Parameter ist 4.x, was nicht kompatibel ist. Um dieses Problem zu beheben, erstellen Sie einen neuen Build und stellen Sie ihn in einer neuen Flotte bereit.

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

BenachrichtigtAmazon GameLift Servers, dass der Serverprozess bereit ist, Spielsitzungen abzuhalten. Rufen Sie diese Methode nach dem Aufrufen auf[InitSDK()](#integration-server-sdk5-csharp-initsdk). Diese Methode sollte nur einmal pro Prozess aufgerufen werden.

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

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

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

**[ProcessParameters](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-process)**  
Ein `ProcessParameters` Objekt enthält Informationen über den Serverprozess.

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

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

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

Dieses Beispiel veranschaulicht sowohl die Methoden- als auch die Delegatenfunktionsimplementierung.

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

BenachrichtigtAmazon GameLift Servers, dass der Serverprozess beendet wird. Ruft diese Methode nach allen anderen Bereinigungsaufgaben (einschließlich des Herunterfahrens der aktiven Spielsitzung) und vor dem Beenden des Vorgangs auf. Je nach Ergebnis von wird der `ProcessEnding()` Prozess mit Erfolg (0) oder Fehler (-1) beendet und generiert ein Flottenereignis. Wenn der Prozess mit einem Fehler beendet wird, ist das generierte Flottenereignis `SERVER_PROCESS_TERMINATED_UNHEALTHY`

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

```
GenericOutcome ProcessEnding()
```

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

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

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

In diesem Beispiel wird `ProcessEnding()` der Serverprozess aufgerufen, `Destroy()` bevor er mit einem Exit-Code für Erfolg oder Fehler beendet wird.

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

Meldet, Amazon GameLift Servers dass der Serverprozess eine Spielsitzung aktiviert hat und nun bereit ist, Spielerverbindungen zu empfangen. Diese Aktion sollte als Teil der `onStartGameSession()` Callback-Funktion aufgerufen werden, nachdem alle Spielsitzungen initialisiert wurden.

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

```
GenericOutcome ActivateGameSession()
```

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

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

### Beispiel
<a name="integration-server-sdk5-csharp-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   
  GenericOutcome activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession();
}
```

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

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

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

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

**playerSessionPolicy**  
Zeichenkettenwert, der angibt, ob die Spielsitzung neue Spieler akzeptiert.   
Gültige Werte sind:  
+ **ACCEPT\_ALL** – Akzeptiert alle neuen Spielersitzungen.
+ **DENY\_ALL** – Verwehrt neue Spielersitzungen.

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

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

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

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

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

Ruft die ID der Spielsitzung ab, die vom aktiven Serverprozess gehostet wird.

Bei Prozessen im Leerlauf, die während einer Spielsitzung nicht aktiviert wurden, gibt der Aufruf a [GameLiftError](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-gamelifterror) zurück.

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

```
AwsStringOutcome GetGameSessionId()
```

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

War der Aufruf erfolgreich, gibt die Funktion die Spielsitzungs-ID als [AwsStringOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-awsstringoutcome)-Objekt zurück. Wenn das nicht erfolgreich ist, wird eine Fehlermeldung zurückgegeben.“

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

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

## GetTerminationTime()
<a name="integration-server-sdk5-csharp-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 von Amazon GameLift Servers erhalten hat. Amazon GameLift Serversruft `onProcessTerminate()` aus den folgenden Gründen auf: 
+ Wenn der Serverprozess einen schlechten Zustand gemeldet hat oder nicht darauf reagiert hatAmazon GameLift Servers.
+ Wenn die Instanz während eines Scale-Down-Ereignisses beendet wird.
+ [Wenn eine Instance aufgrund einer Spot-Instance-Unterbrechung beendet wird.](spot-tasks.md)

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

```
AwsDateTimeOutcome GetTerminationTime()
```

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

Bei Erfolg wird die Kündigungszeit als Objekt [AwsDateTimeOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-awsdatetimeoutcome) zurückgegeben. Der Wert ist die Endzeit, ausgedrückt in verstrichenen Ticks, die seitdem vergangen sind. `0001 00:00:00` Beispielsweise entspricht der Wert für Datum und Uhrzeit den `2020-09-13 12:26:40 -000Z` Ticks. `637355968000000000` Wenn keine Kündigungszeit verfügbar ist, wird eine Fehlermeldung zurückgegeben.

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

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

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

BenachrichtigtAmazon GameLift Servers, 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 Player-Sitzungs-ID gültig ist. Nachdem die Spielersitzung bestätigt wurde, wird der Status des Spieler-Slots von RESERVIERT auf AKTIV Amazon GameLift Servers geändert. 

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

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

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

playerSessionId  
Eindeutige ID GameLift , die ausgestellt wird, wenn eine neue Spielersitzung erstellt wird.

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

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

### Beispiel
<a name="integration-server-sdk5-csharp-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)
{
  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>

BenachrichtigtAmazon GameLift Servers, dass ein Spieler die Verbindung zum Serverprozess getrennt hat. Amazon GameLift ServersÄndert daraufhin den Player-Slot auf „Verfügbar“. 

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

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

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

**playerSessionId**  
Eindeutige IDAmazon GameLift Servers, die ausgestellt wird, wenn eine neue Spielersitzung erstellt wird.

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

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

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

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

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

Ruft Spielersitzungsdaten ab, einschließlich Einstellungen, Sitzungsmetadaten und Spielerdaten. 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-sdk5-csharp-describeplayersessions-syntax"></a>

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

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

**[DescribePlayerSessionsRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-playersessions)**  
Ein [DescribePlayerSessionsRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-playersessions) Objekt, das beschreibt, welche Spielersitzungen abgerufen werden sollen.

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

Bei Erfolg wird ein [DescribePlayerSessionsOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-describeplayersessionsoutcome) Objekt zurückgegeben, das eine Reihe von Spielersitzungsobjekten enthält, die den Anforderungsparametern entsprechen.

### Beispiel
<a name="integration-server-sdk5-csharp-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 Sitzungsdatensätze der ersten 10 Spieler zurückgegeben, die der Anfrage entsprechen.

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

Sendet eine Anforderung zur Suche nach neuen Spielern für offene Slots in einer Spielsitzung, die mit FlexMatch erstellt wurde. Weitere Informationen finden Sie unter [FlexMatchBackfill-Funktion](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

Diese Aktion ist asynchron. Wenn neue Spieler gematcht werden, Amazon GameLift Servers liefert es mithilfe der Callback-Funktion aktualisierte Matchmaker-Daten. `OnUpdateGameSession()`

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

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

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

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

**[StartMatchBackfillRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-startmatchbackfillrequest)**  
Ein `StartMatchBackfillRequest` Objekt enthält Informationen über die Backfill-Anfrage.

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

Gibt ein [StartMatchBackfillOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-startmatchbackfilloutcome) Objekt mit der passenden Backfill-Ticket-ID oder einem Fehler mit einer Fehlermeldung zurück. 

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

Bricht eine aktive Match-Backfill-Anfrage ab. Weitere Informationen finden Sie unter [FlexMatchBackfill-Funktion](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html).

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

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

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

**[StopMatchBackfillRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-stopmatchbackfillrequest)**  
Ein `StopMatchBackfillRequest` Objekt, das Details zu dem Matchmaking-Ticket enthält, das Sie beenden.

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

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

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

 Ruft den Pfad zum TLS-Zertifikat ab, das zur Verschlüsselung der Netzwerkverbindung zwischen dem Spieleserver und deinem Spielclient verwendet wird. Du kannst den Zertifikatspfad verwenden, wenn du dein Computergerät bei einer Amazon GameLift Servers Anywhere-Flotte registrierst. Weitere Informationen finden Sie unter [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html).

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

```
GetComputeCertificateOutcome GetComputeCertificate();
```

### Rückgabewert
<a name="integration-server-sdk5-csharp-getcomputecertificate-return"></a>

Gibt ein GetComputeCertificateResponse Objekt zurück, das Folgendes enthält: 
+  CertificatePath: Der Pfad zum TLS-Zertifikat auf Ihrer Rechenressource. Wenn Sie eine Amazon GameLift Servers verwaltete Flotte verwenden, enthält dieser Pfad:
  + `certificate.pem`: Das Endbenutzerzertifikat. Die vollständige Zertifikatskette ist die Kombination aus den an dieses Zertifikat `certificateChain.pem` angehängten Zertifikaten.
  + `certificateChain.pem`: Die Zertifikatskette, die das Stammzertifikat und die Zwischenzertifikate enthält.
  + `rootCertificate.pem`: Das Stammzertifikat.
  + `privateKey.pem`: Der private Schlüssel für das Endbenutzerzertifikat.
+ ComputeName: Der Name Ihrer Rechenressource.

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

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

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

Ruft Anmeldeinformationen für IAM-Rollen ab, die Amazon GameLift Servers zur Interaktion mit anderen berechtigen. AWS-Services Weitere Informationen finden Sie unter [Connect deinen Amazon GameLift Servers gehosteten Spieleserver mit anderen AWS Ressourcen](gamelift-sdk-server-resources.md).

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

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

### Parameters
<a name="integration-server-sdk5-csharp-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-dataypes-getfleetrolecredentialsrequest)  
Rollenanmeldedaten, die den eingeschränkten Zugriff auf Ihre AWS Ressourcen auf den Spieleserver erweitern.

### Rückgabewert
<a name="integration-server-sdk5-csharp-getfleetrolecredentials-return"></a>

Gibt ein [GetFleetRoleCredentialsOutcome](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-getfleetrolecredentialsoutcome)-Objekt zurück.

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

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

Befreit das Amazon GameLift Servers Spieleserver-SDK aus dem Speicher. Es hat sich bewährt, diese Methode nach `ProcessEnding()` und vor dem Beenden des Prozesses aufzurufen. Wenn Sie eine Anywhere-Flotte verwenden und Serverprozesse nicht nach jeder Spielsitzung beenden, rufen Sie auf `Destroy()` und starten Sie dann `InitSDK()` erneut, bevor Sie benachrichtigen, Amazon GameLift Servers dass der Prozess bereit ist, eine Spielsitzung mit zu hosten. `ProcessReady()`

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

```
GenericOutcome Destroy()
```

### Rückgabewert
<a name="integration-server-sdk5-csharp-destroy-return"></a>

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

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