GameLift Amazon-Server SDK 3.x für Unreal Engine - 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.

GameLift Amazon-Server SDK 3.x für Unreal Engine

Sie können diese Amazon GameLift Unreal Engine Server SDK 3.x-Referenz verwenden, um Ihr Multiplayer-Spiel für die Verwendung mit Amazon vorzubereiten. GameLift Einzelheiten zum Integrationsprozess finden Sie unter. Füge Amazon GameLift zu deinem Spieleserver hinzu

GameLift Amazon-Server SDK für Unreal Engine: Aktionen

Diese Amazon GameLift SDK Server-Referenz kann Ihnen helfen, Ihre Unreal Engine-Spieleprojekte für die Verwendung mit Amazon GameLift vorzubereiten. Weitere Informationen zu dem Integrationsprozess finden Sie unter Füge Amazon GameLift zu deinem Spieleserver hinzu.

Dies API ist in GameLiftServerSDK.h und GameLiftServerSDKModels.h definiert.

So richten Sie das Unreal Engine-Plug-in ein und zeigen Codebeispiele an Integrieren Sie Amazon GameLift in ein Unreal Engine-Projekt:

AcceptPlayerSession()

Informiert den GameLift Amazon-Service darüber, dass ein Spieler mit der angegebenen Spielersitzungs-ID eine Verbindung zum Serverprozess hergestellt hat und eine Bestätigung benötigt. Amazon GameLift überprüft, ob die Spielersitzungs-ID gültig ist, d. h. ob die Spieler-ID einen Spielerplatz in der Spielsitzung reserviert hat. Nach der Bestätigung GameLift ändert Amazon den Status des Spieler-Slots von RESERVED zuACTIVE.

Syntax

FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)

Parameter

playerSessionId

Eindeutige ID, die vom GameLift Amazon-Service als Antwort auf einen Aufruf zur AWS SDK GameLift API Amazon-Aktion ausgestellt wurde CreatePlayerSession. Der Spielclient verweist auf diese ID, wenn er eine Verbindung zum Serverprozess herstellt.

Typ: FString

Erforderlich: Ja

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

ActivateGameSession()

Informiert den GameLift Amazon-Dienst, dass der Serverprozess eine Spielsitzung aktiviert hat und nun bereit ist, Spielerverbindungen zu empfangen. Diese Aktion muss im Rahmen der onStartGameSession()-Callback-Funktion aufgerufen werden, nachdem die Initialisierung der Spielsitzung vollständig abgeschlossen ist.

Syntax

FGameLiftGenericOutcome ActivateGameSession()

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

DescribePlayerSessions()

Ruft Sitzungsdaten der Spieler, einschließlich Einstellungen, Metadaten zu der Sitzung und Spielerdaten ab. Verwenden Sie diese Aktion, um für eine einzelne Spielersitzung, für alle Spielersitzungen in einer Spielsitzung oder für alle Spielersitzungen zu einer einzelnen Spieler-ID abzurufen.

Syntax

FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)

Parameter

describePlayerSessionsAnfrage

Ein FDescribePlayerSessionsRequest-Objekt, mit dem beschrieben wird, welche Spielersitzungen abgerufen werden sollen.

Erforderlich: Ja

Rückgabewert

Wenn sie erfolgreich ausgeführt wird, gibt die Funktion ein FDescribePlayerSessionsRequest-Objekt mit einer Menge von Spielersitzungsobjekten zurück, die den Anforderungsparametern entsprechen. Spielersitzungsobjekte haben eine Struktur, die mit dem AWS SDK GameLift API PlayerSessionAmazon-Datentyp identisch ist.

GetGameSessionId()

Ruft die ID der Spielsitzung ab, die derzeit von dem Serverprozess gehostet wird, wenn der Serverprozess aktiv ist.

Syntax

FGameLiftStringOutcome GetGameSessionId()

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

War der Aufruf erfolgreich, gibt die Funktion die Spielsitzungs-ID als FGameLiftStringOutcome-Objekt zurück. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

GetInstanceCertificate()

Ruft den Dateispeicherort eines PEM-codierten TLS Zertifikats ab, das der Flotte und ihren Instances zugeordnet ist. AWS Certificate Manager generiert dieses Zertifikat, wenn Sie eine neue Flotte erstellen, bei der die Zertifikatskonfiguration auf eingestellt ist. GENERATED Verwenden Sie dieses Zertifikat, um eine sichere Verbindung mit einem Spiele-Client herzustellen und die Client-/Serverkommunikation zu verschlüsseln.

