Richten Sie lokale Tests mit Amazon ein GameLift Anywhere - 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.

Richten Sie lokale Tests mit Amazon ein GameLift Anywhere

Anmerkung

Dieses Thema behandelt lokale Tests für Spiele, die in das Amazon GameLift Server SDK Version 5.x integriert sind. Wenn Ihr Spiel das Server-SDK Version 4.x oder früher verwendet, finden Sie weitere Informationen unter. Testen Sie Ihre Integration mit Amazon GameLift Local

Verwenden Sie eine GameLift Anywhere Amazon-Flotte und Ihre eigene Hardware, um Ihre Spielkomponenten iterativ in einer simulierten gehosteten Umgebung zu erstellen und zu testen. Richten Sie eine Anywhere Flotte ein und registrieren Sie ein lokales Gerät, um eine Verbindung zum GameLift Amazon-Service herzustellen. Installieren Sie Ihren Gameserver-Build auf dem Gerät, starten Sie einen Gameserver-Prozess und testen Sie die Spielfunktionen nach Bedarf. Du kannst deinen Gameserver-Build so oft wie nötig aktualisieren, um jede neue Build-Iteration zu testen.

Mit einer Anywhere Flotte können Sie mit der AWS CLI oder mit Testskripten testen. Wenn Sie einen Spielclient mit Amazon integriert haben GameLift, können Sie den Client auf demselben lokalen Gerät oder auf einem anderen Gerät ausführen.

Lokales Testen mit einer Anywhere Flotte ist besonders nützlich, um Ihre Gameserver-Integration mit Amazon zu testen GameLift. Sie haben vollen Überblick über alle Hosting-Aktivitäten auf dem lokalen Computer sowie über Ereignisse und Protokolldaten.

Anmerkung

Verwenden Sie das GameLift Amazon-Plugin für Unreal Engine oder Unity? Zu diesen Tools gehören geführte Workflows für die Einrichtung lokaler Tests mit einer Anywhere Flotte. Folgen Sie der Dokumentation für Plugin für Unity: Lokales Testen mit Amazon einrichten GameLift Anywhere oderPlugin für Unreal: Lokales Testen mit Amazon einrichten GameLift Anywhere.

Richten Sie eine lokale Anywhere Flotte ein

Gehen Sie wie folgt vor, um eine Anywhere Flotte für Ihre lokale Workstation zu erstellen. Ausführliche Anweisungen zur Verwendung der AWS CLI oder der AWS Management Console für Amazon GameLift finden Sie unterErstellen Sie eine GameLift Anywhere Amazon-Flotte.

Um die Anywhere Flotte zu erstellen
  1. Erstellen Sie einen benutzerdefinierten Speicherort für Ihre lokale Workstation. (AWS CLI oder Konsole). Ein benutzerdefinierter Standort ist einfach eine Bezeichnung für die Rechenressource, die Sie in Ihre Anywhere Flotte aufnehmen möchten. Benutzerdefinierte Standortnamen müssen mit beginnencustom-. Zum Beispiel: custom-my_laptop. Siehe Erstellen Sie einen benutzerdefinierten Standort.

  2. Erstellen Sie eine Anywhere Flotte (AWS CLI oder Konsole). In diesem Schritt erstellen Sie die Flottenressource mit dem benutzerdefinierten Standort für Ihre lokale Workstation. Siehe Erstellen einer Flotte.

    Notieren Sie sich die ID oder den ARN-Wert der neuen Flotte. Sie benötigen diesen Wert im nächsten Schritt.

  3. Registrieren Sie Ihre lokale Workstation als Fleet Compute (nur AWS CLI). Eine Anywhere Flotte muss über mindestens eine Rechenressource verfügen, um deine Spieleserver zu hosten. Siehe Registrieren Sie Ihren Computer. Um der Flotte eine Rechenleistung hinzuzufügen, benötigst du die folgenden Informationen:

    • Ein Computename. Jeder Computer in einer Flotte muss einen eindeutigen Namen haben.

    • Die Anywhere Flottenkennung. Sie können entweder das FleetID oder verwendenFleetArn.

    • Die Verbindungsinformationen des Computers. Geben Sie entweder IpAddress oder DnsName an. Auf diese Weise stellen Amazon GameLift und Spieleclients eine Verbindung zu Spieleservern her.

    • Ein benutzerdefinierter Standort in der Anywhere Flotte.

    Notieren Sie sich den GameLiftServiceSdkEndpoint Rückgabewert. Du benötigst diesen Wert, wenn du deinen Spieleserver so aktualisierst, dass er auf einer Anywhere Flotte läuft.

Aktualisiere und installiere deinen Gameserver

Bei dieser Aufgabe wird davon ausgegangen, dass Sie bereits einen Gameserver-Build mit dem Amazon GameLift Server SDK 5.x integriert haben. Der Integrationsprozess beinhaltet das Hinzufügen von Code zu Ihrem Spieleserver, damit dieser mit dem GameLift Amazon-Service interagieren kann, um Spielsitzungen zu starten und zu verwalten.

Für eine Anywhere Flotte musst du bestimmte Spielserver-Einstellungen manuell konfigurieren. Bei einer von Amazon GameLift verwalteten Flotte werden diese Einstellungen automatisch konfiguriert.

Um deinen Spieleserver für eine Anywhere Flotte vorzubereiten
  1. Besorgen Sie sich ein Authentifizierungstoken. Ihr Spieleserver muss bei jeder Kommunikation mit dem GameLift Amazon-Service ein Authentifizierungstoken enthalten. GameLift Amazon-Authentifizierungstoken sind kurzlebig und müssen regelmäßig aktualisiert werden.

    Es hat sich bewährt, ein Skript zu erstellen, um die folgenden Aufgaben auszuführen:

    • Rufen Sie die AWS CLI-Aktion aufget-compute-auth-token.

    • Speichern Sie den zurückgegebenen Token-Wert dort, wo ihn Spieleserverprozesse abrufen können, z. B. in einer Umgebungsvariablen auf dem lokalen Computer.

    Installiere das Skript zusammen mit deinem Spieleserver auf dem Computer. Stellen Sie das Skript so ein, dass es ausgeführt wird, bevor Sie den ersten Spieleserver-Prozess starten. Wenn die Spieleserverprozesse aktiv sind, führe das Skript regelmäßig aus, um ein gültiges Authentifizierungstoken zu erhalten. Alle Spielserverprozesse auf dem Computer können dasselbe Authentifizierungstoken verwenden.

  2. Aktualisiere deinen GameLift Amazon-Gameservercode. Als Sie Ihren Spieleservercode in das GameLift Amazon-Server-SDK integriert haben, haben Sie der Aktion einen Aufruf hinzugefügtInitSdk(). Wenn der Spieleserver auf einer Anywhere Flotte läuft, erfordert dieser Aufruf zusätzliche Serverparameter. Weitere Informationen finden Sie unter Initialisieren Sie den Serverprozess und Amazon GameLift Server SDK-Referenz für Ihre Entwicklungssprache. Die Serverparameter sind:

    • webSocketUrl— Setzen Sie diesen Parameter auf den GameLiftServiceSdkEndpoint Wert, der als Antwort auf Ihren register-compute Anruf zurückgegeben wurde.

    • hostId — Setzen Sie diesen Parameter auf den Compute-Namen, den Sie in Ihrem register-compute Anruf angegeben haben.

    • fleetId— Stellen Sie diesen Parameter auf die ID der Anywhere Flotte ein.

    • authToken— Setzt diesen Parameter auf das Token, das als Antwort auf den get-compute-auth-token Anruf zurückgegeben wird.

    • processId— Setze diesen Parameter, um einen Gameserver-Prozess zu identifizieren, der auf dem lokalen Computer läuft. Jeder gleichzeitige Spieleserverprozess muss eine eindeutige Prozess-ID haben.

    Es hat sich bewährt,webSocketUrl, hostIdfleetId, und authToken als Umgebungsvariablen auf dem lokalen Computer festzulegen. Alle Serverprozesse, die auf dem Computer ausgeführt werden, verwenden diese Werte.

  3. Installiere den Spielserver-Build auf dem lokalen Computer. Schließt alle Abhängigkeiten ein, die für den Betrieb des Spieleservers erforderlich sind.

  4. Starte einen oder mehrere Gameserver-Prozesse, die auf dem lokalen Computer ausgeführt werden. Wenn der Spieleserver-Prozess die Server-SDK-Aktion aufruftProcessReady(), ist der Prozess bereit, eine Spielsitzung zu hosten.

Testen Sie die Aktivität der Spielsitzung

Testen Sie Ihre Gameserver-Integration, indem Sie mit Spielsitzungen arbeiten. Wenn Sie keinen Spieleclient haben, der mit GameLift Amazon-Funktionen integriert ist, können Sie die AWS CLI verwenden, um Spielsitzungen zu starten. Probieren Sie die folgenden Szenarien aus:

  • Erstellen Sie eine Spielsitzung. Rufen Sie create-game-session den Befehl (oder die CreateGameSessionAPI-Operation) auf. Geben Sie die ID und den benutzerdefinierten Standort Ihrer Anywhere Flotte an. Dieser Aufruf gibt eine eindeutige Kennung für die neue Spielsitzung zurück.

  • Überprüfen Sie den Status der Spielsitzung.Rufen Sie describe-game-sessionsden Befehl (oder die DescribeGameSessionsAPI-Aktion) auf. Geben Sie die Spielsitzungs-ID an. Dieser Aufruf gibt detaillierte Informationen zur Spielsitzung zurück, einschließlich des Status der Spielsitzung. Spielsitzungen im Status Aktiv sind bereit, damit Spieler eine Verbindung herstellen können. Rufen Sie list-game-sessionscommand (oder die ListGameSessionsAPI-Aktion) auf, um eine Liste aller Spielsitzungen für die Flotte zu erhalten.

  • Connect zur Spielsitzung her. Wenn dein Spielclient die Möglichkeit hat, an einer Spielsitzung teilzunehmen, verwende die Verbindungsinformationen, die in den Informationen zur Spielsitzung enthalten sind.

Iteriere auf deinem Spieleserver

Du kannst dieselbe Anywhere Flotte und Rechenleistung verwenden, um andere Versionen deines Gameserver-Builds zu testen.

  1. Säubere dein bestehendesGameSession. Wenn der Spieleserverprozess abstürzt oder nicht aufruftProcessEnding(), GameLift bereinigt Amazon das, GameSession nachdem der Spieleserver aufgehört hat, Zustandsprüfungen zu senden.

  2. Generieren Sie einen neuen Spielserver-Build. Nimm Änderungen an deinem Spieleserver vor und packe einen überarbeiteten Build.

  3. Aktualisiere den Spielserver-Build auf deinem lokalen Computer. Deine vorherige Anywhere Flotte ist immer noch aktiv und dein Laptop ist immer noch als Rechenressource in der Flotte registriert.

  4. Holen Sie sich ein aktualisiertes Autorisierungstoken. Rufen Sie den get-compute-auth-tokenCLI-Befehl auf und speichern Sie das Token auf dem lokalen Computer.

  5. Starte einen oder mehrere Gameserver-Prozesse, die auf dem lokalen Computer ausgeführt werden. Wenn der Gameserver-Prozess aufgerufen wirdProcessReady(), kann er zum Testen verwendet werden.

Stelle dein Spiel auf von Amazon GameLift verwaltete Flotten um

Nachdem Sie die Entwicklungstests abgeschlossen haben und bereit sind, sich auf die Markteinführung vorzubereiten, ist dies ein guter Zeitpunkt, um auf von Amazon GameLift verwaltete Flotten umzusteigen. Verwende verwaltete Flotten, um deine Spiele-Hosting-Ressourcen zu optimieren und zu testen. Implementieren Sie Ihre Lösung für die Platzierung von Spielsitzungen (Warteschlangen und Matchmaker), wählen Sie die optimale Hosting-Hardware (einschließlich Spot-Flotten) und Standorte aus und wählen Sie eine Strategie zur Kapazitätsskalierung. Vielleicht möchtest du auch damit beginnen, die Lebenszyklen all deiner Spielhosting-Ressourcen, einschließlich Flotten, Warteschlangen und Matchmaker, effizienter zu verwalten. AWS CloudFormation

Sie müssen einige geringfügige Änderungen vornehmen, um von einer lokalen Anywhere Testflotte zu einer von Amazon GameLift verwalteten Flotte überzugehen. Sie können dieselben Warteschlangen und Matchmaker wiederverwenden. Führen Sie die folgenden Aufgaben aus:

  • Ändere den Code-Aufruf des Spieleservers aufInitSdk(). Entferne die Serverparameter. Für eine verwaltete Flotte verfolgt Amazon diese Informationen GameLift automatisch.

  • Erstellen Sie eine GameLift Amazon-Build-Ressource. Bei einer Anywhere Testflotte musst du deinen Spielserver-Build und die Abhängigkeiten manuell für jeden Flottencomputer bereitstellen. Mit einer verwalteten Flotte erstellen Sie Ihr Game-Build-Paket und laden es auf Amazon hoch GameLift, wo es automatisch auf allen Flottencomputern bereitgestellt wird. Einzelheiten Laden Sie einen benutzerdefinierten Server-Build auf Amazon hoch GameLift zum Verpacken Ihrer Spiele-Build-Dateien und zum Erstellen einer Build-Ressource mit Dateien in einem Amazon S3 S3-Bucket finden Sie unter. Fügen Sie keine Skripte hinzu, die eine Berechnung registrieren und ein Authentifizierungstoken abrufen, da Amazon diese Aufgaben GameLift automatisch mit verwalteten Flotten erledigt.

  • Erstellen Sie eine verwaltete Flotte. Erstellen Sie mithilfe der Konsole oder AWS CLI eine Flotte und geben Sie eine von EC2 verwaltete Flotte an. Für diese Art von Flotte sind zusätzliche Konfigurationseinstellungen erforderlich, einschließlich der Angabe der Build-Ressourcen und der Instance-Typen. Ihr müsst alle eine Laufzeitkonfiguration einrichten, um den Lebenszyklus der Spieleserver auf jedem Flottencomputer zu verwalten. Einzelheiten Erstellen Sie eine von Amazon GameLift verwaltete Flotte zur Erstellung einer verwalteten Flotte finden Sie unter.

  • Flottenaliase umleiten (optional). Wenn Sie Aliase für Ihre Anywhere Flotten einrichten, können Sie dieselben Aliase für Ihre verwalteten Flotten wiederverwenden. Einzelheiten Einer GameLift Amazon-Flotte einen Alias hinzufügen zur Erstellung oder Aktualisierung eines Alias finden Sie unter.