Das Leben eines Gameservers - Amazon GameLift Servers

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.

Das Leben eines Gameservers

Mit Amazon GameLift Servers FleetIQ, durchlaufen Spieleserver den folgenden Lebenszyklus, einschließlich Bereitstellung und Status-Updates. Ein Spieleserver sollte eine Ressource mit langem Lebenszyklus sein. Es hat sich bewährt, dass Spieleserver nach dem Ende einer Spielsitzung abgemeldet werden sollten, anstatt für eine weitere Spielsitzung wiederverwendet zu werden. Dieser Ansatz trägt dazu bei, dass verfügbare Spieleserver immer mit den kostengünstigsten Ressourcen betrieben werden, die sich für das Hosten von Spielen eignen.

  • Eine Spieleserver-Ressource wird erstellt, wenn der Spieleserver-Prozess, der auf einer Instanz in einem Amazon GameLift Servers FleetIQ-verknüpfte Auto Scaling Scaling-Gruppe, ruft die Amazon GameLift Servers API RegisterGameServer() zur Benachrichtigung Amazon GameLift Servers FleetIQ dass es bereit ist, Spieler und Gameplay zu beherbergen. Ein Spieleserver besitzt zwei Statusarten, um seine aktuelle Verfügbarkeit nachzuverfolgen:

    • Der Nutzungsstatus verfolgt nach, ob der Spieleserver zurzeit Gameplay unterstützt. Dieser Status wird zunächst als AVAILABLE festgelegt, um anzuzeigen, dass der Spieleserver für neues Gameplay bereit ist. Wenn auf dem Spieleserver Gameplay ausgeführt wird, wird der Status auf UTILIZED festgelegt.

    • Der Beanspruchungsstatus verfolgt nach, ob der Spieleserver für ein unmittelbar bevorstehendes Gameplay beansprucht wurde. Ein Spieleserver mit dem Status CLAIMED zeigt an, dass er von einem Spiele-Client (oder einem Spiele-Service wie z. B. einem Matchmaker) vorübergehend reserviert wurde. Dieser Status verhindert Amazon GameLift Servers FleetIQ davon abzusehen, denselben Spieleserver mehreren Anfragern zur Verfügung zu stellen. Ein Spieleserver, dessen Beanspruchungsstatus leer ist, kann beansprucht werden.

  • Das folgende Diagramm zeigt die Änderungen des Nutzungs- und Beanspruchungsstatus eines Spieleservers während dessen Lebenszyklus.

    Lebenszyklus einer Spielserverressource.
    • Schritt 1. Eine Spieleservergruppe enthält sechs registrierte Spieleserver. Vier haben den Nutzungsstatus AVAILABLE (A, B, C und D), und zwei sind derzeit UTILIZED (E und F).

    • Schritt 2. Ein Spielclient oder ein Matchmaking-System ruft die Amazon GameLift Servers API ClaimGameServer() zum Anfordern eines neuen Spieleservers. Diese Anfrage fordert Amazon GameLift Servers FleetIQ um nach einem verfügbaren Spieleserver (D) zu suchen und dessen Anspruchsstatus für 60 Sekunden auf BEANSPRUCHT zu setzen. Amazon GameLift Servers FleetIQ beantwortet seine Anfrage mit Verbindungsinformationen für den Spieleserver (IP-Adresse und Port) sowie weiteren optionalen spielspezifischen Daten. Da das Gameplay auf dem Spielserver noch nicht begonnen hat, bleibt sein Nutzungsstatus AVAILABLE, aber er kann nicht mit einer weiteren Anfrage beansprucht werden.

    • Schritt 3a. Mithilfe der bereitgestellten Verbindungsinformationen können Spiele-Clients Verbindungen zum Spieleserver herstellen und das Gameplay starten. Der Spieleserver (D) muss innerhalb von 60 Sekunden ausgelöst werden, um seinen Nutzungsstatus auf UTILIZED zu ändern, indem der Amazon GameLift Servers APIUpdateGameServer().

    • Schritt 3b. Wenn der Nutzungsstatus des Spielservers nicht innerhalb von 60 Sekunden aktualisiert wird, läuft die Anspruchsfrist ab und der Anspruchsstatus wird auf leer zurückgesetzt. Der Spieleserver (D) wird in den Pool der verfügbaren und nicht beanspruchten Spieleserver zurückgeführt.

  • Eine Spieleserverressource wird entfernt, nachdem das Gameplay auf dem Spieleserver abgeschlossen ist und die Spieler die Verbindung getrennt haben. Vor dem Herunterfahren ruft der Spieleserver-Prozess den Amazon GameLift Servers API DeregisterGameServer() zur Benachrichtigung Amazon GameLift Servers FleetIQ über seinen Austritt aus dem Spielserverpool der Gameservergruppe.