View a markdown version of this page

Richten Sie lokale Tests ein mit GameLift Amazon-Server Überall - GameLift Amazon-Server

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 ein mit GameLift Amazon-Server Überall

Anmerkung

In diesem Thema werden lokale Tests für Spiele behandelt, 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 GameLift Amazon-Server 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 Ihr Gameserver-Build auf dem Gerät, starten Sie einen Gameserver-Prozess und testen Sie bei Bedarf die Spielfunktionen. Du kannst deinen Spieleserver-Build so oft wie nötig aktualisieren, um jede neue Build-Iteration zu testen.

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

Das lokale Testen mit einer Anywhere-Flotte ist besonders nützlich, um die Integration deiner Spieleserver mit zu testenAmazon GameLift Servers. Sie haben vollen Überblick über alle Hosting-Aktivitäten auf dem lokalen Computer sowie über Ereignisse und Protokolldaten.

Anmerkung

Verwenden Sie das Amazon GameLift Servers Plugin für Unreal Engine oder Unity? Diese Tools beinhalten 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 ein mit GameLift Amazon-Server Überall oderPlugin für Unreal: Hoste dein Spiel lokal mit Amazon-Server GameLift Überall.

Richten Sie eine lokale Anywhere-Flotte ein

Folgen Sie diesen Schritten, um eine Anywhere-Flotte für Ihre lokale Workstation zu erstellen. Eine ausführliche Anleitung zur Verwendung der AWS CLI oder des AWS-Managementkonsole Fors Amazon GameLift Servers finden Sie unterErstellen Sie eine GameLift Amazon-Server Flotte an jedem Ort.

So erstellen Sie die Anywhere-Flotte
  1. Erstellen Sie einen benutzerdefinierten Standort 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-. Beispiel: custom-my_laptop. Siehe Erstellen Sie einen benutzerdefinierten Standort.

  2. Erstellen Sie eine Anywhere-Flotte (AWS CLI oder Konsole). Erstellen Sie in diesem Schritt die Flottenressource mit dem benutzerdefinierten Standort für Ihre lokale Workstation. Siehe Erstellen einer 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 (nur AWS CLI). Eine Anywhere-Flotte muss über mindestens eine Rechenressource verfügen, um Ihre Spieleserver zu hosten. Siehe Fügen Sie der Flotte einen Computer hinzu. Um der Flotte einen Computer hinzuzufügen, benötigen Sie die folgenden Informationen:

    • Ein Computername. 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. So Amazon GameLift Servers stellen Spielclients eine Verbindung zu den Spielservern 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 Spieleserver

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

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

Um deinen Spieleserver für eine Anywhere-Flotte vorzubereiten
  1. Holen Sie sich ein Authentifizierungstoken. Dein 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.

    • Speichert den zurückgegebenen Tokenwert 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 Spieleserverprozess starten. Führen Sie das Skript regelmäßig aus, solange die Spieleserverprozesse aktiv sind, um ein gültiges Authentifizierungstoken zu erhalten. Alle Spieleserverprozesse auf dem Computer können dasselbe Authentifizierungstoken verwenden.

  2. Aktualisiere deinen Amazon GameLift Servers Spieleservercode. Als du deinen Spieleservercode 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, sind für diesen Aufruf zusätzliche Serverparameter erforderlich. Weitere Informationen finden Sie unter Initialisieren Sie den Serverprozess und Server-SDK 5.x für Amazon-Server GameLift für Ihre Entwicklungssprache. Die Serverparameter sind:

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

    • hostId— Setzen Sie diesen Parameter auf den Rechennamen, 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 Anforderung 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 Spielserverprozess muss eine eindeutige Prozess-ID haben.

    Die Serverparameterwerte, die jeder Spieleserverprozess verwendet, müssen für die Anywhere-Flottenberechnung spezifisch sein, auf der 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. Als bewährte Methode sollten SiewebSocketUrl, hostIdfleetId, und authToken als Umgebungsvariablen auf dem lokalen Computer festlegen. Alle Serverprozesse, die auf dem Computer ausgeführt werden, verwenden diese Werte.

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

  4. Startet einen oder mehrere Spieleserverprozesse, die auf dem lokalen Computer laufen. Wenn der Spieleserverprozess die Server-SDK-Aktion aufruftProcessReady(), ist der Prozess bereit, eine Spielsitzung zu hosten.

