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.
Füge Amazon GameLift zu deinem Spielclient hinzu
Integrieren Sie Amazon GameLift in Spielkomponenten, die Informationen zu Spielsitzungen benötigen, erstellen Sie neue Spielsitzungen und fügen Sie Spieler zu Spielen hinzu. Abhängig von Ihrer Spielarchitektur ist diese Funktionalität in Backend-Diensten enthalten, die Aufgaben wie Spielerauthentifizierung, Spielersuche oder Platzierung von Spielsitzungen übernehmen.
Anmerkung
Detaillierte Informationen zur Einrichtung von Matchmaking für Ihr von Amazon GameLift gehostetes Spiel finden Sie im Amazon GameLift FlexMatch Developer Guide.
Amazon GameLift auf einem Backend-Service einrichten
Fügen Sie Code hinzu, um einen GameLift Amazon-Client zu initialisieren und wichtige Einstellungen zu speichern. Dieser Code muss vor jedem Code ausgeführt werden, der von Amazon abhängig ist GameLift.
-
Richten Sie eine Client-Konfiguration ein. Verwenden Sie die Standard-Client-Konfiguration oder erstellen Sie ein benutzerdefiniertes Client-Konfigurationsobjekt. Weitere Informationen finden Sie unter AWS::Client::ClientConfiguration
(C++) oder AmazonGameLiftConfig(C#). Eine Client-Konfiguration spezifiziert eine Zielregion und einen Endpunkt, die bei der Kontaktaufnahme mit Amazon verwendet GameLift werden sollen. Die Region gibt die Menge der bereitgestellten Ressourcen (Flotten, Warteschlangen und Matchmaker) an, die verwendet werden sollen. In der Standard-Client-Konfiguration ist der Standort auf die Region USA Ost (Nord-Virginia) festgelegt. Um eine andere Region zu verwenden, erstellen Sie eine benutzerdefinierte Konfiguration.
-
Initialisieren Sie einen GameLift Amazon-Client. Verwenden Sie Aws:GameLift::: GameLiftClient ()
(C++) oder AmazonGameLiftClient() (C#) mit einer Standard-Client-Konfiguration oder einer benutzerdefinierten Client-Konfiguration. -
Fügen Sie einen Mechanismus hinzu, um eine eindeutige Kennung für jeden Spieler zu generieren. Weitere Informationen finden Sie unter Generieren Sie Spieler-IDs.
-
Erfassen und speichern Sie die folgenden Informationen:
-
Zielflotte — Bei vielen GameLift API Amazon-Anfragen muss eine Flotte angegeben werden. Verwenden Sie dazu entweder eine Flotten-ID oder eine Alias-ID, die auf die Zielflotte verweist. Es hat sich bewährt, Flottenaliase zu verwenden, damit Sie Spieler von einer Flotte zur anderen wechseln können, ohne Ihre Backend-Dienste aktualisieren zu müssen.
-
Zielwarteschlange — Geben Sie für Spiele, die Warteschlangen mit mehreren Flotten verwenden, um neue Spielsitzungen zu platzieren, den Namen der Warteschlange an, die verwendet werden soll.
-
AWS Anmeldeinformationen — Bei allen Anrufen bei Amazon GameLift müssen Anmeldeinformationen für den AWS-Konto Hoster des Spiels angegeben werden. Sie erwerben diese Anmeldeinformationen, indem Sie einen Spielerbenutzer erstellen, wie unter beschriebenRichte den programmatischen Zugriff für dein Spiel ein. Gehen Sie je nachdem, wie Sie den Zugriff für den Player-Benutzer verwalten, wie folgt vor:
-
Wenn du eine Rolle zur Verwaltung der Benutzerberechtigungen von Spielern verwendest, füge Code hinzu, um die Rolle zu übernehmen, bevor du Amazon anrufst GameLift API. Die Anfrage zur Übernahme der Rolle gibt einen Satz temporärer Sicherheitsanmeldedaten zurück. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Zu einer IAM Rolle wechseln (AWS API).
-
Wenn Sie über langfristige Sicherheitsanmeldedaten verfügen, konfigurieren Sie Ihren Code so, dass gespeicherte Anmeldeinformationen gefunden und verwendet werden. Weitere Informationen finden Sie unter Authentifizieren mit langfristigen Anmeldeinformationen im AWS SDKsReferenzhandbuch zu Tools. Informationen zum Speichern von Anmeldeinformationen finden Sie in den AWS API Verweisen für (C++)
und (. NET). -
Wenn Sie über temporäre Sicherheitsanmeldedaten verfügen, fügen Sie Code hinzu, um die Anmeldeinformationen regelmäßig mit AWS Security Token Service (AWS STS) zu aktualisieren, wie unter Verwenden temporärer Sicherheitsanmeldedaten mit dem AWS SDKs im IAMBenutzerhandbuch beschrieben. Der Code muss neue Anmeldeinformationen anfordern, bevor die alten ablaufen.
-
-
Holen Sie sich Spielesitzungen
Füge Code hinzu, um verfügbare Spielsitzungen zu entdecken und die Einstellungen und Metadaten der Spielsitzungen zu verwalten.
Suche nach aktiven Spielsitzungen
SearchGameSessionsDient zum Abrufen von Informationen zu einer bestimmten Spielsitzung, zu allen aktiven Sitzungen oder zu Sitzungen, die einer Reihe von Suchkriterien entsprechen. Dieser Aufruf gibt für jede aktive Spielsitzung ein GameSessionObjekt zurück, das Ihrer Suchanfrage entspricht.
Verwenden Sie Suchkriterien, um eine gefilterte Liste aktiver Spielsitzungen abzurufen, an denen Spieler teilnehmen können. Beispielsweise können Sie Sitzungen wie folgt filtern:
-
Ausgeschlossen sind Spielsitzungen, die voll sind:
CurrentPlayerSessionCount = MaximumPlayerSessionCount
. -
Wählen Sie Spielsitzungen basierend auf der Dauer der Sitzung aus: Auswerten
CreationTime
. -
Finden Sie Spielsitzungen, die auf einer benutzerdefinierten Spieleigenschaft basieren:
gameSessionProperties.gameMode = "brawl"
.
Spielsitzungen verwalten
Verwenden Sie eine der folgenden Operationen, um Informationen zu Spielsitzungen abzurufen oder zu aktualisieren.
-
DescribeGameSessionDetails() — Ruft zusätzlich zu den Informationen zur Spielsitzung den Schutzstatus einer Spielsitzung ab.
-
UpdateGameSession() — Ändern Sie die Metadaten und Einstellungen einer Spielsitzung nach Bedarf.
-
GetGameSessionLogUrl— Greifen Sie auf gespeicherte Spielsitzungsprotokolle zu.
Spielsitzungen erstellen
Fügen Sie Code zum Starten neuer Spielsitzungen auf den von Ihnen bereitgestellten Flotten hinzu und stellen Sie diese Spielern zur Verfügung. Es gibt zwei Möglichkeiten, Spielsitzungen zu erstellen, je nachdem, ob du dein Spiel in mehreren AWS-Regionen oder in einer einzigen Region bereitstellst.
Erstelle eine Spielsitzung in einer Warteschlange mit mehreren Standorten
Wird verwendet StartGameSessionPlacement, um eine Anfrage für eine neue Spielsitzung in eine Warteschlange zu stellen. Um diesen Vorgang zu verwenden, erstellen Sie eine Warteschlange. Dies bestimmt, wo Amazon die neue Spielsitzung GameLift platziert. Weitere Informationen zu Warteschlangen und deren Verwendung finden Sie unterVerwaltung der Platzierung von Spielsitzungen mit GameLift Amazon-Warteschlangen.
Wenn Sie eine Platzierung für Spielsitzungen erstellen, geben Sie den Namen der zu verwendenden Warteschlange, einen Namen für die Spielsitzung, eine maximale Anzahl gleichzeitiger Spieler und einen optionalen Satz von Spieleigenschaften an. Sie können optional auch eine Liste von Spielern angeben, die automatisch an der Spielsitzung teilnehmen sollen. Wenn Sie Daten zur Spielerlatenz für relevante Regionen angeben, GameLift verwendet Amazon diese Informationen, um die neue Spielsitzung auf einer Flotte zu platzieren, die den Spielern das ideale Spielerlebnis bietet.
Die Platzierung von Spielsitzungen ist ein asynchroner Prozess. Nachdem Sie eine Anfrage gestellt haben, können Sie sie erfolgreich ausführen lassen oder eine Zeitüberschreitung einleiten. Sie können die Anfrage auch jederzeit stornieren, indem Sie StopGameSessionPlacement. Rufen Sie an, um den Status Ihrer Platzierungsanfrage zu überprüfen DescribeGameSessionPlacement.
Erstelle eine Spielsitzung auf einer bestimmten Flotte
Wird verwendet CreateGameSession, um eine neue Sitzung auf einer bestimmten Flotte zu erstellen. Diese synchrone Operation gelingt oder schlägt fehl, abhängig davon, ob die Flotte über Ressourcen für das Hosten einer neuen Spielsitzung verfügt. Nachdem Amazon die neue Spielsitzung GameLift erstellt und ein GameSessionObjekt zurückgegeben hat, können Sie Spieler zu ihr hinzufügen.
Wenn Sie diesen Vorgang verwenden, geben Sie eine Flotten- oder Alias-ID, einen Sitzungsnamen und die maximale Anzahl gleichzeitiger Spieler für das Spiel an. Optional können Sie eine Gruppe von Spieleigenschaften einschließen. Spieleigenschaften werden in einer Reihe von Schlüssel-Wert-Paaren definiert.
Wenn Sie die Amazon GameLift Resource Protection-Funktion verwenden, um die Anzahl der Spielsitzungen zu begrenzen, die ein Spieler erstellen kann, geben Sie die Spieler-ID des Erstellers der Spielsitzung an.
Nehmen Sie an einer Spielsitzung teil
Füge Code hinzu, um einen Spielerplatz in einer aktiven Spielsitzung zu reservieren und Spielclients mit Spielsitzungen zu verbinden.
-
Reservieren Sie einen Spielerplatz in einer Spielsitzung
Um einen Spielerplatz zu reservieren, erstellen Sie eine neue Spielersitzung für die Spielsitzung. Weitere Informationen zu Spielersitzungen finden Sie unterSo verbinden sich Spieler mit Spielen.
Es gibt zwei Möglichkeiten, neue Spielersitzungen zu erstellen:
-
StartGameSessionPlacementDient zum Reservieren von Slots für einen oder mehrere Spieler in der neuen Spielsitzung.
-
Reservieren Sie Spielerplätze für einen oder mehrere Spieler, die eine Spielsitzungs-ID verwenden CreatePlayerSessionoder CreatePlayerSessionsmit einer Spielsitzungs-ID haben.
Amazon überprüft GameLift zunächst, ob die Spielsitzung neue Spieler akzeptiert und ob Spielerplätze verfügbar sind. Bei Erfolg GameLift reserviert Amazon einen Slot für den Spieler, erstellt die neue Spielersitzung und gibt ein PlayerSessionObjekt zurück. Dieses Objekt enthält den DNS Namen, die IP-Adresse und den Port, die ein Spielclient benötigt, um eine Verbindung zur Spielsitzung herzustellen.
Eine Spielersitzungsanfrage muss eine eindeutige ID für jeden Spieler enthalten. Weitere Informationen finden Sie unter Generieren Sie Spieler-IDs.
Eine Spielersitzung kann eine Reihe von benutzerdefinierten Spielerdaten enthalten. Diese Daten werden im neu erstellten Spielersitzungsobjekt gespeichert, das Sie durch Aufrufen von DescribePlayerSessions() abrufen können. Amazon übergibt dieses Objekt GameLift auch an den Spieleserver, wenn der Spieler eine direkte Verbindung zur Spielsitzung herstellt. Wenn Sie Sitzungen mit mehreren Spielern anfordern, geben Sie für jeden Spieler eine Reihe von Spielerdaten an, die der Spieler-ID in der Anfrage zugeordnet sind.
-
-
Mit einer Spielsitzung verbinden
Fügen Sie dem Spiele-Client Code hinzu, um das
PlayerSession
-Objekt abzurufen, das die Verbindungsinformationen der Spielsitzung enthält. Verwenden Sie diese Informationen, um eine direkte Verbindung zum Server herzustellen.-
Sie können über den angegebenen Port und den DNS Namen oder die IP-Adresse, die dem Serverprozess zugewiesen wurde, eine Verbindung herstellen.
-
Wenn für Ihre Flotten die TLS Zertifikatsgenerierung aktiviert ist, stellen Sie die Verbindung über den DNS Namen und den Port her.
-
Wenn dein Spieleserver eingehende Spielerverbindungen validiert, gib die Sitzungs-ID des Spielers an.
Nach dem Herstellen der Verbindung kommunizieren der Spielclient und der Serverprozess direkt, ohne Amazon einzubeziehen GameLift. Der Server unterhält die Kommunikation mit Amazon GameLift, um den Verbindungsstatus der Spieler, den Gesundheitsstatus und mehr zu melden. Wenn der Spieleserver eingehende Spieler bestätigt, überprüft er, ob die Sitzungs-ID des Spielers mit einem reservierten Slot in der Spielsitzung übereinstimmt, und akzeptiert oder verweigert die Spielerverbindung. Wenn der Spieler die Verbindung trennt, meldet der Serverprozess den Verbindungsabbruch.
-
Verwenden Sie die Eigenschaften der Spielsitzung
Ihr Spielclient kann mithilfe einer Spieleigenschaft Daten an eine Spielsitzung weitergeben. Spieleigenschaften sind Schlüssel-Wert-Paare, die dein Spieleserver hinzufügen, lesen, auflisten und ändern kann. Sie können eine Spieleigenschaft beim Erstellen einer neuen Spielsitzung oder später, wenn die Spielsitzung aktiv ist, weitergeben. Eine Spielsitzung kann bis zu 16 Spieleigenschaften enthalten. Spieleigenschaften können nicht gelöscht werden.
Ihr Spiel bietet beispielsweise die folgenden Schwierigkeitsstufen: Novice
Easy
,Intermediate
, undExpert
. Ein Spieler wählt Easy
und beginnt dann das Spiel. Ihr Spielclient fordert eine neue Spielsitzung von Amazon an, GameLift indem Sie entweder StartGameSessionPlacement
oder, CreateGameSession
wie in den vorherigen Abschnitten beschrieben, verwenden. In der Anfrage übergibt der Client Folgendes:{"Key": "Difficulty", "Value":"Easy"}
.
Als Antwort auf die Anfrage GameLift erstellt Amazon ein GameSession
Objekt, das die angegebene Spieleigenschaft enthält. Amazon weist GameLift dann einen verfügbaren Spieleserver an, die neue Spielsitzung zu starten, und übergibt das GameSession
Objekt. Der Spieleserver startet eine Spielsitzung mit einem Difficulty
vonEasy
.