Syntax

FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

Bei Erfolg wird ein GetInstanceCertificateOutcome Objekt zurückgegeben, das den Speicherort der TLS Zertifikatsdatei und der Zertifikatskette der Flotte enthält, die auf der Instanz gespeichert sind. Eine Stammzertifikatsdatei, die aus der Zertifikatskette extrahiert wurde, wird ebenfalls auf der Instanz gespeichert. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

Weitere Informationen zu den Daten des Zertifikats und der Zertifikatskette finden Sie unter GetCertificate Response Elements in der AWS Certificate Manager API Referenz.

GetSdkVersion()

Gibt die aktuelle Versionsnummer des in den Server SDK integrierten Prozesses zurück.

Syntax

FGameLiftStringOutcome GetSdkVersion();

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

Gibt bei Erfolg die aktuelle SDK Version als FGameLiftStringOutcome Objekt zurück. Die zurückgegebene Zeichenfolge enthält nur die Versionsnummer (z. B. „3.1.5"). Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

Beispiel

Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();

Init SDK ()

Initialisiert den Amazon. GameLift SDK Diese Methode sollte beim Start aufgerufen werden, bevor eine andere GameLift Amazon-bezogene Initialisierung erfolgt.

Syntax

FGameLiftGenericOutcome InitSDK()

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

ProcessEnding()

Informiert den GameLift Amazon-Service, dass der Serverprozess heruntergefahren wird. Diese Methode sollte aufgerufen werden, nachdem alle anderen Aufgaben ausgeführt sind, und insbesondere auch alle aktiven Spielsitzungen beendet sind. Diese Methode sollte mit einem Beendigungscode 0 beendet werden. Andere Beendigungscodes sorgen für eine Ereignisnachricht zum unsauberen Beenden des Prozesses.

Syntax

FGameLiftGenericOutcome ProcessEnding()

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

ProcessReady()

Informiert den GameLift Amazon-Service, dass der Serverprozess bereit ist, Spielsitzungen zu hosten. Rufen Sie diese Methode auf, nachdem Sie die Einrichtungsaufgaben, die erforderlich sind, bevor der Serverprozess eine Spielsitzung veranstalten kann, erfolgreich aufgerufen Init SDK () und abgeschlossen haben. Diese Methode sollte nur einmal pro Prozess aufgerufen werden.

Syntax

FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)

Parameter

FProcessParameters

Ein FProcessParameters-Objekt, das die folgenden Informationen über den Serverprozess mitteilt:

  • Namen der im Spielservercode implementierten Callback-Methoden, die der GameLift Amazon-Service aufruft, um mit dem Serverprozess zu kommunizieren.

  • Die Portnummer, auf der der Serverprozess horcht.

  • Pfad zu allen spielsitzungsspezifischen Dateien, die Amazon erfassen und GameLift speichern soll.

Erforderlich: Ja

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

Beispiel

Vgl. den Beispielcode in Verwendung des Unreal Engine-Plug-ins.

RemovePlayerSession()

Informiert den GameLift Amazon-Service, dass ein Spieler mit der angegebenen Spielersitzungs-ID die Verbindung zum Serverprozess getrennt hat. Als Reaktion darauf GameLift ändert Amazon den Spielerplatz auf verfügbar, sodass er einem neuen Spieler zugewiesen werden kann.

Syntax

FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)

Parameter

playerSessionId

Eindeutige ID, die vom GameLift Amazon-Service als Antwort auf einen Aufruf zur AWS SDK GameLift API Amazon-Aktion ausgestellt wurde CreatePlayerSession. Der Spielclient verweist auf diese ID, wenn er eine Verbindung zum Serverprozess herstellt.

Typ: FString

Erforderlich: Ja

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

StartMatchBackfill()

Sendet eine Anfrage, um neue Spieler für offene Slots in einer Spielsitzung zu finden, die mit erstellt wurde FlexMatch. Siehe auch die AWS SDK Aktion StartMatchBackfill(). Mit dieser Aktion können Match-Backfill-Anforderungen von einem Game-Server-Prozess initiiert werden, der die Spielsitzung hostet. Erfahren Sie mehr über die FlexMatch Backfill-Funktion.