Testen Sie die Aktivität der Spielsitzung

Testen Sie Ihre Spieleserver-Integration, indem Sie mit Spielsitzungen arbeiten. Wenn du keinen Spielclient mit integrierten Amazon GameLift Servers Funktionen hast, kannst du die AWS CLI verwenden, um Spielsitzungen zu starten. Probiere die folgenden Szenarien aus:

  • Erstellen Sie eine Spielsitzung. Rufen Sie den Befehl create-game-session (oder die API-Operation) auf CreateGameSession. 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üfe den Status der Spielsitzung. Rufen Sie den Befehl describe-game-sessions (oder die API-Aktion) auf DescribeGameSessions. Geben Sie die Spielsitzungs-ID an, um eine bestimmte Sitzung abzurufen, oder geben Sie die Flotten-ID an, um alle Spielsitzungen für die Flotte abzurufen. Dieser Aufruf gibt detaillierte Informationen zur Spielsitzung zurück, einschließlich des Status der Spielsitzung. Spielsitzungen im Status Aktiv sind bereit, sodass Spieler eine Verbindung herstellen können.

  • Stellen Sie eine Verbindung 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 dieselbe Rechenleistung verwenden, um andere Versionen deines Spieleserver-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, Gesundheitschecks zu senden.

  2. Generieren Sie einen neuen Spieleserver-Build. Nehmen Sie Änderungen an Ihrem Spieleserver vor und packen Sie einen überarbeiteten Build ein.

  3. Aktualisiere den Spieleserver-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 CLI-Befehl get-compute-auth-token auf und speichern Sie das Token auf dem lokalen Computer.

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

Übertrage dein Spiel zu GameLift Amazon-Server verwaltete Flotten

Nachdem Sie die Entwicklungstests abgeschlossen haben und bereit sind, sich auf die Markteinführung vorzubereiten, ist jetzt ein guter Zeitpunkt, um auf Amazon GameLift Servers verwaltete Flotten umzusteigen. Nutze verwaltete Flotten, um deine Game-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öchten Sie auch damit beginnen, die Lebenszyklen all Ihrer Spielhosting-Ressourcen, einschließlich Flotten, Warteschlangen und Matchmakers, effizienter zu verwalten. AWS CloudFormation

Du musst ein paar geringfügige Änderungen vornehmen, um von einer lokalen Anywhere-Testflotte zu einer Amazon GameLift Servers verwalteten Flotte überzugehen. Sie können dieselben Warteschlangen und Matchmaker wiederverwenden. Führe die folgenden Aufgaben aus:

  • Ändere den Code-Aufruf des Spielservers inInitSdk(). Entfernen Sie die Serverparameter. Verfolgt diese Information 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 für jeden Flottencomputer manuell bereitstellen. Bei einer verwalteten Flotte erstellst du dein Game-Build-Paket und lädst es in es hochAmazon GameLift Servers, wodurch es automatisch auf allen Flottencomputern bereitgestellt wird. Einzelheiten Erstelle einen Gameserver-Build für GameLift Amazon-Server zum Verpacken Ihrer Spiele-Build-Dateien und zum Erstellen einer Build-Ressource mit Dateien in einem Amazon S3-Bucket finden Sie unter. Fügen Sie keine Skripte hinzu, die eine Berechnung registrieren und ein Authentifizierungstoken erhalten, da diese Aufgaben Amazon GameLift Servers automatisch mit verwalteten Flotten erledigt werden.

  • 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 diesen Flotten-Typ sind zusätzliche Konfigurationseinstellungen erforderlich, einschließlich der Angabe der Build-Ressourcen- und Instance-Typen. Ihr müsst alle eine Laufzeitkonfiguration einrichten, um den Lebenszyklus der Spieleserver auf jedem Flottencomputer zu verwalten. Einzelheiten Erstellen Sie eine GameLift Amazon-Server verwaltete EC2-Flotte zum Erstellen einer verwalteten Flotte finden Sie unter.

  • Leiten Sie Flottenaliase um (optional). Wenn Sie Aliase für Ihre 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.