Stream-Sitzungen mit Amazon GameLift Streams starten - Amazon GameLift Streams

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.

Stream-Sitzungen mit Amazon GameLift Streams starten

In diesem Abschnitt werden Stream-Sessions behandelt, also die eigentliche Instanz eines Streams, bei denen ein Endbenutzer oder Spieler mit Ihrer Anwendung interagieren oder Ihr Spiel spielen kann. Sie erfahren, wie Sie Ihre eigene Stream-Sitzung testen und den Lebenszyklus einer Stream-Sitzung verstehen.

Um Stream-Sitzungen für Endbenutzer zu starten, müssen Sie Amazon GameLift Streams in Ihren eigenen Service integrieren. Weitere Informationen finden Sie unter Backend-Service und Webclient von Amazon GameLift Streams.

Über Stream-Sitzungen

Die Voraussetzungen für den Start einer Stream-Sitzung sind eine Anwendung und eine Stream-Gruppe mit verfügbarer aktiver Kapazität. Eine Stream-Sitzung wird auf einer der Rechenressourcen oder Stream-Kapazität ausgeführt, die eine Stream-Gruppe zugewiesen hat. Wenn Sie einen Stream starten, müssen Sie eine Stream-Gruppe und eine Anwendung angeben, die mit ihren ARN- oder ID-Werten gestreamt werden soll.

Wenn Sie eine Stream-Sitzung erfolgreich starten, erhalten Sie eine eindeutige Kennung für diese Stream-Sitzung. Anschließend verwenden Sie diese ID, um die Stream-Sitzung mit einem Endbenutzer zu verbinden. Weitere Informationen finden Sie StartStreamSessionin der Amazon GameLift Streams-API-Referenz.

Einen Stream in der Konsole testen

Am direktesten können Sie über die Amazon Streams-Konsole testen, wie Ihre Anwendung GameLift streamt. Wenn Sie einen Stream starten, verwendet Amazon GameLift Streams eine der Rechenressourcen, die Ihre Stream-Gruppe zuweist. Sie müssen also über verfügbare Kapazität in Ihrer Stream-Gruppe verfügen.

Um Ihren Stream in der Amazon GameLift Streams-Konsole zu testen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon GameLift Streams-Konsole.

  2. Sie können einen Stream auf verschiedene Arten testen. Beginne auf der Seite Stream-Gruppen oder Stream testen und folge diesen Schritten:

    1. Wählen Sie eine Stream-Gruppe aus, die Sie zum Streamen verwenden möchten.

    2. Wenn du auf der Seite Stream-Gruppen startest, wähle Stream testen. Wenn du auf der Seite „Stream testen“ startest, wähle Wählen aus. Dadurch wird die Seite „Stream-Konfiguration testen“ für die ausgewählte Stream-Gruppe geöffnet.

    3. Wählen Sie unter Verknüpfte Anwendungen eine Anwendung aus.

    4. Wählen Sie unter Standort einen Standort mit verfügbarer Kapazität aus.

    5. (Optional) Geben Sie unter Programmkonfigurationen Befehlszeilenargumente oder Umgebungsvariablen ein, die beim Start an die Anwendung übergeben werden sollen.

    6. Bestätigen Sie Ihre Auswahl und wählen Sie Stream testen aus.

  3. Nachdem dein Stream geladen wurde, kannst du die folgenden Aktionen in deinem Stream ausführen:

    1. Um Eingaben wie Maus, Tastatur und Gamepad zu verbinden (mit Ausnahme von Mikrofonen, die im Teststream nicht unterstützt werden), wähle Eingabe anhängen. Du verbindest deine Maus automatisch, wenn du den Cursor in das Stream-Fenster bewegst.

    2. Um Dateien, die während der Streaming-Sitzung erstellt wurden, am Ende der Sitzung in einen Amazon S3 S3-Bucket exportieren zu lassen, wählen Sie Dateien exportieren und geben Sie die Bucket-Details an. Exportierte Dateien finden Sie auf der Seite Sessions.

    3. Um den Stream im Vollbildmodus anzusehen, wählen Sie Vollbild. Drücken Sie Esc, um diese Aktion rückgängig zu machen.

  4. Um den Stream zu beenden, wählen Sie Sitzung beenden. Wenn die Verbindung zum Stream unterbrochen wird, steht die Stream-Kapazität zum Starten eines weiteren Streams zur Verfügung.

