

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.

# Amazon GameLift ServersIntegrieren Sie in ein Unity-Gameserver-Projekt
<a name="integration-unity-server-sdk4"></a>

**Anmerkung**  
Dieses Thema enthält Informationen zu einer früheren Version des Amazon GameLift Servers Plugins für Unity. Version 1.x verwendet das Server-SDK für Amazon GameLift Servers 4.x oder früher. Dokumentation zur neuesten Plugin-Version, die das Server-SDK 5.x verwendet und neuere Funktionen wie Amazon GameLift Servers Anywhere und verwaltetes Container-Hosting unterstützt, finden Sie unter. [Amazon GameLift ServersPlugin für Unity (Server-SDK 5.x)](unity-plug-in.md)

Dieses Thema hilft dir dabei, deinen benutzerdefinierten Spieleserver für das Hosting auf Amazon GameLift Servers vorzubereiten. Der Spieleserver muss in der Lage sein, Amazon GameLift Servers über seinen Status zu informieren, Spielsitzungen zu starten und zu beenden, wenn er dazu aufgefordert wird, und andere Aufgaben auszuführen. Weitere Informationen finden Sie unter [Füge Amazon GameLift Servers es deinem Spieleserver mit dem Server-SDK hinzu](gamelift-sdk-server-api.md).

## Voraussetzungen
<a name="integration-unity-server-sdk4-prereq"></a>

Bevor du deinen Spielserver integrierst, führe die folgenden Aufgaben durch: 
+ [Richten Sie eine IAM-Servicerolle ein für Amazon GameLift Servers](setting-up-role.md)
+ [Installieren und richten Sie das Plugin ein](unity-plug-in-sdk4.md#unity-plug-in-sdk4-install)

## Richte einen neuen Serverprozess ein
<a name="integration-unity-server-sdk4-server-process"></a>

**Anmerkung**  
Dieses Thema bezieht sich auf das Amazon GameLift Servers Plugin für Unity Version 1.0.0, das das Server-SDK 4.x oder früher verwendet.

Richten Sie die Kommunikation mit dem Serverprozess ein Amazon GameLift Servers und melden Sie, dass er bereit ist, eine Spielsitzung zu veranstalten. 

1. Initialisieren Sie das Server-SDK, indem Sie es aufrufen`InitSDK()`. 

1. Um den Server darauf vorzubereiten, eine Spielsitzung anzunehmen, rufen Sie an `ProcessReady()` und geben Sie den Verbindungsport und den Ort der Spielsitzung an. Geben Sie die Namen der Callback-Funktionen an, die der Amazon GameLift Servers Dienst aufruft, z. B.`OnGameSession()`,,`OnGameSessionUpdate()`,`OnProcessTerminate()`. `OnHealthCheck()` Amazon GameLift ServersEs kann einige Minuten dauern, bis ein Rückruf erfolgt.

1. Amazon GameLift Serversaktualisiert den Status des Serverprozesses auf`ACTIVE`.

1. Amazon GameLift Serversruft `onHealthCheck` regelmäßig an.

Das folgende Codebeispiel zeigt, wie Sie einen einfachen Serverprozess mit einrichtenAmazon GameLift Servers. 

```
//initSDK
var initSDKOutcome = GameLiftServerAPI.InitSDK();
           
//processReady
// Set parameters and call ProcessReady
var processParams = new ProcessParameters(
    this.OnGameSession,
    this.OnProcessTerminate,
    this.OnHealthCheck,
    this.OnGameSessionUpdate,
    port,
    // Examples of log and error files written by the game server
    new LogParameters(new List<string>()          
        {
            "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;
}
```

## Starte eine Spielsitzung
<a name="integration-unity-server-sdk4-start-game-session"></a>

**Anmerkung**  
Dieses Thema bezieht sich auf das Amazon GameLift Servers Plugin für Unity Version 1.0.0, das das Server-SDK 4.x oder früher verwendet.

Nachdem die Initialisierung des Spiels abgeschlossen ist, können Sie eine Spielsitzung starten.

1. Implementieren Sie die Callback-Funktion. `onStartGameSession` Amazon GameLift Serversruft diese Methode auf, um eine neue Spielsitzung auf dem Serverprozess zu starten und Spielerverbindungen zu empfangen.

1. Um eine Spielsitzung zu aktivieren, rufen Sie an. `ActivateGameSession()` Weitere Informationen zum SDK finden Sie unter[C\$1-Server-SDK für Amazon GameLift Servers 4.x — Aktionen](integration-server-sdk-csharp-ref-actions.md).

Das folgende Codebeispiel zeigt, wie Sie eine Spielsitzung mit startenAmazon GameLift Servers. 

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

## Beendet eine Spielsitzung
<a name="integration-unity-server-sdk4-end-game-session"></a>

**Anmerkung**  
Dieses Thema bezieht sich auf das Amazon GameLift Servers Plugin für Unity Version 1.0.0, das das Server-SDK 4.x oder früher verwendet.

BenachrichtigeAmazon GameLift Servers, wenn eine Spielsitzung endet. Es hat sich bewährt, Serverprozesse nach Abschluss der Spielsitzungen herunterzufahren, um Hosting-Ressourcen zu recyceln und zu aktualisieren. 

1. Richten Sie eine Funktion ein, die so benannt ist`onProcessTerminate`, dass sie Anfragen von empfängt Amazon GameLift Servers und aufruft`ProcessEnding()`. 

1. Der Prozessstatus ändert sich auf`TERMINATED`.

Das folgende Beispiel beschreibt, wie ein Prozess für eine Spielsitzung beendet wird.

```
var processEndingOutcome = GameLiftServerAPI.ProcessEnding();

if (processReadyOutcome.Success)
   Environment.Exit(0);

// otherwise, exit with error code
Environment.Exit(errorCode);
```

## Erstellen Sie einen Server-Build und laden Sie ihn hoch auf Amazon GameLift Servers
<a name="integration-unity-server-sdk4-gamelift-connection"></a>

**Anmerkung**  
Dieses Thema bezieht sich auf das Amazon GameLift Servers Plugin für Unity Version 1.0.0, das das Server-SDK 4.x oder früher verwendet.

Nachdem Sie Ihren Spieleserver mit integriert habenAmazon GameLift Servers, laden Sie die Build-Dateien in eine Flotte hoch, damit sie für das Amazon GameLift Servers Hosten von Spielen eingesetzt werden können. Weitere Informationen darüber, wie du deinen Server hochlädstAmazon GameLift Servers, findest du unter[Erstelle einen Gameserver-Build für Amazon GameLift Servers](gamelift-build-cli-uploading.md).