Diese Aktion ist asynchron. Wenn neue Spieler erfolgreich gematcht werden, liefert der GameLift Amazon-Service mithilfe der Callback-Funktion aktualisierte Matchmaker-Daten. OnUpdateGameSession()

Ein Serverprozess kann immer nur eine aktive Match-Backfill-Anforderung haben. Um eine neue Anforderung zu senden, rufen Sie zuerst StopMatchBackfill() auf, um die ursprüngliche Anforderung abzubrechen.

Syntax

FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);

Parameter

FStartMatchBackfillRequest

Ein FStartMatchBackfillRequest-Objekt, das die folgenden Informationen übermittelt:

  • Eine Ticket-ID für die Zuordnung zur Backfill-Anforderung. Diese Informationen sind optional. Wenn keine ID angegeben GameLift wird, generiert Amazon automatisch eine.

  • Der Matchmaker, an den die Anfrage gesendet werden soll. Die vollständige Konfiguration ARN ist erforderlich. Dieser Wert kann aus den Matchmaker-Daten der Spielsitzung abgerufen werden.

  • Die ID der Spielsitzung für das Backfill.

  • Verfügbare Matchmaking-Daten für die aktuellen Spieler der Spielsitzung.

Erforderlich: Ja

Rückgabewert

Wenn erfolgreich, wird das Match-Backfill-Ticket als FGameLiftStringOutcome-Objekt zurückgegeben. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben. Der Ticketstatus kann mit der AWS SDK Aktion DescribeMatchmaking() verfolgt werden.

StopMatchBackfill()

Bricht eine aktive mit dem Befehl StartMatchBackfill() erstellte Match-Backfill-Anforderung ab. Siehe auch die AWS SDK Aktion StopMatchmaking(). Erfahren Sie mehr über die FlexMatch Backfill-Funktion.

Syntax

FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);

Parameter

StopMatchBackfillRequest

Ein FStopMatchBackfillRequest-Objekt, das das abzubrechende Matchmaking-Ticket identifiziert:

  • Ticket-ID der abzubrechenden Backfill-Anforderung

  • Matchmaker, an den die Backfill-Anforderung gesendet wurde

  • Spielsitzung für die Backfill-Anforderung

Erforderlich: Ja

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

TerminateGameSession()

Diese Methode ist mit Version 4.0.1 veraltet. Stattdessen sollte der Serverprozess ProcessEnding() nach dem Ende einer Spielsitzung aufgerufen werden.

Informiert den GameLift Amazon-Service, dass der Serverprozess die aktuelle Spielsitzung beendet hat. Diese Aktion wird aufgerufen, wenn der Serverprozess aktiv bleibt und bereit ist, eine neue Spielsitzung zu veranstalten. Er sollte erst aufgerufen werden, nachdem der Vorgang zum Beenden der Spielsitzung abgeschlossen ist, da er Amazon signalisiert GameLift , dass der Serverprozess sofort für das Hosten einer neuen Spielsitzung verfügbar ist.

Diese Aktion wird nicht aufgerufen, wenn der Serverprozess nach dem Ende der Spielsitzung heruntergefahren wird. Rufen Sie stattdessen auf, ProcessEnding() um zu signalisieren, dass sowohl die Spielsitzung als auch der Serverprozess beendet werden.

Syntax

FGameLiftGenericOutcome TerminateGameSession()

Parameter

Diese Aktion hat keine Parameter.

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.

UpdatePlayerSessionCreationPolicy()

Aktualisiert die Kapazität der aktuellen Spielsitzung zur Aufnahme neuer Spielersitzungen. Eine Spielsitzung kann so eingerichtet werden, dass Sie alle neuen Spieler-Sitzungen akzeptiert oder ablehnt. (Siehe auch die UpdateGameSession()Aktion in der Amazon GameLift Service API Reference).

Syntax

FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)

Parameter

Richtlinie

Wert, der angibt, ob die Spielsitzung neue Spieler akzeptiert.

Eingabe: EPlayerSessionCreationPolicy enum. Gültige Werte sind:

  • ACCEPT_ ALL — Akzeptiere alle neuen Spielersitzungen.

  • DENY_ ALL — Alle Sitzungen neuer Spieler ablehnen.

Erforderlich: Ja

Rückgabewert

Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.