Managen Sie, wie Amazon Spieleserver GameLift startet - Amazon GameLift

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.

Managen Sie, wie Amazon Spieleserver GameLift startet

Sie können die Laufzeitkonfiguration einer verwalteten EC2-Flotte so einrichten, dass mehrere Gameserverprozesse pro Instance ausgeführt werden. Dadurch werden Ihre Hosting-Ressourcen effizienter genutzt.

So verwaltet eine Flotte mehrere Prozesse

Amazon GameLift verwendet die Laufzeitkonfiguration einer Flotte, um den Typ und die Anzahl der Prozesse zu bestimmen, die auf jeder Instance ausgeführt werden sollen. Eine Laufzeitkonfiguration enthält mindestens eine Serverprozesskonfiguration, die eine ausführbare Spieleserverdatei darstellt. Du kannst zusätzliche Serverprozesskonfigurationen definieren, um andere Arten von Prozessen im Zusammenhang mit deinem Spiel auszuführen. Jede Serverprozesskonfiguration enthält die folgenden Informationen:

  • Den Dateinamen und den Pfad einer ausführbaren Datei in Ihrem Spiele-Build

  • (Optional) Parameter, die beim Start an den Prozess weitergeleitet werden

  • Die Anzahl der Prozesse, die gleichzeitig ausgeführt werden sollen.

Wenn eine Instance in der Flotte aktiviert wird, startet sie die in der Laufzeitkonfiguration definierten Serverprozesse. Bei mehreren Prozessen verschiebt GameLift Amazon den Start jedes Prozesses. Serverprozesse haben eine begrenzte Lebensdauer. Nach deren Ende GameLift startet Amazon neue Prozesse, um die Anzahl und Art der Serverprozesse beizubehalten, die in der Laufzeitkonfiguration definiert sind.

Sie können die Laufzeitkonfiguration jederzeit ändern, indem Sie Serverprozesskonfigurationen hinzufügen, ändern oder entfernen. Jede Instanz überprüft regelmäßig, ob die Laufzeitkonfiguration der Flotte aktualisiert wurde, um die Änderungen zu implementieren. So GameLift nimmt Amazon Änderungen an der Laufzeitkonfiguration an:

  1. Die Instance sendet eine Anfrage an Amazon GameLift für die neueste Version der Laufzeitkonfiguration.

  2. Die Instanz vergleicht ihre aktiven Prozesse mit der neuesten Laufzeitkonfiguration und geht dann wie folgt vor:

    • Wenn die aktualisierte Laufzeitkonfiguration einen Serverprozesstyp entfernt, werden aktive Serverprozesse dieses Typs weiter ausgeführt, bis sie beendet werden. Die Instanz ersetzt diese Serverprozesse nicht.

    • Wenn die aktualisierte Laufzeitkonfiguration die Anzahl der gleichzeitigen Prozesse für einen Serverprozesstyp verringert, werden überschüssige Serverprozesse dieses Typs weiter ausgeführt, bis sie beendet werden. Die Instanz ersetzt diese überschüssigen Serverprozesse nicht.

    • Wenn die aktualisierte Laufzeitkonfiguration einen neuen Serverprozesstyp hinzufügt oder die Anzahl gleichzeitiger Prozesse für einen vorhandenen Typ erhöht, startet die Instance neue Serverprozesse bis zum GameLift Amazon-Maximum. In diesem Fall startet die Instanz neue Serverprozesse, wenn bestehende Prozesse enden.

Optimieren Sie eine Flotte für mehrere Prozesse

Gehen Sie wie folgt vor, um mehrere Prozesse in einer Flotte zu verwenden:

  • Erstellen Sie einen Build, der die ausführbaren Spieleserverdateien enthält, die Sie für eine Flotte bereitstellen möchten, und laden Sie den Build dann auf Amazon hoch. GameLift Alle Spieleserver in einem Build müssen auf derselben Plattform laufen und das Amazon GameLift Server SDK verwenden.

  • Erstellen Sie eine Laufzeitkonfiguration mit einer oder mehreren Serverprozesskonfigurationen und mehreren gleichzeitigen Prozesse.

  • Integrieren Sie Spieleclients mit der AWS SDK-Version 2016-08-04 oder höher.

Um die Flottenleistung zu optimieren, empfehlen wir Ihnen, Folgendes zu tun:

  • Behandeln Sie Szenarien zum Herunterfahren von Serverprozessen, damit Amazon Prozesse GameLift effizient recyceln kann. Beispiele:

    • Füge deinem Spieleservercode eine Shutdown-Prozedur hinzu, die die Server-API ProcessEnding() aufruft.

    • Implementiere die Callback-Funktion OnProcessTerminate() in deinem Gameservercode, um Kündigungsanfragen von Amazon GameLift zu bearbeiten.

  • Stellen Sie sicher, dass Amazon GameLift fehlerhafte Serverprozesse herunterfährt und neu startet. Melden Sie den Gesundheitsstatus an Amazon zurück, GameLift indem Sie die OnHealthCheck() Rückruffunktion in Ihrem Gameservercode implementieren. Amazon fährt Serverprozesse, die in drei aufeinanderfolgenden Berichten als fehlerhaft gemeldet wurden, GameLift automatisch ab. Wenn Sie dies nicht implementierenOnHealthCheck(), GameLift geht Amazon davon aus, dass ein Serverprozess fehlerfrei ist, es sei denn, der Prozess reagiert nicht auf eine Kommunikation.

Wählen Sie die Anzahl der Prozesse pro Instanz

Beachten Sie bei der Entscheidung, wie viele Prozesse gleichzeitig auf einer Instanz ausgeführt werden sollen, Folgendes:

  • Amazon GameLift begrenzt jede Instance auf eine maximale Anzahl gleichzeitiger Prozesse. Die Summe aller gleichzeitigen Prozesse für die Serverprozesskonfigurationen einer Flotte darf dieses Kontingent nicht überschreiten.

  • Um ein akzeptables Leistungsniveau aufrechtzuerhalten, begrenzt der Amazon EC2-Instance-Typ möglicherweise die Anzahl der Prozesse, die gleichzeitig ausgeführt werden können. Testen Sie verschiedene Konfigurationen für Ihr Spiel, um die richtige Anzahl von Prozessen für Ihren bevorzugten Instanztyp zu finden.

  • Amazon führt GameLift nicht mehr Prozesse gleichzeitig aus als die konfigurierte Gesamtzahl. Dies bedeutet, dass der Übergang von der vorherigen Laufzeitkonfiguration zur neuen Konfiguration schrittweise erfolgen kann.