Lokales Testen mit Amazon GameLift Servers Anywhere einrichten - 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.

Lokales Testen mit Amazon GameLift Servers Anywhere einrichten

Anmerkung

Dieses Thema behandelt lokale Tests für Spiele, die in das Server-SDK für Amazon GameLift Servers 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 Servers Local

Verwenden Sie eine Amazon GameLift Servers Anywhere-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 Amazon GameLift Servers Dienst 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 du einen Spielclient mit integriert hastAmazon GameLift Servers, kannst du 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 zu testenAmazon GameLift Servers. Sie haben vollen Überblick über alle Hosting-Aktivitäten auf dem lokalen Computer sowie über Ereignisse und Protokolldaten.

Anmerkung

Verwendest du das Amazon GameLift Servers 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: Richten Sie lokale Tests mit Amazon GameLift Servers Anywhere ein oderPlugin für Unreal: Hoste dein Spiel lokal mit Anywhere Amazon GameLift Servers.

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 for Amazon GameLift Servers finden Sie unterErstelle eine Amazon GameLift Servers Überall 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 Ortsnamen müssen mit beginnencustom-. 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 Speicherort 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 Fleet Compute (nur AWS CLI). Eine Anywhere-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.

    • 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 Amazon GameLift Servers stellen Spielclients 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 in das Amazon GameLift Servers Server-SDK 5.x integriert haben. Der Integrationsprozess beinhaltet das Hinzufügen von Code zu Ihrem Spieleserver, sodass dieser mit dem Amazon GameLift Servers Dienst interagieren kann, um Spielsitzungen zu starten und zu verwalten.

Für eine Anywhere-Flotte musst du bestimmte Spielserver-Einstellungen manuell konfigurieren. Bei einer Amazon GameLift Servers 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 Amazon GameLift Servers Dienst ein Authentifizierungstoken enthalten. Amazon GameLift ServersAuthentifizierungstoken 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 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 Amazon GameLift Servers Gameservercode. Als du deinen Gameservercode in das Server-SDK für integriert hastAmazon GameLift Servers, hast du 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 Server-SDK 5.x für Amazon GameLift Servers 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 der 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 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 du keinen Spielclient mit integrierter Amazon GameLift Servers Funktionalität hast, kannst du die AWS CLI verwenden, um Spielsitzungen zu starten. Probiere 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 an einer Spielsitzung teilnehmen kann, 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 Spieleserver-Prozess abstürzt oder nicht aufruftProcessEnding(), Amazon GameLift Servers bereinigt er das, GameSession nachdem der Spieleserver aufgehört hat, Integritätsprü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. Ihre vorherige Anywhere-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-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 Amazon GameLift Servers 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 Amazon GameLift Servers verwaltete Flotten umzusteigen. Verwende verwaltete Flotten, um deine Spielhosting-Ressourcen zu optimieren und zu testen. Implementieren Sie Ihre Lösung zur 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 Amazon GameLift Servers verwalteten Flotte zu wechseln. 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. Verfolgt diese Informationen bei einer verwalteten Flotte Amazon GameLift Servers automatisch.

  • Erstellen Sie eine Amazon GameLift Servers Build-Ressource. Bei einer Anywhere-Testflotte musst du deinen Gameserver-Build und die Abhängigkeiten manuell für jeden Flottencomputer bereitstellen. Bei einer verwalteten Flotte erstellst du dein Game-Build-Paket und lädst es hochAmazon GameLift Servers, wodurch es automatisch auf allen Flottencomputern bereitgestellt wird. Einzelheiten Stellen Sie einen benutzerdefinierten Server-Build bereit für Amazon GameLift Servers Hosten 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 Rechenleistung registrieren und ein Authentifizierungstoken abrufen, da diese Aufgaben bei verwalteten Flotten Amazon GameLift Servers automatisch erledigt werden.

  • Erstellen Sie eine verwaltete Flotte. Erstellen Sie mithilfe der Konsole oder AWS CLI eine Flotte und geben Sie eine 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 Amazon GameLift Servers verwaltete EC2 Flotte zur Erstellung einer verwalteten Flotte finden Sie unter.

  • Flottenaliase umleiten (optional). Wenn Sie Aliase zur Verwendung mit Ihren Anywhere-Flotten einrichten, können Sie dieselben Aliase für Ihre verwalteten Flotten wiederverwenden. Einzelheiten Erstelle eine Amazon GameLift Servers alias zum Erstellen oder Aktualisieren eines Alias finden Sie unter.