

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.

# Testen und Problembehebung Amazon GameLift Servers
<a name="troubleshooting-intro"></a>

Dieser Abschnitt enthält Anleitungen zur Diagnose und Lösung von Problemen mit Ihrer GameLift Amazon-Hosting-Lösung. Unabhängig davon, ob Sie Probleme bei der Entwicklung, Bereitstellung oder Produktion haben, helfen Ihnen diese Ressourcen dabei, die Grundursachen zu identifizieren und effektive Lösungen zu implementieren.
+ **Entwicklungs- und Testumgebungen** — Richten Sie iterative Entwicklungsworkflows ein, die die Produktionsbedingungen widerspiegeln, sodass Sie Integrationsprobleme frühzeitig in Ihrem Entwicklungszyklus catch und lösen können.
+ **Bereitstellung und Verwaltung von Flotten** — Diagnostiziere häufig auftretende Fehler bei der Flottenerstellung, Probleme bei der Aktivierung von Serverprozessen, Skalierungsprobleme und Bereitstellungsfehler, die den ordnungsgemäßen Betrieb deiner Spieleserver verhindern können.
+ **Laufzeitdiagnose und Überwachung** — Greifen Sie auf Live-Flotteninstanzen zu, um in Echtzeit Fehler zu beheben, Leistungsanalysen durchzuführen und die Konfiguration zu validieren, um Probleme zu lösen, die das Spielerlebnis beeinträchtigen.

Nutzen Sie diese Ressourcen zusammen mit den GameLift Überwachungs- und Protokollierungsfunktionen von Amazon, um die optimale Leistung und Verfügbarkeit Ihrer Multiplayer-Spiele aufrechtzuerhalten.

# Für iterative Entwicklung mit Amazon GameLift Servers Anywhere einrichten
<a name="integration-dev-iteration"></a>

Amazon GameLift Serversbietet Tools und Lösungen, mit denen Sie eine gehostete Testumgebung für die Spieleentwicklung einrichten können. Mit diesen Tools können Sie eine Umgebung schaffen, die das reale Spielerlebnis von Managed Hosting widerspiegelt Amazon GameLift Servers und einen schnellen, iterativen Entwicklungsprozess unterstützt.

Mit einer separaten Testumgebung reduzieren Sie den Aufwand für eine Amazon GameLift Servers verwaltete Flotte beim Testen. Ihr müsst nicht mehr jede neue Build-Iteration des Spielservers hochladen, eine neue Flotte dafür erstellen und dann mehr als 15 Minuten warten, bis sie aktiviert ist. Stattdessen könnt ihr einen neuen Build erstellen, die Testflotte schnell mit dem neuen Build aktualisieren, ihn starten und mit dem Testen beginnen.

Mit einer Amazon GameLift Servers Anywhere-Flotte können Sie eine Testumgebung mit einem lokalen Gerät einrichten, z. B. Ihrer Entwicklungs-Workstation. Sie können eine Testumgebung auch mithilfe einer cloudbasierten Hosting-Ressource einrichten.

Richten Sie eine Anywhere-Testumgebung ein, um eine Reihe von Szenarien zu entwickeln und zu testen, darunter: 
+ Testen Sie Ihre Gameserver-Integration mit dem Amazon GameLift Servers Server-SDK. Sie können auch ohne einen funktionierenden Spielclient testen, indem Sie AWS CLI-Aufrufe verwenden, um neue Spielsitzungen zu starten und Spielsitzungsereignisse zu verfolgen.
+ Testen Sie die Interaktionen zwischen Ihrem Spielclient, dem Backend-Service und dem Amazon GameLift Servers Service, während Sie Komponenten für Ihr Spiel entwickeln. Optimiere das Spielerlebnis, wenn du einem Spiel beitrittst.
+ Experimentieren Sie mit Ihrem FlexMatch Matchmaker-Design. Probieren Sie Variationen von Regelsätzen und andere Implementierungen von Matchmaking-Funktionen aus. Richten Sie das Matchmaking-Backfill ein und testen Sie es.
+ Probiere andere Amazon GameLift Servers Hosting-Funktionen aus, wie z. B. die Runtime-Konfigurationseinstellungen (mit dem Amazon GameLift Servers Agenten) für die Lebenszyklusverwaltung von Spieleservern.
+ Erstellen, testen und wiederholen Sie den Vorgang im Handumdrehen, um alle Aspekte des Spielerlebnisses Ihres Spiels, einschließlich Multiplayer-Interaktionen, in einer gehosteten Live-Umgebung zu überprüfen. 

Später, wenn du dein Spiel für den Start vorbereitest, solltest du Amazon GameLift Servers verwaltete Flotten hinzufügen, um deine Hosting-Konfigurationen zu verfeinern und zusätzliche Szenarien zu testen, darunter die folgenden: 
+ Experimentieren und testen Sie die Warteschlangendesigns für Spielsitzungen, einschließlich der Verwendung von Flotten mit mehreren Standorten, Spot- und On-Demand-Flotten sowie mehreren Instance-Typen.
+ Probieren Sie die Platzierungsoptionen für Spielsitzungen mit verwalteten Flotten aus, einschließlich der Verwendung optionaler Latenzrichtlinien und Einstellungen für die Flottenpriorisierung.
+ Konfigurieren Sie die Kapazitätsskalierung mithilfe von automatischen oder manuellen Skalierungsoptionen, um der Nachfrage der Spieler gerecht zu werden.
+  AWS CloudFormation Richten Sie Amazon GameLift Servers verwaltete Flotten ein, um Ihre Hosting-Ressourcen langfristig zu verwalten.

**Fast Build Update Tool (nur für Entwicklungszwecke)**  
Bei verwalteten EC2 Flotten musst du, um ein Build-Update für den Spieleserver bereitzustellen, jeden neuen Build hochladen Amazon GameLift Servers und eine neue Flotte dafür erstellen.   
Mit dem Fast Build Update Tool kannst du diese Schritte während der Entwicklung umgehen, was dir Zeit spart und eine schnellere Iteration der Entwicklung ermöglicht. Mit diesem Tool kannst du deine Spiel-Build-Dateien schnell auf allen Computern einer vorhandenen Flotte aktualisieren. Das Tool bietet mehrere Optionen: Sie können einen kompletten Spiel-Build ersetzen oder 6 bestimmte Dateien ändern, und Sie können festlegen, wie die Spielserverprozesse nach den Updates neu gestartet werden sollen. Du kannst es auch verwenden, um einzelne Computer in einer Flotte zu aktualisieren.  
Um das Fast Build Update Tool herunterzuladen und mehr über seine Verwendung zu erfahren, besuchen Sie das Amazon GameLift Servers Toolkit-Repo für [das Fast Build Update Tool](https://github.com/aws/amazon-gamelift-toolkit/tree/main/fast-build-update-tool) auf Github. 

**Topics**
+ [Erstellen Sie eine Cloud-basierte Testumgebung](integration-dev-iteration-cloud.md)
+ [Lokales Testen mit Amazon GameLift Servers Anywhere einrichten](integration-testing.md)
+ [Testen Sie Ihre Integration mit Amazon GameLift Servers Local](integration-testing-local.md)

# Erstellen Sie eine Cloud-basierte Testumgebung
<a name="integration-dev-iteration-cloud"></a>

**Anmerkung**  
In diesem Thema werden iterative 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 Amazon GameLift Servers Local](integration-testing-local.md)

Verwenden Sie eine Amazon GameLift Servers Anywhere-Flotte, um Ihre Spielkomponenten iterativ in einer cloudbasierten, gehosteten Umgebung zu erstellen und zu testen. Erstellen Sie eine Anywhere-Flotte mit Hosting-Ressourcen und einer Verbindung zum Amazon GameLift Servers Dienst, führen Sie Ihre Spieleserver darauf aus und testen Sie die Spielfunktionen nach Bedarf. 

**Setze mit dem Amazon GameLift Servers Agenten eine Anywhere-Flotte ein**  
Wenn Ihr Gameserver-Build in Amazon GameLift Servers SDK 5.x oder höher integriert ist, können Sie ihn mit dem Amazon GameLift Servers Agenten auf einer cloudbasierten Anywhere-Flotte bereitstellen. Der Agent ist ein Hintergrundprozess, der die Lebenszyklen von Spieleservern und andere Aufgaben auf jedem Computer in einer Flotte verwaltet. Zu diesen Aufgaben gehören die Registrierung des Computers bei einer Anywhere-Flotte, der Erwerb eines Authentifizierungstokens und die Ausführung von starting/stopping Spielserverprozessen auf der Grundlage einer Reihe von Anweisungen. Der Agent wird durch die Laufzeitkonfiguration einer Flotte gesteuert, die Sie während der Lebensdauer der Flotte jederzeit aktualisieren können. (Der Agent wird automatisch für verwaltete EC2-Flotten bereitgestellt.) [Weitere Informationen und die Möglichkeit, den Agenten herunterzuladen, finden Sie im Amazon GameLift Servers GitHub Repository.](https://github.com/aws/amazon-gamelift-agent)

## Richten Sie iterative Tests mit Amazon EC2 ein
<a name="integration-dev-iteration-cloud-ec2"></a>

Verwenden Sie den geführten Workflow in dieser [Amazon GameLift ServersToolkit-Lösung]( https://github.com/aws/amazon-gamelift-toolkit/tree/main/development-instance-with-amazon-gamelift-anywhere-and-gamelift-agent), um eine cloudbasierte Hosting-Umgebung einzurichten, die das verwaltete Hosting-Erlebnis mit widerspiegelt. Amazon GameLift Servers 

Das GitHub Repository bietet eine Reihe von Skripten, die die meisten Prozesse für die Einrichtung einer Testumgebung mit Amazon GameLift Servers Anywhere und dem Amazon GameLift Servers Agenten automatisieren. Es enthält auch Anleitungen zur Aktualisierung der Umgebung, wann immer Sie einen neuen Spieleserver zum Testen erstellen müssen. Sie können ein einzelnes Skript ausführen, das eine Testumgebung mit einem Beispiel-Spieleserver-Build bereitstellt, oder Sie können die einzelnen Schritte durchgehen, um sie mit Ihrem eigenen Gameserver-Build einzurichten. 

In diesem Arbeitsablauf arbeiten Sie ausschließlich im AWS-Managementkonsole, AWS CloudShell um Skripts auszuführen und Befehlszeilenaufgaben zu erledigen. 

**Anmerkung**  
Für die Aufgaben in diesem Tutorial benötigen Sie einen AWS Kontobenutzer mit Berechtigungen für die folgenden Dienste:Amazon GameLift Servers, AWS CloudShell, Amazon S3 AWS Systems Manager, Amazon EC2 und AWS Identity and Access Management. Benutzer mit Administratorzugriff auf das AWS Konto verfügen bereits über die erforderlichen Berechtigungen. 

Der Workflow umfasst die folgenden Aufgaben: 
+ **Verpacke einen Spieleserver, für den gebaut wurdeAmazon GameLift Servers.**Der Workflow enthält ein Skript zum Erstellen eines C\$1\$1-Beispielspielservers, der bereits in das Server-SDK für Amazon GameLift Servers Version 5.x integriert wurde und bereit für das Hosting ist. Alternativ können Sie mit Ihrem eigenen Spielprojekt arbeiten, wenn Sie die Integration abgeschlossen haben.
+ **Richten Sie einen Amazon Simple Storage Service-Bucket ein, um Spielserver-Builds und Abhängigkeiten zu speichern.** Wenn Sie neue Versionen Ihrer Spiele-Builds erstellen, können Sie diese in S3 speichern und die Skripts verwenden, um die Anywhere-Flotte für Spieletests zu aktualisieren.
+ **Holen Sie sich den Amazon GameLift Servers Agenten und erstellen Sie ihn.** Der Agent verwaltet die Spielserverprozesse auf einer Hosting-Ressource auf der Grundlage Ihrer Konfiguration. Er verwendet dieselbe Logik und verhält sich genauso wie Amazon GameLift Servers verwaltetes EC2-Hosting. 
+ **Richten Sie eine Anywhere-Flotte für Ihre Hosting-Ressourcen ein.** Mit einer Anywhere-Flotte können Sie den Amazon GameLift Servers Service zum Hosten von Ressourcen verwenden, die nicht von verwaltet werdenAmazon GameLift Servers. In diesem Schritt konfigurierst du auch die Laufzeitkonfiguration, die dem Amazon GameLift Servers Agenten mitteilt, wann und wie die Spielserverprozesse gestartet werden sollen.
+ **Richten Sie eine Amazon EC2 EC2-Instance ein.** Dies ist Ihre Testumgebung für iteratives Testen. Es ist viel schneller, eine Standard-EC2-Instanz anstelle einer vollständig verwalteten Amazon GameLift Servers Instanz (die für den Einsatz auf Produktionsebene optimiert ist) zu verwenden. Mit einer Standard-EC2-Instance können Sie den Spieleserver bei Bedarf schnell und kontinuierlich aktualisieren.
+ **Stellen Sie Ihren Gameserver-Build und Ihren Amazon GameLift Servers Agenten auf der Amazon EC2 EC2-Instance bereit.**Der Workflow stellt ein Skript bereit, das die neueste Version Ihres Spiel-Builds und aller Abhängigkeiten abruft und auf Ihrer EC2-Instance installiert. In diesem Workflow gehören zu den Abhängigkeiten der Amazon GameLift Servers Agent und der CloudWatch Agent.
+ **Starten Sie den Amazon GameLift Servers Agenten.** Nach der Installation wird der Agent automatisch gestartet und beginnt mit der Ausführung von Anweisungen. Dazu zählen: 
  + Registrieren Sie die EC2-Instance als Recheneinheit in der Amazon GameLift Servers Anywhere-Flotte. 
  + Stellen Sie eine WebSocket Verbindung mit dem Amazon GameLift Servers Dienst her und rufen Sie die neueste Laufzeitkonfiguration ab. 
  + Starte die Spielserverprozesse basierend auf den Anweisungen in der Laufzeitkonfiguration. In diesem Arbeitsablauf wird der Agent angewiesen, einen einzelnen Prozess der ausführbaren Datei des Spielservers zu starten. 
+ **Testen Sie Ihre Spielszenarien.** Sobald die Testumgebung eingerichtet und dein neuester Spieleserver-Build installiert ist, kannst du mit dem Testen beginnen. Der Workflow durchläuft mehrere Testschritte, einschließlich des Startens einer Spielsitzung. Greifen Sie auf die CloudWatch Spielserverprotokolle zu, um den Fortschritt zu verfolgen, während die Spielsitzung beginnt und sich darauf vorbereitet, Spieler aufzunehmen. 

  Bei der Entwicklung Ihrer Spielkomponenten, einschließlich eines Spielclients und eines clientseitigen Backend-Dienstes, können Sie diese in Ihre Testszenarien einbeziehen. Verwende einen Spielclient, um eine Spielsitzung anzufordern, Verbindungsinformationen vom Amazon GameLift Servers Dienst abzurufen und dann eine direkte Verbindung zur Spielsitzung herzustellen.
+ **Stellen Sie einen neuen Spieleserver bereit, bauen Sie ihn auf und wiederholen Sie die Tests.** Während Sie Ihr Spiel entwickeln, können Sie neue Spieleserver-Builds generieren und diese dann schnell zum Testen in der EC2-Testumgebung bereitstellen. Laden Sie sie in den Amazon S3 S3-Bucket hoch und verwenden Sie dann die Workflow-Skripte, um die Testumgebung zu aktualisieren.

## Stelle dein Spiel auf Amazon GameLift Servers verwaltete Flotten um
<a name="integration-dev-iteration-cloud-transition"></a>

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 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 

Der Übergang von einer cloudbasierten Anywhere-Testflotte zu einer Amazon GameLift Servers verwalteten Flotte erfordert nur minimalen Aufwand. Sie müssen keinen Spielcode ändern und können dieselben Warteschlangen und Matchmaker wiederverwenden. Führe die folgenden Aufgaben aus: 
+ **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. Laden Sie bei einer verwalteten Flotte Ihr Game-Build-Paket hochAmazon GameLift Servers, wodurch es automatisch auf allen Flottencomputern bereitgestellt wird. Einzelheiten [Erstelle einen Gameserver-Build für Amazon GameLift Servers](gamelift-build-cli-uploading.md) zum Verpacken Ihrer Spiele-Build-Dateien und zum Erstellen einer Build-Ressource mit Dateien in einem Amazon S3 S3-Bucket finden Sie unter.
+ **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. Du kannst dieselbe Laufzeitkonfiguration verwenden, um den Lebenszyklus des Spielservers auf jedem Flottencomputer zu verwalten. Einzelheiten [Erstellen Sie eine Amazon GameLift Servers verwaltete EC2 Flotte](fleets-creating.md) 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](aliases-creating.md) zum Erstellen oder Aktualisieren eines Alias finden Sie unter.

# Lokales Testen mit Amazon GameLift Servers Anywhere einrichten
<a name="integration-testing"></a>

**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](integration-testing-local.md)

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 die Integration Ihrer 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**  
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](unity-plug-in-anywhere.md) oder[Plugin für Unreal: Hoste dein Spiel lokal mit Anywhere Amazon GameLift Servers](unreal-plugin-anywhere.md).

