Tutorial: Richten Sie eine Warteschlange für Spielsitzungen für Spot-Instances ein - Amazon GameLift

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.

Tutorial: Richten Sie eine Warteschlange für Spielsitzungen für Spot-Instances ein

Einführung

In diesem Tutorial wird beschrieben, wie Sie die Platzierung von Spielsitzungen für Spiele einrichten, die auf kostengünstigen Spot-Flotten eingesetzt werden. Spot-Flotten erfordern zusätzliche Schritte, um die kontinuierliche Verfügbarkeit des Spielservers für Ihre Spieler aufrechtzuerhalten.

Zielgruppe

Dieses Tutorial richtet sich an Spieleentwickler, die Spot-Flotten verwenden möchten, um benutzerdefinierte Spieleserver oder Echtzeitserver zu hosten.

Was du lernen wirst
  • Definieren Sie die Gruppe von Spielern, die Ihre Spielesitzungswarteschlange bedient.

  • Baue eine Flotteninfrastruktur auf, die den Umfang der Warteschlange für Spielsitzungen unterstützt.

  • Weisen Sie jeder Flotte einen Alias zu, um die Flotten-ID zu abstrahieren.

  • Erstellen Sie eine Warteschlange, fügen Sie Flotten hinzu und priorisieren Sie, wo Amazon GameLift Spielsitzungen platziert.

  • Füge Latenzrichtlinien für Spieler hinzu, um Latenzprobleme zu minimieren.

Voraussetzungen

Bevor Sie Flotten und Warteschlangen für die Platzierung von Spielsitzungen erstellen, müssen Sie die folgenden Aufgaben erledigen:

Schritt 1: Definieren Sie den Umfang Ihrer Warteschlange

In diesem Tutorial entwerfen wir eine Warteschlange für ein Spiel, das eine Gameserver-Build-Variante hat. Zum Start veröffentlichen wir das Spiel an zwei Orten: Asien-Pazifik (Seoul) und Asien-Pazifik (Singapur). Da diese Standorte nahe beieinander liegen, ist Latenz für unsere Spieler kein Problem.

In diesem Beispiel gibt es ein Spielersegment, was bedeutet, dass wir eine Warteschlange erstellen. In Zukunft, wenn wir das Spiel in Nordamerika veröffentlichen, können wir eine zweite Warteschlange einrichten, die ausschließlich nordamerikanischen Spielern vorbehalten ist.

Weitere Informationen finden Sie unter Definieren Sie den Umfang Ihrer Warteschlange.

Schritt 2: Spot-Flotteninfrastruktur erstellen

Erstelle Flotten an Orten und mit Gameserver-Builds oder -Skripten, die dem von dir definierten Umfang entsprechen. Schritt 1: Definieren Sie den Umfang Ihrer Warteschlange

In diesem Tutorial erstellen wir eine Infrastruktur mit zwei Standorten mit mindestens einer Spot-Flotte und einer On-Demand-Flotte an jedem Standort. Jede Flotte verwendet den gleichen Gameserver-Build. Darüber hinaus gehen wir davon aus, dass der Spielerverkehr am Standort Seoul stärker sein wird, weshalb wir dort mehr Spot-Flotten hinzufügen werden.

Das folgende Diagramm zeigt das Beispiel einer Spot-Flotteninfrastruktur mit 3 Flotten am Standort ap-Northeast-2 (Seoul) und 2 Flotten am Standort ap-Southeast-1 (Singapur). Alle Instanzen in beiden Flotten verwenden den Build MBG_Prod_v1. Die Flotte in ap-northeast-2 enthält die folgenden Flottenkonfigurationen: fleet 1234_spot_1 mit dem Instance-Typ c5.large, fleet 1234_spot_2 mit dem Instance-Typ c5.xlarge und fleet 1234_ondemand mit dem Instance-Typ c5.large. Die Flotte in ap-southeast-1 enthält die folgenden Flottenkonfigurationen: fleet 1234_spot_1 mit dem Instance-Typ c5.large und fleet 1234_ondemand mit dem Instance-Typ c5.large.

Eine Spot-Flotteninfrastruktur mit Standorten im asiatisch-pazifischen Raum (Seoul) und im asiatisch-pazifischen Raum (Singapur) mit einer Mischung aus On-Demand- und Spot-Instances.

Schritt 3: Weisen Sie jeder Flotte Aliase zu

Erstellen Sie einen neuen Alias für jede Flotte in Ihrer Infrastruktur. Aliase abstrakten Flottenidentitäten, sodass ein regelmäßiger Flottenaustausch effizient ist. Weitere Hinweise zum Erstellen von Aliasen finden Sie unterEiner GameLift Amazon-Flotte einen Alias hinzufügen.

Unsere Flotteninfrastruktur hat fünf Flotten, daher erstellen wir mithilfe der Routing-Strategie fünf Aliase. Wir benötigen drei Aliase am Standort Asien-Pazifik (Seoul) und zwei Aliase am Standort Asien-Pazifik (Singapur).

Das folgende Diagramm zeigt die in Schritt zwei beschriebene Spot-Flotteninfrastruktur mit Aliasnamen, die jeder Flotte hinzugefügt wurden. Fleet 1234_spot_1 hat den Alias mbg_Spot_1, Fleet 1234_spot_2 hat den Alias mbg_Spot_2 und fleet 1234_ondemand hat den Alias mbg_OnDemand.

Das in Schritt 2 beschriebene Beispiel einer Spot-Flotteninfrastruktur mit Aliasnamen, die auf jede Flotte verweisen.

Weitere Informationen finden Sie unter Erstellen Sie eine Warteschlange mit mehreren Standorten.

Schritt 4: Erstellen Sie eine Warteschlange mit Zielen