Anmerkung

Die Funktion Stream testen in der Amazon GameLift Streams-Konsole unterstützt keine Mikrofone.

Lebenszyklus einer Stream-Sitzung

Wenn Sie mit Stream-Sitzungen in Amazon GameLift Streams arbeiten, kann Ihnen dieses Diagramm helfen, die verschiedenen Zustände zu verstehen, in die eine Stream-Sitzung während ihres gesamten Lebenszyklus übergeht.

  • StartStreamSessionerstellt eine neue Stream-Sitzung, die im ACTIVATING Status beginnt. Wenn Amazon GameLift Streams verfügbare Ressourcen zum Hosten des Streams findet, wechselt die Stream-Sitzung zuACTIVE. Wenn ein Client eine Verbindung zum aktiven Stream herstellt, wechselt die Stream-Sitzung zuCONNECTED.

  • Wenn ein Client die Verbindung zu einem Stream trennt, geht die Stream-Sitzung in den PENDING_CLIENT_RECONNECTION Status über. CreateStreamSessionConnectionwechselt die Stream-Sitzung in den Stream und veranlasst entweder den ClientRECONNECTING, erneut eine Verbindung zum Stream herzustellen, oder erstellt eine neue Stream-Sitzung. Wenn eine Stream-Sitzung bereit ist, damit der Client wieder eine Verbindung herstellen kann, wechselt sie zu. ACTIVE Wenn der Client wieder eine Verbindung herstellt, wechselt er zurück zu. CONNECTED Wenn die Verbindung zu einem Client länger als unterbrochen wirdConnectionTimeoutSeconds, endet die Stream-Sitzung.

  • Wenn ein Client innerhalb des von angegebenen Zeitraums keine Verbindung zu einer Stream-Sitzung in ACTIVE oder PENDING_CLIENT_RECONNECTION Status herstelltConnectionTimeoutSeconds, wechselt er zuTERMINATED.

  • TerminateStreamSessionleitet die Beendigung des Streams ein und die Stream-Sitzung wechselt in den TERMINATING Status. Wenn die Stream-Sitzung erfolgreich beendet wurde, wechselt sie zu. TERMINATED

  • Eine Stream-Sitzung in einem beliebigen Zustand, außerTERMINATED, kann zu ERROR wechseln. Wenn ein API-Aufruf ERROR als Statuswert zurückgegeben wird, überprüfen Sie den Wert von, StatusReason um eine kurze Beschreibung der Fehlerursache zu erhalten. Sie können diese Werte auch aufrufen GetStreamSession, um diese Werte zu überprüfen.

Dieses Diagramm zeigt die verschiedenen Zustände, in die eine Stream-Sitzung während ihres gesamten Lebenszyklus übergeht.

Timeout-Werte, die sich auf Stream-Sitzungen auswirken

Stream-Sitzungen werden durch mehrere Timeout-Werte gesteuert, die verschiedene Aspekte des Sitzungslebenszyklus steuern. In etwa chronologischer Reihenfolge, in der sie normalerweise während des Lebenszyklus einer Stream-Sitzung auftreten können, beinhalten sie Folgendes:

Timeout bei der Platzierung

Zeitlimit für Amazon GameLift Streams, um Rechenressourcen für das Hosten einer Stream-Sitzung mit verfügbarer Kapazität zu finden. Das Zeitlimit für die Platzierung hängt vom Kapazitätstyp ab, der zur Erfüllung Ihrer Stream-Anfrage verwendet wurde:

  • Always-On-Kapazität: 75 Sekunden

  • Kapazität auf Abruf:

    • Linux/Proton-Laufzeiten: 90 Sekunden

    • Windows-Laufzeit: 10 Minuten

  • Verhalten: Wenn Amazon GameLift Streams innerhalb dieser Zeit keine verfügbaren Ressourcen identifizieren kann, Status wechselt die Stream-Sitzung zu ERROR einem StatusReason vonplacementTimeout.