**Topics**
+ [Richten Sie eine lokale Anywhere-Flotte ein](#integration-testing-anywhere-fleet)
+ [Aktualisiere und installiere deinen Gameserver](#integration-testing-dev)
+ [Testen Sie die Aktivität der Spielsitzung](#integration-testing-test)
+ [Iteriere auf deinem Spieleserver](#fleet-anywhere-iteration)
+ [Stelle dein Spiel auf Amazon GameLift Servers verwaltete Flotten um](#fleet-anywhere-transition)

## Richten Sie eine lokale Anywhere-Flotte ein
<a name="integration-testing-anywhere-fleet"></a>

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-Managementkonsole for Amazon GameLift Servers finden Sie unter[Erstelle eine Amazon GameLift Servers Überall Flotte](fleets-creating-anywhere.md).

**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 beginnen`custom-`. Beispiel: `custom-my_laptop`. Siehe [Erstellen Sie einen benutzerdefinierten Standort](fleets-creating-anywhere.md#fleet-anywhere-location).

1. **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](fleets-creating-anywhere.md#fleet-anywhere-create).

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

1. **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](fleets-creating-anywhere.md#fleet-anywhere-compute). 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 verwenden`FleetArn`.
   + 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
<a name="integration-testing-dev"></a>

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 auf`get-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.

1. **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ügt`InitSdk()`. Wenn der Spieleserver auf einer Anywhere-Flotte läuft, erfordert dieser Aufruf zusätzliche Serverparameter. Weitere Informationen finden Sie unter [Initialisieren Sie den Serverprozess](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize) und [Server-SDK 5.x für Amazon GameLift Servers](reference-serversdk.md) 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 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 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 unter[Fügen Sie der Flotte einen Computer hinzu](fleets-creating-anywhere.md#fleet-anywhere-compute). Es hat sich bewährt,`webSocketUrl`, `hostId``fleetId`, und `authToken` als Umgebungsvariablen auf dem lokalen Computer festzulegen. Alle Serverprozesse, die auf dem Computer ausgeführt werden, verwenden diese Werte. 

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

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

## Testen Sie die Aktivität der Spielsitzung
<a name="integration-testing-test"></a>

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 ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/create-game-session.html)den Befehl (oder die [ CreateGameSession](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateGameSession.html)API-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-sessions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-game-sessions.html)den Befehl (oder die [DescribeGameSessions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeGameSessions.html)API-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-sessions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/list-game-sessions.html)command (oder die [ListGameSessions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListGameSessions.html)API-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
<a name="fleet-anywhere-iteration"></a>

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

1. **Säubere dein bestehendes`GameSession`.** Wenn der Spieleserver-Prozess abstürzt oder nicht aufruft`ProcessEnding()`, Amazon GameLift Servers bereinigt er das, `GameSession` nachdem der Spieleserver aufgehört hat, Integritätsprüfungen zu senden.

1. **Generieren Sie einen neuen Gameserver-Build.** Nimm Änderungen an deinem Spieleserver vor und packe einen überarbeiteten Build. 

1. **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.

1. **Holen Sie sich ein aktualisiertes Autorisierungstoken.** Rufen Sie den [get-compute-auth-token](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/get-compute-auth-token.html)CLI-Befehl auf und speichern Sie das Token auf dem lokalen Computer. 

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

## Stelle dein Spiel auf Amazon GameLift Servers verwaltete Flotten um
<a name="fleet-anywhere-transition"></a>

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 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 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 auf`InitSdk()`.** 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 [Erstelle einen Gameserver-Build für Amazon GameLift Servers](gamelift-build-cli-uploading.md) 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 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 Amazon GameLift Servers verwaltete EC2 Flotte](fleets-creating.md) 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](aliases-creating.md) zum Erstellen oder Aktualisieren eines Alias finden Sie unter.

# Testen Sie Ihre Integration mit Amazon GameLift Servers Local
<a name="integration-testing-local"></a>

**Anmerkung**  
In diesem Thema werden nur Tests für Spiele behandelt, die in das Server-SDK für Amazon GameLift Servers Version 3.x und 4.x integriert sind. Ihr Server-SDK-Paket enthält eine kompatible Version von Amazon GameLift Servers Local. Wenn Sie das Server-SDK Version 5.x verwenden, finden Sie unter [Lokales Testen mit GameLift Server-SDK 5.x](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-testing-local.html) Informationen zu lokalen Tests mit einer Amazon GameLift Servers Anywhere-Flotte. Anleitungen zur Migration von SDK 4.x auf 5.x finden Sie unter [Migration](https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html) zum Server-SDK 5.x. GameLift 

Verwenden Sie Amazon GameLift Servers Local, um eine eingeschränkte Version des verwalteten Amazon GameLift Servers-Denstes auf einem lokalen Gerät auszuführen und Ihre Spielintegration damit zu testen. Dieses Tool ist nützlich, wenn Sie die Integration Ihres Spiels als iterative Entwicklung durchführen. Die Alternative — jeden neuen Build hochzuladen Amazon GameLift Servers und eine Flotte für dein Spiel zu konfigurieren — kann jedes Mal mehrere oder mehr Zeit in Anspruch nehmen. 

Mit Amazon GameLift Servers Local können Sie Folgendes überprüfen:
+ Ihr Spielserver ist korrekt in das Server-SDK integriert und kommuniziert ordnungsgemäß mit dem Amazon GameLift Servers-Service, um neue Spielsitzungen zu starten, neue Spieler zu akzeptieren und den Zustand und Status zu melden. 
+ Ihr Spielclient ist korrekt in das AWS SDK für integriert Amazon GameLift Servers und kann Informationen zu bestehenden Spielsitzungen abrufen, neue Spielsitzungen starten, Spieler zu Spielen hinzufügen und eine Verbindung zur Spielsitzung herstellen.

Amazon GameLift ServersLocal ist ein Befehlszeilentool, das eine eigenständige Version des verwalteten Dienstes startet. Amazon GameLift Servers Amazon GameLift Servers Local bietet auch ein laufendes Ereignisprotokoll mit der Initialisierung von Serverprozessen, Zustandsprüfungen sowie API-Aufrufen und -Antworten. Amazon GameLift Servers Local erkennt eine Teilmenge der AWS SDK-Aktionen fürAmazon GameLift Servers. Du kannst vom AWS CLI oder von deinem Spielclient aus Anrufe tätigen. Alle API-Aktionen werden lokal genauso wie im Amazon GameLift Servers-Web-Service ausgeführt.

Jeder Serverprozess sollte nur eine einzige Spielsitzung hosten. Die Spielsitzung ist die ausführbare Datei, mit der Sie eine Verbindung zu Amazon GameLift Servers Local herstellen. Wenn die Spielsitzung abgeschlossen ist, sollten Sie den Vorgang aufrufen `GameLiftServerSDK::ProcessEnding` und dann beenden. Wenn Sie lokal mit Amazon GameLift Servers Local testen, können Sie mehrere Serverprozesse starten. Jeder Prozess stellt eine Verbindung zu Amazon GameLift Servers Local her. Sie können dann für jeden Serverprozess eine Spielsitzung erstellen. Wenn deine Spielsitzung endet, sollte dein Gameserver-Prozess beendet werden. Sie müssen dann manuell einen anderen Serverprozess starten. 

Amazon GameLift Serverslocal unterstützt Folgendes APIs:
+ CreateGameSession
+ CreatePlayerSession
+ CreatePlayerSessions
+ DescribeGameSessions
+ DescribePlayerSessions

## Amazon GameLift ServersLokal einrichten
<a name="integration-testing-local-start"></a>

Amazon GameLift Servers Local wird als eine ausführbare `.jar`-Datei bereitgestellt, die mit dem [Server-SDK](https://aws.amazon.com/gamelift/servers/getting-started/) mitgeliefert wird. Sie kann unter Windows oder Linux ausgeführt und mit jeder Amazon GameLift Servers-unterstützten Sprache verwendet werden. Für die SDK-Version 4.0.2 können Sie sie von den [offiziellen GitHub Versionen](https://github.com/amazon-gamelift/amazon-gamelift-servers-csharp-server-sdk/releases) herunterladen. GameLiftLocalDie.jar-Datei ist im Artefakt GameLift-CSharp-ServerSDK -4.0.2.zip enthalten.

Bevor Sie Local ausführen, müssen Sie außerdem Folgendes installieren.
+ Ein Build des Server-SDK für die Versionen 3.1.5 bis 4.x. Amazon GameLift Servers
+ Java 8 

## Teste einen Spieleserver
<a name="integration-testing-local-server"></a>

Wenn du nur deinen Spieleserver testen möchtest, kannst du den verwenden, AWS CLI um Spielclient-Aufrufe an den Amazon GameLift Servers lokalen Dienst zu simulieren. Dies reicht aus, um zu überprüfen, ob Ihr Spiel-Server bezüglich der folgenden Punkte entsprechend Ihren Erwartungen funktioniert: 
+ Der Spieleserver startet ordnungsgemäß und initialisiert das Server-SDK für. Amazon GameLift Servers
+ Als Teil des Startvorgangs teilt der Spielserver Amazon GameLift Servers mit, dass der Server bereit ist, Spielsitzungen zu hosten.
+ Während der Ausführung sendet der Spielserver jede Minute den Systemstatus an Amazon GameLift Servers.
+ Die Spiel-Server reagiert auf Anforderungen, eine neue Spielsitzung zu starten.

1. **Amazon GameLift Servers Local starten.**

   Öffnen Sie ein Befehlszeilenfenster, navigieren Sie zu dem Verzeichnis mit der Datei `GameLiftLocal.jar` und führen Sie sie aus. Standardmäßig horcht Local auf Port 8080 auf Anforderungen von Spielclients. Wenn Sie eine andere Portnummer angeben möchten, verwenden Sie den Parameter `-p`. Beispiel:

   ```
   java -jar GameLiftLocal.jar -p 9080
   ```

   Wenn Local startet, sehen Sie Protokolle, die angeben, dass zwei lokale Server gestartet wurden, einer, der auf Ihren Spiel-Server horcht und ein zweiter, der auf Aufrufe seitens des Spielclients oder über die AWS CLI wartet. Die beiden Protokolle berichten fortlaufend weiter über die Aktivitäten auf den beiden lokalen Servern, einschließlich der Kommunikation mit Ihren Spielkomponenten.

1. **Starten Sie Ihren Spiel-Server.**

   Starten Sie Ihren Amazon GameLift Servers-integrierten Spielserver lokal. Sie brauchen dabei nicht den Endpunkts für den Spiel-Server zu ändern. 

   Im Fenster der lokalen Eingabeaufforderung zeigen Protokollmeldungen an, dass Ihr Spielserver eine Verbindung mit dem Amazon GameLift Servers Local-Service hergestellt hat. Das bedeutet, dass dein Spieleserver das Server-SDK für Amazon GameLift Servers (mit) erfolgreich initialisiert hat. `InitSDK()` Das SDK hat `ProcessReady()` mit den angezeigten Protokollpfaden aufgerufen und ist nun im Erfolgsfall bereit, eine Spielsitzung zu hosten. Während der Spielserver läuft, protokolliert Amazon GameLift Servers jeden Statusbericht vom Spielserver. Das folgende Beispiel zu Protokollierungsmeldungen zeigt einen erfolgreich integrierten Spiel-Server:

   ```
   16:50:53,217  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - SDK connected: /127.0.0.1:64247 
   16:50:53,217  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - SDK pid is 17040, sdkVersion is 3.1.5 and sdkLanguage is CSharp
   16:50:53,217  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - NOTE: Only SDK versions 3.1.5 and above are supported in GameLiftLocal!
   16:50:53,451  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - onProcessReady received from: /127.0.0.1:64247 and ackRequest requested? true
   16:50:53,543  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - onProcessReady data: logPathsToUpload: "C:\\game\\logs"
   logPathsToUpload: "C:\\game\\error"
   port: 1935
           
   16:50:53,544  INFO || - [HostProcessManager] nioEventLoopGroup-3-1 - Registered new process true, true,
   16:50:53,558  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - onReportHealth received from /127.0.0.1:64247 with health status: healthy
   ```

   Es können u. a. die Fehler- und Warnmeldungen angezeigt werden:
   + Fehler: "ProcessReady hat keinen Prozess mit pID gefunden:*<process ID>*\$1 Wurde initSDK () aufgerufen?“
   + Warnung: „Der Prozessstatus für den Prozess mit der PId ist bereits vorhanden:*<process ID>*\$1 Wird ProcessReady (...) mehr als einmal aufgerufen?“

1. **Starte das AWS CLI.**

   Sobald Ihr Spiel-Server erfolgreich `ProcessReady()` ruft, können Sie die Clientaufrufe absetzen. Öffnen Sie ein Befehlszeilenfenster und starten Sie das AWS CLI -Tool. Der verwendet AWS CLI standardmäßig den Amazon GameLift Servers Webdienst-Endpunkt. Sie müssen diesen Endpunkt in allen Anfragen mit dem Parameter `--endpoint-url` mit dem lokalen Endpunkt überschreiben, wie im folgenden Beispiel dargestellt.

   ```
   AWS gamelift describe-game-sessions --endpoint-url http://localhost:9080  --fleet-id fleet-123
   ```

   Im AWS CLI Befehlszeilenfenster führen `AWS gamelift` Befehle zu Antworten, wie in der [AWS CLI Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/gamelift) dokumentiert.

1. **Erstellen Sie eine Spielsitzung.**

   Reichen Sie mit dem AWS CLI eine [CreateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html) Anfrage ein. Die Anforderung sollte der erwarteten Syntax entsprechen. Bei Local kann der `FleetId`-Parameter auf eine beliebige Zeichenfolge eingestellt sein (`^fleet-\S+`).

   ```
   AWS gamelift create-game-session --endpoint-url http://localhost:9080 --maximum-player-session-count 2 --fleet-id
       fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
   ```

   Im Fenster der lokalen Eingabeaufforderung zeigen Protokollmeldungen an, dass Amazon GameLift Servers Local Ihrem Spielserver einen `onStartGameSession`-Callback gesendet hat. Wenn eine Spielsitzung erfolgreich erstellt wurde, antwortet Ihr Spiel-Server durch einen Aufruf von `ActivateGameSession`.

   ```
   13:57:36,129  INFO || - [SDKInvokerImpl]
           Thread-2 - Finished sending event to game server to start a game session:
           arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-ab423a4b-b827-4765-aea2-54b3fa0818b6.
           Waiting for ack response.13:57:36,143  INFO || - [SDKInvokerImpl]
           Thread-2 - Received ack response: true13:57:36,144  INFO || -
           [CreateGameSessionDispatcher] Thread-2 - GameSession with id:
           arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-ab423a4b-b827-4765-aea2-54b3fa0818b6
           created13:57:36,227  INFO || - [SDKListenerImpl]
           nioEventLoopGroup-3-1 - onGameSessionActivate received from: /127.0.0.1:60020 and ackRequest
           requested? true13:57:36,230  INFO || - [SDKListenerImpl]
           nioEventLoopGroup-3-1 - onGameSessionActivate data: gameSessionId:
           "arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-abcdef12-3456-7890-abcd-ef1234567890"
   ```

   Amazon GameLift ServersAntwortet im AWS CLI Fenster mit einem Objekt für die Spielsitzung, einschließlich einer Spielsitzungs-ID. Beachten Sie, dass der Status der neuen Spielsitzung „Activating“ lautet. Der Status ändert sich zu Aktiv, sobald Ihr Spieleserver aufgerufen wird. ActivateGameSession Wenn du den geänderten Status sehen möchtest, verwende den, AWS CLI um anzurufen`DescribeGameSessions()`.

   ```
   {
       "GameSession": {
         "Status": "ACTIVATING",
         "MaximumPlayerSessionCount": 2,
         "FleetId": "fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
         "GameSessionId": "arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-abcdef12-3456-7890-abcd-ef1234567890",
         "IpAddress": "127.0.0.1",
         "Port": 1935
       }
   }
   ```

## Teste einen Spieleserver und Client
<a name="integration-testing-local-client"></a>

Im die gesamte Integration Ihres Spiels zu überprüfen (inklusive der Verbindung von Spielern mit Spielen), können Sie gleichzeitig Ihren Spiel-Server und Ihren Spieleclient lokal ausführen. Dadurch können Sie programmgesteuerte Aufrufe von Ihrem Spielclient an Amazon GameLift Servers Local testen. Sie können die folgenden Aktionen überprüfen: 
+ Der Spielclient sendet erfolgreich AWS SDK-Anfragen an den Amazon GameLift Servers lokalen Dienst, unter anderem um Spielsitzungen zu erstellen, Informationen über bestehende Spielsitzungen abzurufen und Spielersitzungen zu erstellen.
+ Die Spiel-Server validiert die Spieler ordnungsgemäß, wenn diese versuchen, einem Spiel beizutreten. Bei validierte Spielern kann der Spiel-Server Daten über den Spieler abrufen (falls implementiert).
+ Die Spiel-Server meldet den Verbindungsverlust, wenn ein Spieler das Spiel verlässt.
+ Die Spiel-Server meldet das Ende einer Spielsitzung.

1. **Amazon GameLift Servers Local starten.**

   Öffnen Sie ein Befehlszeilenfenster, navigieren Sie zu dem Verzeichnis mit der Datei `GameLiftLocal.jar` und führen Sie sie aus. Standardmäßig horcht Local auf Port 8080 auf Anforderungen von Spielclients. Wenn Sie eine andere Portnummer angeben möchten, verwenden Sie den Parameter `-p`. Beispiel:

   ```
   ./gamelift-local -p 9080
   ```

   Wenn Local startet, sehen Sie Protokolle, die angeben, dass zwei lokale Server gestartet wurden, einer, der auf Ihren Spiel-Server horcht und ein zweiter, der auf Aufrufe seitens des Spielclients oder über die AWS CLI wartet.

1. **Starten Sie Ihren Spiel-Server.**

   Starten Sie Ihren Amazon GameLift Servers-integrierten Spielserver lokal. Weitere Informationen zu Meldungsprotokollen finden Sie unter [Teste einen Spieleserver](#integration-testing-local-server).

1. **Konfigurieren Sie Ihren Spieleclient für Local und starten Sie ihn.**

   Um Ihren Spielclient mit dem Amazon GameLift Servers Local-Service zu verwenden, müssen Sie an der Einrichtung Ihres Spielclients die folgenden Änderungen vornehmen, wie unter [Richten Sie die Amazon GameLift Servers API ein](gamelift-sdk-client-api.md#gamelift-sdk-client-api-initialize) beschrieben:
   + Ändern Sie das `ClientConfiguration`-Objekt so, dass es auf Ihren lokalen Endpunkt verweist, z. B. `http://localhost:9080`.
   + Legen Sie einen Wert für die Zielflotten-ID fest. Bei Local brauchen Sie keine echte Flotten-ID anzugeben, es reicht aus, eine beliebige gültige Zeichenfolge (`^fleet-\S+`) anzugeben, z. B. `fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d`.
   +  AWS Anmeldeinformationen einrichten. Für Lokale benötigen Sie keine echten AWS -Anmeldeinformationen. Sie können den Zugriffsschlüssel und den geheimen Schlüssels auf eine beliebige Zeichenfolge festlegen. 

   Sobald Sie den Spielclient gestartet haben, sollten die Protokollmeldungen im lokalen Eingabeaufforderungsfenster anzeigen, dass er den `GameLiftClient` initialisiert hat und erfolgreich mit dem Amazon GameLift Servers-Service kommuniziert wird. 

1. **Spielclient-Aufrufe an den Amazon GameLift Servers-Service testen.**

   Überprüfen Sie, ob Ihr Spieleclient erfolgreich einige oder alle der folgenden API-Aufrufe ausführen kann:
   + [CreateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)
   + [DescribeGameSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessions.html)
   + [CreatePlayerSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html)
   + [CreatePlayerSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSessions.html)
   + [DescribePlayerSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html)

   In dem Local-Befehlszeilenfenster werden nur Aufrufe an `CreateGameSession()` mit entsprechenden Meldungen protokolliert. Protokollmeldungen zeigen an, wenn Amazon GameLift Servers Local Ihren Spielserver auffordert, eine Spielsitzung zu starten (`onStartGameSession`-Callback) und einen erfolgreichen `ActivateGameSession` erhält, wenn Ihr Spielserver ihn aufruft. In dem AWS CLI -Fenster führen alle API-Aufrufe entweder zu Antworten oder zu Fehlermeldungen, wie dokumentiert. 

1. **Überprüfen Sie, ob Ihr Spiel-Server die Verbindungen neuer Spieler validiert.**

   Stellen Sie nach dem Erstellen einer Spielsitzung und einer Spielersitzung eine direkte Verbindung zu der Spielsitzung her.

   In dem Befehlszeilenfenster von Local sollten Meldungen darauf hinweisen, dass der Spiel-Server eine `AcceptPlayerSession()`-Anfrage gesendet hat, um die neue Spielerverbindung zu überprüfen. Wenn Sie das Anrufen verwenden`DescribePlayerSessions()`, sollte AWS CLI sich der Sitzungsstatus des Spielers von Reserviert auf Aktiv ändern.

1. **Überprüfen Sie, ob Ihr Spielserver dem Amazon GameLift Servers-Service den Spiel- und Spielerstatus meldet.**

   Damit Amazon GameLift Servers die Spielernachfrage verwaltet und Metriken korrekt gemeldet werden können, muss Ihr Spielserver verschiedene Status an Amazon GameLift Servers zurückmelden. Überprüfen Sie, ob Local Ereignisse zu den folgenden Aktionen protokolliert. Möglicherweise möchten Sie den auch verwenden, AWS CLI um Statusänderungen zu verfolgen.
   + **Spieler trennt sich von einer Spielsitzung** — Amazon GameLift Servers Lokale Protokollnachrichten sollten zeigen, dass dein Spieleserver anruft`RemovePlayerSession()`. Ein AWS CLI -Aufruf an `DescribePlayerSessions()` sollte eine Statusänderung von `Active` nach `Completed` sichtbar machen. Sie können auch `DescribeGameSessions()` aufrufen, um zu überprüfen, ob sich die Anzahl der Spieler in der aktuellen Spielsitzung um 1 vermindert.
   + **Spielsitzung endet** — Amazon GameLift Servers Lokale Protokollnachrichten sollten zeigen, dass dein Spieleserver anruft`TerminateGameSession()`. 
**Anmerkung**  
Bisher wurde empfohlen, `TerminateGameSession()` beim Beenden einer Spielsitzung anzurufen. Diese Methode ist mit Amazon GameLift Servers Server SDK v4.0.1 veraltet. Siehe [Beenden Sie eine Spielsitzung](gamelift-sdk-server-api.md#gamelift-sdk-server-shutdownsession). 
   + **Der Serverprozess ist beendet** — Amazon GameLift Servers Lokale Protokollnachrichten sollten zeigen, dass dein Spieleserver anruft. `ProcessEnding()` Ein AWS CLI Aufruf von `DescribeGameSessions()` sollte eine Statusänderung von `Active` zu `Terminated` (oder`Terminating`) widerspiegeln.

## Variationen mit lokalen
<a name="integration-testing-local-special"></a>

Bei der Verwendung von Amazon GameLift Servers Local sollten Sie Folgendes beachten:
+ Anders als der Amazon GameLift Servers-Web-Service verfolgt Local nicht den Zustand eines Servers und initiiert den `onProcessTerminate`-Callback nicht. Local beendet lediglich die Protokollierung für den Zustand des Spiel-Servers.
+ Bei Aufrufen an das AWS SDK IDs werden Fleet nicht validiert und es kann sich um einen beliebigen Zeichenkettenwert handeln, der die Parameteranforderungen (`^fleet-\S+`) erfüllt.
+ Mit Local IDs erstellte Spielsitzungen haben eine andere Struktur. Sie enthalten die Zeichenfolge `local`, wie hier dargestellt:

  ```
  arn:aws:gamelift:local::gamesession/fleet-123/gsess-56961f8e-db9c-4173-97e7-270b82f0daa6
  ```

# Debuggen von Amazon GameLift Servers-Flottenproblemen
<a name="fleets-creating-debug"></a>

Dieses Thema enthält Anleitungen zur Lösung von Problemen mit Ihren Amazon GameLift Servers verwalteten EC2 Flotten. 

## Probleme bei der Erstellung von Flotten
<a name="fleets-creating-debug-creation"></a>

Wenn Sie eine verwaltete EC2 Flotte erstellen, initiiert der Amazon GameLift Servers Service einen Workflow, der die Flotte erstellt, EC2 Instances bereitstellt, auf denen Ihr Spieleserver-Build installiert ist, und Spieleserver-Prozesse auf jeder Instanz startet. Eine ausführliche Beschreibung finden Sie unter. Eine Flotte kann erst dann Spielsitzungen und Spieler hosten, wenn sie den Status **Aktiv** erreicht hat. 

Sie können Probleme beheben, die verhindern, dass Flotten aktiv werden, indem Sie die Phase der Flottenerstellung identifizieren, in der das Problem aufgetreten ist, und die Ereignisse und Protokolle zur Flottenerstellung überprüfen. Wenn die Protokolle keine nützlichen Informationen enthalten, ist das Problem möglicherweise auf einen internen Servicefehler zurückzuführen. Versuchen Sie in diesem Fall erneut, die Flotte zu erstellen. Wenn das Problem weiterhin besteht, versuchen Sie, den Spiel-Build erneut hochzuladen, um eine mögliche Dateibeschädigung zu beheben). Sie können sich auch an den Amazon GameLift Servers-Support wenden oder im Forum eine Frage stellen. 

**Den Build herunterladen und validieren**  
Amazon GameLift ServersRuft während dieser Phase den hochgeladenen Spieleserver-Build ab, extrahiert die Dateien und führt alle Installationsskripte aus. Wenn die Flottenerstellung in diesen Phasen fehlschlägt, schauen Sie sich die Flottenereignisse und -protokolle an, um das Problem zu lokalisieren. Mögliche Gründe hierfür sind:   
+ Amazon GameLift Serverskann die komprimierte Build-Datei (Ereignis`FLEET_BINARY_DOWNLOAD_FAILED`) nicht abrufen. Stellen Sie sicher, dass auf den Speicherort des Builds zugegriffen werden kann, dass Sie eine Flotte erstellen, die dem Build entspricht AWS-Region , und dass Sie Amazon GameLift Servers über die richtigen Zugriffsberechtigungen verfügen. 
+ Amazon GameLift Serverskann die Build-Dateien nicht extrahieren (Ereignis`FLEET_CREATION_EXTRACTING_BUILD`). 
+ Ein Installationsskript in den Build-Dateien konnte nicht erfolgreich abgeschlossen werden (Ereignis`FLEET_CREATION_FAILED_INSTALLER`). 

**Ressourcen für die Flotte aufbauen**  
Probleme in dieser Phase betreffen in der Regel die Zuweisung und den Einsatz von Flottenressourcen. Mögliche Gründe hierfür sind:   
+ Der angeforderte Instance-Typ ist nicht verfügbar.
+ Der angeforderte Flottentyp (Spot oder On-Demand) ist nicht verfügbar.

**Gameserver-Prozesse aktivieren**  
In dieser Phase werden eine Reihe von Aufgaben durchgeführt und wichtige Elemente getestet, darunter die Funktionsfähigkeit des Spielservers, die Einstellungen für die Laufzeitkonfiguration und die Fähigkeit des Spielservers, mithilfe des Server-SDK eine Verbindung zum Amazon GameLift Servers Dienst herzustellen. Amazon GameLift Servers   
In dieser Phase können Sie remote auf eine Flotteninstanz zugreifen, um Probleme weiter zu untersuchen. Siehe [Connect zu Flotteninstanzen herstellen](fleets-remote-access.md).
Zu den möglichen Problemen gehören:   
+ Serverprozesse werden nicht gestartet. Dies deutet auf ein Problem mit den Laufzeitkonfigurationseinstellungen der Flotte hin (Ereignisse `FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND` oder`FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE`. Stellen Sie sicher, dass Sie den Startpfad und die optionalen Startparameter korrekt eingestellt haben.
+ Serverprozesse werden gestartet, aber die Flotte kann nicht aktiviert werden. Wenn Serverprozesse erfolgreich gestartet und ausgeführt werden, die Flotte jedoch nicht in den Status **Aktiv** wechselt, liegt das wahrscheinlich daran, dass der Serverprozess nicht mit dem Amazon GameLift Servers Dienst kommunizieren kann. Vergewissere dich, dass dein Spieleserver die richtigen Server-SDK-Aufrufe durchführt (siehe[Initialisieren Sie den Serverprozess](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize)): 
  + Der Serverprozess kann nicht initialisiert werden (Ereignis`SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT`). Der Serverprozess ruft `InitSdk()` nicht erfolgreich auf.
  + Der Serverprozess benachrichtigt nicht, Amazon GameLift Servers wenn er bereit ist, eine Spielsitzung (ein Ereignis`SERVER_PROCESS_PROCESS_READY_TIMEOUT`) zu veranstalten. Der Serverprozess wurde initialisiert, aber nicht `ProcessReady()` rechtzeitig aufgerufen.
+ Eine VPC-Peering-Verbindungsanfrage ist fehlgeschlagen. Für Flotten, die mit einer VPC-Peering-Verbindung erstellt werden (siehe [So richten Sie VPC-Peering mit einer neuen Flotte ein](vpc-peering.md#fleets-creating-aws-cli-vpc)), erfolgt das VPC-Peering während dieser **Activating (Aktivierung)** Phasen. Wenn ein VPC-Peering aus irgendeinem Grund fehlschlägt, kann die neue Flotte nicht in den Status **Active (Aktiv)** wechseln. Sie können den Erfolg oder Misserfolg der Peering-Anfrage nachverfolgen, indem Sie anrufen. [describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-connections.html) Stellen Sie sicher, dass eine gültige VPC-Peering-Autorisierung vorhanden ist ([describe-vpc-peering-authorizations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-authorizations.html), da Autorisierungen nur für 24 Stunden gültig sind.

## Probleme mit dem Serverprozess
<a name="fleets-creating-debug-processes"></a>

**Die Serverprozesse starten, werden jedoch nach kurzer Zeit wieder beendet oder laufen nicht richtig rund.**  
Ein solches Systemverhalten muss nicht zwangsläufig auf Probleme mit Ihrem Spiele-Build hinweisen, sondern es kann sich auch ergeben, wenn auf der Instance zu viele Serverprozesse gleichzeitig ausgeführt werden. Die optimale Anzahl an gleichzeitigen Prozessen hängt gleichermaßen von den Instance-Typ und den Ressourcenanforderungen Ihrer Spiel-Server ab. Verringern Sie die Anzahl der gleichzeitigen Prozesse, die in der Laufzeitkonfiguration der Flotte eingestellt wird, um zu prüfen, ob sich die Leistung verbessert. Sie können die Laufzeitkonfiguration einer Flotte entweder über die Amazon GameLift Servers Konsole ändern (bearbeiten Sie die Einstellungen für die Kapazitätszuweisung der Flotte) oder indem Sie den Befehl aufrufen. AWS CLI [update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)

## Probleme bei der Flottenlöschung
<a name="fleets-creating-debug-deletion"></a>

**Die Flotte kann aufgrund der maximalen Anzahl von Instances nicht beendet werden.**  
Die Fehlermeldung zeigt an, dass die zu löschende Flotte noch aktive Instances hat, was nicht zulässig ist. Sie müssen zunächst eine Flotte auf null aktive Instances reduzieren. Dies geschieht, indem Sie die gewünschte Anzahl der Instances der Flotte manuell auf "0" festlegen und dann darauf warten, dass die Skalierung greift. Stellen Sie sicher, dass Sie die auto Skalierung ausschalten, da dies manuellen Einstellungen entgegenwirkt. 

**VPC-Aktionen sind nicht autorisiert.**  
Dieses Problem gilt nur für Flotten, für die Sie speziell VPC-Peering-Verbindungen erstellt haben (siehe. [VPC-Peering einrichten für Amazon GameLift Servers](vpc-peering.md) Dieses Szenario tritt auf, weil das Löschen einer Flotte auch das Löschen der VPC der Flotte und aller VPC-Peering-Verbindungen umfasst. Sie müssen zuerst eine Autorisierung einholen, indem Sie die Service-API for Amazon GameLift Servers [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) aufrufen oder den AWS CLI-Befehl verwenden`create-vpc-peering-authorization`. Sobald Sie die Berechtigung haben, können Sie die Flotte löschen.

# Fernzugriff auf Flottenressourcen
<a name="remote-access-intro"></a>

Sie können eine Verbindung zu jeder Instance in Ihren aktiven Amazon GameLift Servers verwalteten EC2- oder verwalteten Containerflotten herstellen. Bei Container-Flotten können Sie auch eine Verbindung zu einzelnen Containern herstellen, die auf einer Instance ausgeführt werden, um Spielsitzungen zu beheben, Protokolle zu überprüfen und Laufzeitprobleme zu debuggen. Zu den häufigsten Gründen für den Fernzugriff auf eine Instanz gehören:
+ Beheben Sie Probleme mit der Integration Ihres Spieleservers.
+ Optimiere deine Runtime-Konfiguration und andere flottenspezifische Einstellungen.
+ Überwachen Sie die Aktivitäten auf dem Spieleserver in Echtzeit, z. B. die Protokollierung.
+ Führen Sie Benchmarking-Tools anhand des tatsächlichen Spielerverkehrs aus.
+ Untersuchen Sie spezifische Probleme mit einer Spielsitzung oder einem Serverprozess.

Wenn du eine Verbindung zu einer Instanz herstellst, solltest du Folgendes beachten:
+ Sie können eine Verbindung zu jeder Instance in einer aktiven Flotte herstellen. Im Allgemeinen können Sie keine Verbindung zu inaktiven Flotten herstellen, z. B. zu Flotten, die gerade aktiviert werden oder sich in einem Fehlerstatus befinden. (Diese Flotten sind möglicherweise für einen kurzen Zeitraum nur begrenzt verfügbar.) Hilfe bei Problemen mit der Flottenaktivierung finden Sie unter[Debuggen von Amazon GameLift Servers-Flottenproblemen](fleets-creating-debug.md).
+ Die Verbindung zu einer aktiven Instance hat keinen Einfluss auf die Hosting-Aktivität der Instance. Die Instanz startet und stoppt weiterhin Serverprozesse auf der Grundlage der Laufzeitkonfiguration. Sie aktiviert und führt Spielsitzungen aus. Die Instanz wird möglicherweise als Reaktion auf ein Herunterskalierungsereignis oder ein anderes Ereignis heruntergefahren.
+ Alle Änderungen, die Sie an Dateien oder Einstellungen auf der Instanz vornehmen, können sich auf die aktiven Spielsitzungen der Instanz und auf die verbundenen Spieler auswirken.

# Connect zu Flotteninstanzen herstellen
<a name="fleets-remote-access"></a>

Sie können eine Remoteverbindung zu jeder aktiven Amazon GameLift Servers verwalteten EC2- oder Managed Container Fleet-Instance herstellen, um Probleme mit dem Spielserver zu beheben, Logs zu überprüfen und das Laufzeitverhalten zu debuggen. Stellen Sie über die Amazon GameLift Servers Konsole oder die AWS CLI eine Verbindung her.

## Fernzugriff über die Konsole
<a name="fleets-remote-access-console"></a>

Mit Amazon EC2 Systems Manager (SSM) können Sie direkt von der Amazon GameLift Servers Konsole aus eine Verbindung zu Flotteninstanzen herstellen. Diese Methode bietet sicheren Zugriff, ohne dass eine zusätzliche Einrichtung oder Verwaltung der Anmeldeinformationen erforderlich ist. Bei Container-Flotten können Sie nach dem Herstellen der Verbindung mit der Instance auf einzelne Container zugreifen, die darauf laufen. Weitere Informationen finden Sie unter [Connect zu Containern herstellen](containers-remote-access.md).

1. **Wählen Sie in der Amazon GameLift Servers Konsole im Navigationsbereich **Managed EC2** oder **Managed Containers** und dann Fleets aus.**

1. Wählen Sie die Flotten-ID aus, die die Instance enthält, auf die Sie zugreifen möchten.

1. Wählen Sie auf der Seite mit den Flottendetails den Tab **Instances**, um alle Compute-Instances für die Flotte anzuzeigen.

1. Wählen Sie die Instance aus, zu der Sie eine Verbindung herstellen möchten, und wählen Sie dann **Connect**. Daraufhin wird das Dialogfeld Mit Instanz Connect angezeigt, das Sie über die Details der Verbindung informiert und es Ihnen ermöglicht, das Skript anzuzeigen, das für die Verbindung mit Ihrer Instance verwendet wird. Bestätigen Sie, indem **Sie erneut Verbinden** wählen.

1. Wählen Sie im Verbindungsdialogfeld die Option **Ausführen**, um eine neue SSM-Sitzung zu erstellen. Das System authentifiziert Ihre Sitzung über den AWS Key Management Service (AWS KMS) und öffnet ein Terminal in Ihrem Browser.

**Anmerkung**  
Konsolenbasierter Fernzugriff ist für Flotten verfügbar, auf denen das Server-SDK Version 5.x ausgeführt wird. Verwenden Sie für Flotten, auf denen frühere SDK-Versionen ausgeführt werden, die im folgenden Abschnitt beschriebene AWS CLI-Methode.

## Fernzugriff mit der AWS CLI
<a name="fleets-remote-access-cli"></a>

In den folgenden Anweisungen wird beschrieben, wie Sie mithilfe der AWS Befehlszeilenschnittstelle (CLI) eine Remoteverbindung zu einer Instance herstellen. Sie können mithilfe des AWS SDK auch programmatische Aufrufe tätigen, wie in der [Service-API-Referenz für Amazon GameLift Servers](https://docs.aws.amazon.com/gamelift/latest/apireference/) dokumentiert.

### Sammeln Sie Instanzdaten
<a name="fleets-remote-access-getinfo"></a>

Um eine Verbindung zu einer Amazon GameLift Servers verwalteten EC2-Flotteninstanz herzustellen, benötigen Sie die folgenden Informationen: 
+ Die ID der Instance, zu der Sie eine Verbindung herstellen möchten. Sie können entweder die Instanz-ID oder den ARN verwenden.
+ das Server-SDK für die Amazon GameLift Servers Version, die auf der Instanz verwendet wird. Das Server-SDK ist in den Spiel-Build integriert, der auf der Instanz ausgeführt wird. 

In den folgenden Anweisungen wird beschrieben, wie Sie diese Aufgaben mithilfe der AWS CLI ausführen. Sie müssen die Flotten-ID für die Instance kennen, zu der Sie eine Verbindung herstellen möchten.

1. **Rufen Sie den Computernamen ab.** Ruft eine Liste aller aktiven Computer in der Flotte ab. Rufen Sie [list-compute](https://docs.aws.amazon.com/cli/latest/reference/gamelift/list-compute.html) mit einer Flotten-ID oder einem ARN auf. Geben Sie für eine Flotte mit einem einzigen Standort nur die Flottenkennung an. Geben Sie für eine Flotte mit mehreren Standorten die Flottenkennung und einen Standort an. Gibt bei verwalteten EC2-Flotten eine Liste von Flotteninstanzen `list-compute` zurück, und die Eigenschaft `ComputeName` ist die Instance-ID. Suchen Sie den Computer, auf den Sie zugreifen möchten. 

   **Anforderung**

   ```
   aws gamelift list-compute \
     --fleet-id  fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
     --location sa-east-1
   ```

   **Antwort**

   ```
   {
     "ComputeList": [
       {
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeName": "i-0abc12d3e45fa6b78",
         "IpAddress": "00.00.000.00",
         "DnsName": "b08444ki909kvqu6zpw3is24x5pyz4b6m05i3jbxvpk9craztu0lqrbbrbnbkks.uwp57060n1k6dnlnw49b78hg1rw4rcz7.us-west-2.amazongamelift.com",
         "ComputeStatus": "Active",
         "Location": "sa-east-1",
         "CreationTime": "2023-07-09T22:51:45.931000-07:00",
         "OperatingSystem": "AMAZON_LINUX_2023",
         "Type": "c4.large"
       }
     ]
   }
   ```

1. **Suchen Sie die Server-SDK-Version.** Um diese Informationen zu erhalten, müssen Sie nach dem Build suchen, das für die Flotte eingesetzt wird. Die Server-SDK-Version ist eine Build-Eigenschaft.

   1. Rufen Sie [describe-fleet-attributes](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-attributes.html)mit einer Flotten-ID oder einem ARN an, um die Build-ID und den ARN der Flotte zu erhalten.

   1. Rufen Sie [describe-build](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-build.html) mit der Build-ID oder dem ARN auf, um die Server-SDK-Version des Builds abzurufen. 

      Beispiel:

      **Anforderung**

   ```
   aws gamelift describe-fleet-attributes \
     --fleet-ids  fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
   ```

   **Antwort**

   ```
   {
     "FleetAttributes": [
       {
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeType": "EC2",
         "BuildId": "build-3333cccc-44dd-55ee-66ff-00001111aa22",
         . . .
       }
     ]
   }
   ```

   **Anforderung**

   ```
   aws gamelift describe-build \
     --build-id build-3333cccc-44dd-55ee-66ff-00001111aa22
   ```

   **Antwort**

   ```
   "Build": {
     "BuildId": "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
     "Name": "My_Game_Server_Build_One",
     "OperatingSystem": "AMAZON_LINUX_2023",
     "ServerSdkVersion": "5.1.1",
     . . .
   }
   ```

## Connect zu einer Instanz herstellen (Server-SDK 5)
<a name="fleets-remote-access-connect-5"></a>

Wenn auf der Instance, zu der Sie eine Verbindung herstellen möchten, ein Game-Build mit Server-SDK Version 5.x ausgeführt wird, stellen Sie mithilfe von Amazon EC2 Systems Manager (SSM) eine Verbindung zu der Instance her. Sie können auf Remote-Instances zugreifen, die auf Windows oder Linux ausgeführt werden. Bei Container-Flotten können Sie nach dem Herstellen der Verbindung mit der Instance auf einzelne Container zugreifen, die darauf laufen. Weitere Informationen finden Sie unter [Connect zu Containern herstellen](containers-remote-access.md).

**Bevor Sie beginnen:**  
Schließen Sie die SSM-Setup-Schritte ab und installieren Sie das SSM-Plugin auf Ihrem lokalen Computer. Weitere Informationen finden Sie unter [SSM einrichten](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) und [das Session Manager-Plug-In für die AWS CLI installieren](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) im *Amazon EC2 Systems Manager Manager-Benutzerhandbuch*.

1. **Fordern Sie Anmeldeinformationen für die Instance an.** Rufen Sie [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)mit der Flotten-ID und dem Computenamen für die Instance an, zu der Sie eine Verbindung herstellen möchten. Amazon GameLift Serversgibt einen Satz temporärer Anmeldeinformationen für den Zugriff auf die Instance zurück. Beispiel: 

   **Anforderung**

   ```
   aws gamelift get-compute-access \
   --compute-name i-11111111a222b333c \
   --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
   --region us-west-2
   ```

   **Antwort**

   ```
   {
     "ComputeName": "i-11111111a222b333c",
     "Credentials": {
       "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
       "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
       "SessionToken": "AQoDYXdzEJr...<remainder of session token>"
     },
     "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
     "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
   }
   ```

1. **Exportieren Sie die Zugangsdaten (optional).** Sie können die Anmeldeinformationen in Umgebungsvariablen exportieren und sie verwenden, um die AWS CLI für den Standardbenutzer zu konfigurieren. Weitere Informationen finden Sie unter [Umgebungsvariablen zur Konfiguration der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) im AWS Command Line Interface Benutzerhandbuch.

   ```
   export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
   export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
   ```

1. **Connect zur Flotteninstanz her.** Starten Sie eine SSM-Sitzung mit der Instance, zu der Sie eine Verbindung herstellen möchten. Geben Sie die AWS Region oder den Standort der Instanz an. Weitere Informationen, einschließlich der Einrichtung von SSM und des SSM-Plug-ins, finden Sie unter [Starten einer Sitzung (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli) im *Amazon EC2 Systems Manager Manager-Benutzerhandbuch*. 

   Für die Anfrage zum Sitzungsstart werden automatisch die Anmeldeinformationen verwendet, die Sie in Schritt 1 erworben haben. 

   ```
   aws ssm start-session \
   --target i-11111111a222b333c \
   --region us-west-2 \
   ```
**Anmerkung**  
Wenn Sie die Fehlermeldung „Zugriff verweigert“ erhalten, haben Sie möglicherweise eine `AWS_PROFILE` Umgebungsvariable auf ein AWS Profil gesetzt, was dazu führt, dass AWS CLI die falschen Anmeldeinformationen für den Remotezugriff verwendet. Um das Problem zu beheben, deaktivieren Sie vorübergehend Ihre `AWS_PROFILE` Umgebungsvariable. Alternativ können Sie ein benutzerdefiniertes AWS Profil für Ihre RAS-Anmeldeinformationen erstellen und den `--profile` Befehlszeilenparameter zu Ihrer `start-session` Anfrage hinzufügen. 

## Stellen Sie eine Connect zu einer Instanz her (Server-SDK 4.x oder früher)
<a name="fleets-remote-access-connect"></a>

Wenn auf der Instance, zu der Sie eine Verbindung herstellen möchten, ein Spiel mit Server-SDK Version 4 oder früher ausgeführt wird, gehen Sie wie folgt vor. Sie können eine Verbindung zu Instances herstellen, auf denen entweder Windows oder Linux ausgeführt wird. Stellen Sie mithilfe eines RDP-Clients (Remote Desktop Protocol) eine Connect zu einer Windows-Instanz her. Stellen Sie mithilfe eines SSH-Clients eine Connect zu einer Linux-Instance her. 

1. **Fordern Sie Anmeldeinformationen für die Instance an.** Wenn Sie eine Instanz-ID haben, verwenden Sie den Befehl, [get-instance-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-instance-access.html)um Zugangsdaten anzufordern. Wenn dies erfolgreich ist, gibt Amazon GameLift Servers das Betriebssystem, die IP-Adresse und einen Satz von Anmeldeinformationen (Benutzername und geheimer Schlüssel) für die Instance zurück. Das Format der Anmeldeinformationen ist vom Betriebssystem der Instance abhängig. Verwenden Sie die folgenden Anweisungen, um Anmeldeinformationen für RDP oder SSH abzurufen. 
   + **Für Windows-Instanzen** — Um eine Verbindung zu einer Windows-Instanz herzustellen, benötigt RDP einen Benutzernamen und ein Passwort. Die `get-instance-access`-Anforderung gibt diese Werte als einfache Zeichenfolgen zurück. Daher können Sie die zurückgegebenen Werte unverändert verwenden. Beispiel für Anmeldeinformationen: 

     ```
     "Credentials": {
         "Secret": "aA1bBB2cCCd3EEE",
         "UserName": "gl-user-remote"
     }
     ```
   + **Für Linux-Instances** — Um eine Verbindung zu einer Linux-Instance herzustellen, benötigt SSH einen Benutzernamen und einen privaten Schlüssel. Amazon GameLift Serversgibt private RSA-Schlüssel aus und gibt sie als einzelne Zeichenfolge zurück, wobei das Zeilenumbruchzeichen (`\n`) auf Zeilenumbrüche hinweist. Gehen Sie wie folgt vor, um den privaten Schlüssel nutzbar zu machen: (1) konvertieren Sie die Zeichenfolge in eine `.pem` Datei und (2) legen Sie die Berechtigungen für die neue Datei fest. Beispiel für zurückgegebene Anmeldeinformationen: 

     ```
     "Credentials": {
         "Secret": "-----BEGIN RSA PRIVATE KEY-----nEXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/\nvBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW\nZ/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F\nG50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW\noPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu\n/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1\nmb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2\nbahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9\n81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR\noQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1\nYkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x\np9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws\nayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU\nWA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC\ngYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH\noMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs\nArq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy\nWBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j\njjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa\nNWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS\nVRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=\n-----END RSA PRIVATE KEY-----",
         "UserName": "gl-user-remote"
     }
     ```

     Wenn Sie die AWS CLI verwenden, können Sie automatisch eine `.pem` Datei generieren, indem Sie die Parameter *--query* und *--output* in Ihre `get-instance-access` Anfrage aufnehmen. 

     Um für die `.pem`-Datei Berechtigungen festzulegen, führen Sie den folgenden Befehl aus:

     ```
     $ chmod 400 MyPrivateKey.pem
     ```

1. **Öffnen Sie einen Port für die Remote-Verbindung.** Sie können über jeden in der Amazon GameLift Servers Flottenkonfiguration autorisierten Port auf Instances in Flotten zugreifen. Sie können die Port-Einstellungen einer Flotte mit dem Befehl [https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html) anzeigen. 

   Als bewährte Methode wird empfohlen, Ports für den Remote-Zugriff nur zu öffnen, wenn Sie diese benötigen, und sie zu schließen, wenn Sie diese nicht mehr benötigen. Sie können die Porteinstellungen nicht aktualisieren, nachdem Sie eine Flotte erstellt haben, sondern bevor sie aktiv ist. Wenn Sie nicht weiterkommen, erstellen Sie die Flotte mit geöffneten Porteinstellungen neu.

   Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html), um eine Port-Einstellung für die Remote-Verbindung hinzuzufügen (z. B. `22` für SSH oder `3389` für RDP). Geben Sie als Wert für den IP-Adressbereich die IP-Adressen für die Geräte an, die Sie verwenden möchten, um eine Verbindung herzustellen (in das CIDR-Format konvertiert). Beispiel: 

   ```
   $ AWS gamelift update-fleet-port-settings
       --fleet-id  "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
       --inbound-permission-authorizations "FromPort=22,ToPort=22,IpRange=54.186.139.221/32,Protocol=TCP"
   ```

   Das folgende Beispiel öffnet Port 3389 auf einer Windows-Flotte

   ```
   $ AWS gamelift update-fleet-port-settings
   --fleet-id  "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
       --inbound-permission-authorizations "FromPort=3389,ToPort=3389,IpRange=54.186.139.221/32,Protocol=TCP"
   ```

1. **Öffnen Sie einen Remote-Verbindungs-Client.** Verwenden Sie Remote Desktop für Windows-Instances oder SSH für Linux-Instances. Stellen Sie die Verbindung mit der Instance unter Verwendung von IP-Adresse, Port-Einstellung und Anmeldeinformationen her.

   SSH-Beispiel: 

   ```
   ssh -i MyPrivateKey.pem gl-user-remote@192.0.2.0
   ```

## Dateien auf Remote-Instances anzeigen
<a name="fleets-remote-access-permissions"></a>

Sobald Sie mit einer Flotteninstanz verbunden sind, haben Sie vollen Benutzer- und Administratorzugriff. Das bedeutet, dass Sie auch Fehler oder Ausfälle beim Hosten von Spielen verursachen können. Wenn die Instanz Spiele mit aktiven Spielern hostet, besteht die Gefahr, dass Spielsitzungen abstürzen und Spieler fallen gelassen werden oder dass das Herunterfahren von Spielen unterbrochen wird, was zu Fehlern in den gespeicherten Spieldaten und Protokollen führen kann.

Für Container-Flotten gelten nach dem Zugriff auf den Container (siehe[Connect zu Containern herstellen](containers-remote-access.md)) die folgenden Dateispeicherorte innerhalb des Container-Dateisystems. Für EC2-Flotten gelten diese Dateispeicherorte direkt für die Instance.

Suchen Sie auf einer Hosting-Instance nach diesen Ressourcen:
+ **Build-Dateien von Spielen.** Bei diesen Dateien handelt es sich um den Spiel-Build, in den Sie hochgeladen habenAmazon GameLift Servers. Sie enthalten eine oder mehrere ausführbare Dateien, Ressourcen und Abhängigkeiten des Spielservers. Die Build-Dateien des Spiels befinden sich in einem Stammverzeichnis mit dem Namen: `game` 
  + Bei Windows: `c:\game`
  + Bei Linux: `/local/game`
+ **Protokolldateien von Spielen.** Suchen Sie die Protokolldateien, die Ihr Spieleserver generiert, im `game` Stammverzeichnis in dem von Ihnen angegebenen Verzeichnispfad.
+ **Hosting-Ressourcen von Amazon GameLift Servers.** Das Stammverzeichnis `Whitewater` enthält Dateien, die vom Amazon GameLift Servers Dienst zur Verwaltung der Spielhosting-Aktivitäten verwendet werden. Verändern Sie diese Dateien aus keinem Grund. 
+ **Laufzeitkonfiguration.** Greifen Sie nicht auf die Laufzeitkonfiguration für einzelne Instanzen zu. Um Änderungen an einer Laufzeitkonfigurationseigenschaft vorzunehmen, aktualisieren Sie die Laufzeitkonfiguration der Flotte (siehe den AWS SDK-Vorgang [UpdateRuntimeConfiguration](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateRuntimeConfiguration.html)oder den AWS CLI [update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)).
+ **Flottendaten.** Eine JSON-Datei enthält Informationen über die Flotte, zu der die Instance gehört, zur Verwendung durch Serverprozesse, die auf der Instance ausgeführt werden. Die JSON-Datei befindet sich am folgenden Speicherort:
  + Bei Windows: `C:\GameMetadata\gamelift-metadata.json`
  + Bei Linux: `/local/gamemetadata/gamelift-metadata.json`
+ **TLS-Zertifikate.** Wenn sich die Instanz auf einer Flotte befindet, für die die Generierung von TLS-Zertifikaten aktiviert ist, suchen Sie am folgenden Speicherort nach Zertifikatsdateien, einschließlich des Zertifikats, der Zertifikatskette, des privaten Schlüssels und des Stammzertifikats:
  + Bei Windows: `c:\\GameMetadata\Certificates`
  + Bei Linux: `/local/gamemetadata/certificates/`

# Connect zu Containern herstellen
<a name="containers-remote-access"></a>

Bei Amazon GameLift Servers Container-Flotten kannst du auf Gameserver-Container zugreifen, die auf einer Flotteninstanz laufen. Verwenden Sie den Container-Zugriff, um Spielsitzungen zu beheben, Protokolle zu überprüfen und Laufzeitprobleme zu debuggen.

## Stellen Sie eine Connect zu einem Container her
<a name="containers-remote-access-connect"></a>

**Bevor Sie beginnen:**  
Connect zur Flotteninstanz her. Detaillierte Anweisungen finden Sie unter [Connect zu Flotteninstanzen herstellen](fleets-remote-access.md).

Führen Sie den folgenden Befehl aus, um die auf der Instance laufenden Container aufzulisten:

```
sudo docker ps
```

In der Ausgabe werden alle Container aufgeführt, die auf der Instance ausgeführt werden, einschließlich Spieleserver-Container und interner Amazon GameLift Servers Container. Suchen Sie nach Containern mit Ihrem Gameserver-Image, um die Gameserver-Container zu identifizieren.

**Beispielausgabe:**

```
CONTAINER ID   IMAGE                  COMMAND                  CREATED      STATUS
b9676e9489f5   game-server-container  "/bin/sh -c ./$GAME_…"   2 days ago   Up 2 days
1d1c8443efe2   support-container      "/bin/sh -c ./$SUPPO…"   2 days ago   Up 2 days
```

Um eine Verbindung zu einem Spieleserver-Container herzustellen, verwende die kurze Container-ID aus der `CONTAINER ID` Spalte. Dadurch erhältst du vollen Lese- und Schreibzugriff auf das Container-Dateisystem.

```
sudo docker exec -it container-short-id sh
```

## Stellen Sie über die Konsole eine Connect zu einem Container her
<a name="containers-remote-access-console"></a>

Mit Amazon EC2 Systems Manager (SSM) können Sie von der Amazon GameLift Servers Konsole aus eine Verbindung zu Spieleserver-Containern herstellen. Diese Methode bietet sicheren Zugriff, ohne dass eine zusätzliche Einrichtung oder Verwaltung der Anmeldeinformationen erforderlich ist. Sie können entweder über die Registerkarte „**Computer“ oder die Registerkarte „**Spielsitzungen****“ auf der Seite mit den Flottendetails eine Verbindung zu einem Container herstellen.

1. Wählen Sie in der Amazon GameLift Servers Konsole im Navigationsbereich **Verwaltete Container** und dann **Flotten** aus.

1. Wählen Sie die Flotten-ID aus, die den Container oder die Spielsitzung enthält, auf die Sie zugreifen möchten.

1. Wähle auf der Seite mit den Flottendetails einen der folgenden Tabs:
   + **Berechnet** — Listet die Container auf, die auf der Flotte laufen. Wählen Sie den Container aus, zu dem Sie eine Verbindung herstellen möchten.
   + **Spielsitzungen** — Listet die Spielsitzungen für die Flotte auf. Wählen Sie die Spielsitzung aus, um eine Verbindung zu dem Container herzustellen, der sie hostet.

1. Wählen Sie **Connect** aus. Kopieren Sie den angezeigten Befehl, um Connect dem Container herzustellen, und wählen Sie dann erneut **Verbinden**.

1. Wählen Sie im Verbindungsdialogfeld die Option **Ausführen** aus, um eine neue SSM-Sitzung zu erstellen. Das System authentifiziert Ihre Sitzung über den AWS Key Management Service (AWS KMS) und öffnet ein Terminal in Ihrem Browser.

1. Sobald Sie eine Verbindung mit der Instance hergestellt haben, fügen Sie den Docker-Befehl aus Schritt 4 ein und führen Sie ihn auf der Instance aus, um auf den Container zuzugreifen.

## Connect zum Container her, der eine Spielsitzung hostet
<a name="containers-remote-access-game-session"></a>

Gehen Sie wie folgt vor, um eine Verbindung zum Gameserver-Container herzustellen, der eine bestimmte Spielsitzung hostet.

1. **Ermitteln Sie den Computernamen.** Rufen Sie [describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html)an, um das `ComputeName` für die Spielsitzung zu erhalten.

   **Anforderung**

   ```
   aws gamelift describe-game-sessions \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --game-session-id arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc
   ```

   **Antwort**

   ```
   {
     "GameSessions": [
       {
         "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc",
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
         "Status": "ACTIVE",
         . . .
       }
     ]
   }
   ```

   Notieren Sie sich den `ComputeName` Wert aus der Antwort (z. B.`62c5ff7f7a9a445d84877074c80aeafc`).

1. **Rufen Sie Rechenzugriff und Containerattribute ab.** Rufen Sie [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)mit der Flotten-ID und dem Compute-Namen an.

   Die Antwort umfasst die folgenden Felder:
   + `ContainerIdentifiers`— Das `ContainerName` und `ContainerRuntimeId` für jeden Container.
   + `GameServerContainerGroupDefinitionArn`— Der ARN der Container-Gruppendefinition.
   + `Credentials`— Temporäre Anmeldeinformationen für die Verbindung mit der Instance.

   **Anforderung**

   ```
   aws gamelift get-compute-access \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --compute-name 62c5ff7f7a9a445d84877074c80aeafc
   ```

   **Antwort**

   ```
   {
     "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
     "ContainerIdentifiers": [
       {
         "ContainerName": "game-server",
         "ContainerRuntimeId": "02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678"
       }
     ],
     "Credentials": {
       "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
       "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
       "SessionToken": "AQoDYXdzEJr...<remainder of session token>"
     },
     "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
     "GameServerContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup"
   }
   ```

1. **Stellen Sie eine Verbindung zur Instance her.** Verwenden Sie die Anmeldeinformationen aus Schritt 2, um eine Verbindung zur Flotteninstanz herzustellen. Detaillierte Anweisungen finden Sie unter [Connect zu Flotteninstanzen herstellen](fleets-remote-access.md).

1. **Suchen Sie den Namen des Spielserver-Containers.** Rufen Sie [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html)mit dem `GameServerContainerGroupDefinitionArn` aus Schritt 2 stammenden Code auf, um den Namen des Gameserver-Containers zu identifizieren.

   **Anforderung**

   ```
   aws gamelift describe-container-group-definition \
       --name arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup
   ```

   **Antwort**

   ```
   {
     "ContainerGroupDefinition": {
       "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3",
       "Name": "MyGameServerGroup",
       "ContainerGroupType": "GAME_SERVER",
       "GameServerContainerDefinition": {
         "ContainerName": "game-server",
         . . .
       },
       . . .
     }
   }
   ```

   Notieren Sie sich den `GameServerContainerDefinition.ContainerName` Wert (zum Beispiel`game-server`).

1. **Identifizieren Sie die Laufzeit-ID des Spielserver-Containers.** Suchen Sie anhand des Namens des Spieleserver-Containers aus dem vorherigen Schritt `ContainerIdentifiers` nach dem passenden Eintrag in der `get-compute-access` Antwort aus Schritt 2. Notieren Sie sich den `ContainerRuntimeId`-Wert.

1. **Connect zum Container her.** Verwenden Sie die `ContainerRuntimeId` als Container-ID und führen Sie den folgenden Befehl aus:

   ```
   sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh
   ```