Erstelle die Warteschlange für Spielsitzungen und füge deine Flottenziele hinzu. Weitere Hinweise zum Erstellen einer Warteschlange finden Sie unterErstellen Sie eine Warteschlange für Spielsitzungen.

Wenn du deine Warteschlange erstellst:

  • Stellen Sie das Standard-Timeout auf 10 Minuten ein. Später kannst du testen, wie sich das Warteschlangen-Timeout auf die Wartezeiten deiner Spieler auswirkt, bis sie in die Spiele kommen.

  • Überspringe vorerst den Abschnitt über die Latenzrichtlinien für Spieler. Wir werden dies im nächsten Schritt behandeln.

  • Priorisieren Sie die Flotten in Ihrer Warteschlange. Bei der Arbeit mit Spot-Flotten empfehlen wir einen der folgenden Ansätze:

    • Wenn Ihre Infrastruktur einen primären Standort mit Flotten an einem zweiten Standort als Backup verwendet, priorisieren Sie Flotten zuerst nach Standort und dann nach Flottenart.

    • Wenn Ihre Infrastruktur mehrere Standorte gleichmäßig nutzt, priorisieren Sie Flotten nach Flottentyp und platzieren Sie Spot-Flotten ganz oben in der Warteschlange.

Für dieses Tutorial erstellen wir eine neue Warteschlange mit dem Namen MBG_spot_queue und fügen die Aliase aller fünf unserer Flotten hinzu. Anschließend priorisieren wir die Platzierungen zunächst nach Standort und dann nach Flottenart.

Basierend auf dieser Konfiguration versucht diese Warteschlange immer, neue Spielsitzungen in einer Spot-Flotte in Seoul zu platzieren. Wenn diese Flotten voll sind, nutzt die Warteschlange die verfügbare Kapazität der Seoul On-Demand-Flotte als Backup. Wenn alle drei Flotten in Seoul nicht verfügbar sind, veranstaltet Amazon GameLift Spielsitzungen auf den Flotten von Singapur.

Das folgende Diagramm zeigt eine Warteschlange mit einem Timeout von 300 Sekunden und priorisierten Zielen. Die Ziele sind in der folgenden Reihenfolge: 1234_spot_1 in ap-northeast-2, 1234_spot_2 in ap-northeast-2, 1234_ondemand in ap-northeast-2, 1234_spot_1 in ap-Southeast-1 und 1234_ondemand in ap-Southeast-1.

Ein Beispiel für eine Spot-Warteschlange mit mehreren Spot-Flotten und Backup-On-Demand-Flotten.

Schritt 5: Fügen Sie der Warteschlange Latenzlimits hinzu

Unser Spiel enthält Informationen zur Latenz in Platzierungsanfragen für Spielsitzungen. Wir haben auch eine Funktion für Spielerpartys, die eine Spielsitzung für eine Gruppe von Spielern erstellt. Wir können die Spieler etwas länger warten lassen, bis sie in Spiele mit dem idealen Spielerlebnis einsteigen. Unsere Spieletests zeigen die folgenden Beobachtungen:

  • Eine Latenz unter 50 Millisekunden ist ideal.

  • Das Spiel ist bei Latenzen über 250 Millisekunden nicht spielbar.

  • Die Spieler werden nach etwa einer Minute ungeduldig.

Für unsere Warteschlange mit einem Timeout von 300 Sekunden fügen wir Richtlinienanweisungen hinzu, die die zulässige Latenz einschränken. Die Richtlinienerklärungen ermöglichen schrittweise höhere Latenzwerte von bis zu 250 Millisekunden Latenz.

Mit dieser Richtlinie sucht unsere Warteschlange in der ersten Minute nach Platzierungen mit idealer Latenz (unter 50 Millisekunden) und lockert dann das Limit. Die Warteschlange führt keine Platzierungen durch, bei denen die Latenz der Spieler 250 Millisekunden oder höher beträgt.

Das folgende Diagramm zeigt die Warteschlange aus Schritt vier mit hinzugefügten Latenzrichtlinien für Spieler. Die Richtlinien für die Spielerlatenz besagen, dass das Limit von 50 ms für 60 Sekunden, das Limit von 125 ms für 30 Sekunden und das Limit von 250 ms bis zum Timeout durchgesetzt werden.

Die Beispiel-Warteschlange aus Schritt vier mit hinzugefügten Latenzrichtlinien für Spieler. Die Richtlinien für die Spielerlatenz besagen, dass das Limit von 50 ms für 60 Sekunden, das Limit von 125 ms für 30 Sekunden und das Limit von 250 ms bis zum Timeout durchgesetzt werden.

Übersicht

Herzlichen Glückwunsch! Hier sind die Dinge, die du erreicht hast:

  • Sie haben eine Warteschlange für Spielsitzungen, die auf einen Teil Ihrer Spielerpopulation ausgerichtet ist.

  • Ihre Warteschlange nutzt Spot-Flotten effektiv und ist widerstandsfähig, wenn Spot-Unterbrechungen auftreten.

  • In deiner Warteschlange werden die Flotten priorisiert, um das beste Spielerlebnis zu bieten.

  • Die Warteschlange hat Latenzbeschränkungen, um die Spieler vor schlechten Spielerlebnissen zu schützen.

Ihr könnt jetzt die Warteschlange verwenden, um Spielsitzungen für die Spieler zu veranstalten, denen sie dient. Wenn Sie Anfragen zur Platzierung von Spielsitzungen für diese Spieler stellen, geben Sie in der Anfrage den Namen der Warteschlange für die Spielsitzung an. Weitere Informationen dazu, wie du Platzierungsanfragen für Spielsitzungen stellstSpielsitzungen erstellen, findest du unter oderIntegration eines Game-Clients für Realtime Server.

Die nächsten Schritte: