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 die GameLift SDK Amazon-Serverversion 5.x integriert sind. Wenn Ihr Spiel SDK Serverversion 4.x oder früher verwendet, finden Sie weitere Informationen unter. Testen Sie Ihre Integration mit Amazon GameLift Local

Benutze einen Amazon GameLift Anywhere Flotte und deine eigene Hardware, um deine Spielkomponenten iterativ in einer simulierten, gehosteten Umgebung zu erstellen und zu testen. Richten Sie eine ein Anywhere flotte und registriere 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 einem Anywhere Eine Flotte können Sie mit 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 einem Anywhere fleet ist besonders nützlich, um deine Gameserver-Integration mit Amazon zu testen GameLift. Sie haben vollen Einblick in alle Hosting-Aktivitäten auf dem lokalen Computer sowie in Ereignisse und Protokolldaten.

Anmerkung

Verwenden Sie das GameLift Amazon-Plugin für Unreal Engine oder Unity? Diese Tools beinhalten geführte Workflows für die Einrichtung lokaler Tests mit einem 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 ein lokales ein Anywhere Flotte

Gehen Sie wie folgt vor, um eine zu erstellen Anywhere Flotte für Ihre lokale Workstation. Eine ausführliche Anleitung zur Verwendung von AWS CLI oder AWS Management Console für Amazon GameLift finden Sie unterErstelle ein Amazon GameLift Anywhere Flotte.

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

  2. Erstellen Sie ein Anywhere Flotte (AWS CLIoder Konsole). In diesem Schritt erstellen Sie die Flottenressource mit dem benutzerdefinierten Standort für Ihre lokale Workstation. Siehe Erstellen Sie eine Anywhere-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 Flottencomputer (AWS CLInur). Importieren in &S3; Anywhere Die Flotte muss über mindestens eine Rechenressource verfügen, um deine Spieleserver zu hosten. Siehe Fügen Sie der Flotte einen Computer hinzu. 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.

    • Das Tool 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 Ort 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 einem Anywhere Flotte.

Aktualisiere und installiere deinen Spieleserver

Bei dieser Aufgabe wird davon ausgegangen, dass Sie bereits einen Gameserver-Build in 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 ein Anywhere Für die Flotte musst du bestimmte Spielserver-Einstellungen manuell konfigurieren. Bei einer von Amazon GameLift verwalteten Flotte werden diese Einstellungen automatisch konfiguriert.

Um deinen Spieleserver auf ein vorzubereiten Anywhere Flotte
  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.

    • Speichert den zurückgegebenen Token-Wert dort, wo Spieleserverprozesse ihn 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 den GameLift Amazon-Server integriert habenSDK, haben Sie der Aktion einen Aufruf hinzugefügtInitSdk(). Wenn der Spieleserver auf einem läuft Anywhere fleet, für diesen Aufruf sind zusätzliche Serverparameter erforderlich. Weitere Informationen finden Sie unter Initialisieren Sie den Serverprozess und GameLift Amazon-Server SDK 5.x für Ihre Entwicklungssprache. Die Serverparameter sind:

    • webSocketUrl— Setzen Sie diesen Parameter auf den GameLiftServiceSdkEndpoint Wert, der zurückgegeben wird, wenn Sie einen Computer bei der Flotte registrieren.

    • hostId— Setzen Sie diesen Parameter auf den Computernamen, den Sie angeben, wenn Sie einen Computer bei der Anywhere-Flotte registrieren.

    • fleetId— Setzen Sie diesen Parameter auf die ID des Anywhere Flotte.

    • authToken— Setzen Sie diesen Parameter auf das Token, das als Antwort auf eine Anfrage zum Abrufen eines Authentifizierungstokens für eine Berechnung zurückgegeben wird.

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

    Die Serverparameterwerte, die jeder Spieleserverprozess verwendet, müssen spezifisch für den Anywhere-Flottencomputer sein, auf dem der Prozess ausgeführt wird. Einzelheiten zum Abrufen der entsprechenden Werte für eine Berechnung finden Sie unterFügen Sie der Flotte einen Computer hinzu. 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 SDK Serveraktion 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 den verwenden, AWS CLI um Spielsitzungen zu starten. Probieren Sie die folgenden Szenarien aus:

  • Erstellen Sie eine Spielsitzung. Rufen Sie create-game-session den Befehl (oder die CreateGameSessionAPIOperation) auf. Spezifizieren Sie Ihre Anywhere Flottennummer und benutzerdefinierter Standort. 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 DescribeGameSessionsAPIAktion) 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. Um eine Liste aller Spielsitzungen für die Flotte zu erhalten, rufe den list-game-sessionsBefehl (oder die ListGameSessionsAPIAktion) auf.

  • 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 dasselbe verwenden Anywhere Fleet and Compute, 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. Dein bisheriger Anywhere Ihre Flotte ist immer noch aktiv und Ihr Laptop ist immer noch als Rechenressource in der Flotte registriert.

  4. Holen Sie sich ein aktualisiertes Autorisierungstoken. Rufen Sie den get-compute-auth-tokenCLIBefehl 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

Für den Übergang von einem lokalen System müssen Sie einige geringfügige Änderungen vornehmen Anywhere Testflotte zu einer von Amazon GameLift verwalteten Flotte. 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. Mit einem Anywhere Bei einer 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 Stellen Sie einen benutzerdefinierten Server-Build für GameLift Amazon-Hosting bereit 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 eine Flotte mithilfe der Konsole oder AWS CLI indem Sie eine EC2 verwaltete Flotte angeben. 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 EC2 Flotte zur Erstellung einer verwalteten Flotte finden Sie unter.

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