Verbindungstimeout

Zeitspanne, in der Amazon GameLift Streams darauf wartet, dass ein Client eine Verbindung zu einer Stream-Sitzung herstellt oder erneut eine Verbindung herstellt.

  • Parameter: in ConnectionTimeoutSeconds StartStreamSession

  • Bereich: 1 - 3600 Sekunden (1 Stunde)

  • Standard: 120 Sekunden (2 Minuten)

  • Verhalten: Der Timer startet, wenn die Stream-Sitzung den PENDING_CLIENT_RECONNECTION Status ACTIVE Or erreicht. Wenn vor dem Timeout kein Client eine Verbindung herstellt, wechselt die Sitzung Status zuTERMINATED.

Timeout bei Leerlauf

Zeitraum, in dem eine Stream-Sitzung ohne Benutzereingabe inaktiv sein kann.

  • Parameter: (intern)

  • Wert: 60 Minuten

  • Verhalten: Wenn während dieser Zeit keine Benutzereingaben eingehen, beendet Amazon GameLift Streams die Stream-Sitzung.

Timeout für die Dauer der Sitzung

Maximale Dauer, für die Amazon GameLift Streams eine Stream-Sitzung geöffnet hält.

  • Parameter: SessionLengthSeconds in StartStreamSession

  • Bereich: 1 — 86400 Sekunden (24 Stunden)

  • Standard: 43200 Sekunden (12 Stunden)

  • Verhalten: Beendet die Stream-Sitzung unabhängig von einer bestehenden Client-Verbindung, wenn das Zeitlimit erreicht ist.

Beenden einer Stream-Sitzung

Wenn Sie das Beenden einer Stream-Sitzung erzwingen müssen, haben Sie die folgenden Optionen:

  • Verwenden Sie die TerminateStreamSession API: Zur Verwendung TerminateStreamSessionbenötigen Sie die Stream-Gruppen-ID und die Stream-Sitzungs-ID. Sie können ListStreamSessionsoder ListStreamSessionsByAccountmit dem --status CONNECTED Parameter verwenden, um eine Liste der Stream-Sitzungen abzurufen, mit denen ein Client verbunden ist.

  • Den Standort der Sitzung aus ihrer Stream-Gruppe entfernen: Wenn Sie den Standort aus der Stream-Gruppe entfernen, in der die Sitzung gestreamt wird, werden alle aktiven Stream-Sitzungen an diesem Standort beendet. Sie können einen Standort in einer Stream-Gruppe von der Konsole oder mithilfe der RemoveStreamGroupLocationsAPI entfernen.

  • Löschen Sie die Stream-Gruppe der Sitzung: Durch das Löschen einer Stream-Gruppe werden alle aktiven Stream-Sitzungen an allen Standorten der Stream-Gruppe beendet. Sie können eine Stream-Gruppe über die Konsole oder mithilfe der DeleteStreamGroupAPI löschen. Gehen Sie vorsichtig vor, da Sie dadurch die Client-Verbindungen abrupt beenden werden.

Verbindung zu einer Stream-Sitzung erneut herstellen

Wenn ein Client von einer Stream-Sitzung getrennt wird, ohne die Sitzung zu beenden, kann er innerhalb der Zeit, die ConnectionTimeoutSeconds beim Start der Stream-Sitzung festgelegt wurde, wieder eine Verbindung zur Sitzung herstellen. Um die Verbindung zu einer Sitzung wiederherzustellen, benötigen Sie die ID der Stream-Sitzung. Einzelheiten finden Sie CreateStreamSessionConnectionin der Amazon GameLift Streams-API-Referenz. Ein Beispiel für die erneute Verbindung zu einer Stream-Sitzung finden Sie im React Starter-Beispiel.