View a markdown version of this page

Stream-Sitzungen mit Amazon GameLift Streams starten - GameLift Amazon-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

Dieser Abschnitt behandelt Stream-Sitzungen, die eigentliche Instanz eines Streams, bei der ein Endbenutzer oder Spieler mit Ihrer Anwendung interagieren oder Ihr Spiel spielen kann. Du erfährst, wie du deine eigene Stream-Sitzung testest und den Lebenszyklus einer Stream-Sitzung verstehst.

Um Stream-Sitzungen für Endbenutzer zu starten, können Sie Amazon GameLift Streams in Ihre eigene Service- und Client-Anwendung integrieren; weitere Informationen finden Sie unterAmazon GameLift Streams-Backend-Service und Webclient. Sie können auch eine Stream-URL erstellen, die eine Stream-Sitzung in einem unterstützten Webbrowser startet, ohne dass der Endbenutzer über AWS Anmeldeinformationen oder eine Client-Integration verfügen muss; weitere Informationen finden Sie unterTeilen Sie Stream-Sitzungen mit Stream-URLs.

Über Stream-Sitzungen

Die Voraussetzungen für den Start einer Stream-Sitzung sind eine Anwendung im Status Bereit, eine Stream-Gruppe, die über verfügbare Kapazität an dem Ort verfügt, an dem Sie streamen möchten, und die Anwendung, die an den Ort repliziert wurde, an dem Sie streamen möchten. Eine Stream-Sitzung wird auf einer der Rechenressourcen ausgeführt, die eine Stream-Gruppe zugewiesen hat. Wenn Sie einen Stream starten, müssen Sie eine Stream-Gruppe und eine Anwendung angeben, die mithilfe ihrer ARN- oder ID-Werte 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 StartStreamSession in der Amazon GameLift Streams-API-Referenz.

Optional können Sie beim Starten einer Stream-Sitzung einen IAM-Rollen-ARN angeben. Falls angegeben, übernimmt Amazon GameLift Streams die Rolle und Ihre Anwendung erhält automatisch AWS-Anmeldeinformationen. Sie brauchen den Anwendungscode nicht zu ändern. Weitere Informationen finden Sie unter Angeben von AWS-Anmeldeinformationen für Ihre Streaming-Anwendung.

Einen Stream in der Konsole testen

Am direktesten können Sie testen, wie Ihre Anwendung gestreamt wird, über die Amazon GameLift Streams-Konsole. 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-Managementkonsole 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ähle eine Stream-Gruppe aus, die du zum Streamen verwenden möchtest.

    2. Wenn du auf der Seite „Stream-Gruppen“ beginnst, wähle Stream testen aus. Wenn du von der Seite „Stream testen“ aus startest, wähle „Auswä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 ist, kannst du die folgenden Aktionen in deinem Stream ausführen:

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

    2. Damit Dateien, die während der Streaming-Sitzung erstellt wurden, am Ende der Sitzung in einen Amazon S3-Bucket exportiert werden, wählen Sie Dateien exportieren und geben Sie die Bucket-Details an. Exportierte Dateien finden Sie auf der Seite „Sitzungen“.

    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 der Stream getrennt wird, wird die Stream-Kapazität verfügbar, um einen weiteren Stream zu starten.

Anmerkung

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

Lebenszyklus der 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 A 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 und veranlasst entweder den ClientRECONNECTING, sich wieder mit dem Stream zu verbinden, oder erstellt eine neue Stream-Sitzung. Wenn eine Stream-Sitzung bereit ist, damit der Client erneut eine Verbindung herstellen kann, wechselt er zu. ACTIVE Wenn der Client die Verbindung wiederherstellt, 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 angegebenen Zeitraums von keine Verbindung zu einer Stream-Sitzung herstellt, die sich in ACTIVE oder PENDING_CLIENT_RECONNECTION befindetConnectionTimeoutSeconds, wechselt er zuTERMINATED.

  • TerminateStreamSessionleitet das Beenden des Streams ein und die Stream-Sitzung geht in den TERMINATING Status über. Wenn die Stream-Sitzung erfolgreich beendet wird, wechselt sie zu. TERMINATED

  • Eine Stream-Sitzung in einem beliebigen Status, außer inTERMINATED, kann in... übergehenERROR. 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 auch anrufen 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 unterliegen mehreren Timeout-Werten, die verschiedene Aspekte des Sitzungslebenszyklus steuern. In ungefähr chronologischer Reihenfolge, wann Sie während des Lebenszyklus einer Stream-Sitzung typischerweise auf sie stoßen könnten, gehören dazu die folgenden:

Timeout bei der Platzierung

Zeitlimit für Amazon GameLift Streams zur Suche nach Rechenressourcen für das Hosten einer Stream-Sitzung unter Verwendung der verfügbaren Kapazität. 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

  • On-demand Kapazität:

    • 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 mit einem StatusReason vonplacementTimeout.

Verbindungstimeout

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

  • Parameter: in ConnectionTimeoutSeconds StartStreamSession

  • Bereich: 1 - 3600 Sekunden (1 Stunde)

  • Standard: 120 Sekunden (2 Minuten)

  • Verhalten: Der Timer beginnt, wenn die Stream-Sitzung ACTIVE unseren PENDING_CLIENT_RECONNECTION Status erreicht. Wenn vor Ablauf des Timeouts kein Client eine Verbindung herstellt, wechselt die Sitzung Status zuTERMINATED.

Timeout für die Dauer der Sitzung

Maximale Dauer, für die Amazon GameLift Streams eine Stream-Sitzung offen 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 folgende Möglichkeiten:

  • Verwenden Sie die TerminateStreamSession API: Zur Verwendung TerminateStreamSession benötigen Sie die Stream-Gruppen-ID und die Stream-Sitzungs-ID. Du kannst den --status CONNECTED Parameter ListStreamSessions oder ListStreamSessionsByAccount zusammen verwenden, um eine Liste der Stream-Sitzungen abzurufen, mit denen ein Client verbunden ist.

  • Den Standort der Sitzung aus der 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. Du kannst einen Standort in einer Stream-Gruppe aus der Konsole oder mithilfe der RemoveStreamGroupLocations API entfernen.

  • Stream-Gruppe der Sitzung löschen: Durch das Löschen einer Stream-Gruppe werden alle aktiven Stream-Sitzungen an allen Standorten der Stream-Gruppe beendet. Du kannst eine Stream-Gruppe von der Konsole aus oder mithilfe der DeleteStreamGroup API löschen. Gehen Sie vorsichtig vor, da Sie die Client-Verbindungen abrupt beenden werden.

Erneute Verbindung zu einer Stream-Sitzung 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 angegeben 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 CreateStreamSessionConnection in der Amazon GameLift Streams-API-Referenz. Ein Beispiel für die Wiederherstellung der Verbindung zu einer Stream-Sitzung finden Sie im React Starter-Beispiel.

Die Wiederverbindung ist für Stream-Sitzungen, die durch die Aktivierung einer Stream-URL gestartet werden, nicht verfügbar. Da die Verbindung nicht wiederhergestellt wird, wird beim erneuten Öffnen der Stream-URL eine komplett neue Sitzung gestartet, deren Nutzung erneut verbraucht wird. UsageLimit Weitere Informationen finden Sie unter Teilen Sie Stream-Sitzungen mit Stream-URLs.