View a markdown version of this page

Server-SDK (Unreal) für Amazon-Server GameLift -- Aktionen - GameLift Amazon-Server

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.

Server-SDK (Unreal) für Amazon-Server GameLift -- Aktionen

Verwenden Sie das Server-SDK für Unreal, um Ihr Multiplayer-Spiel für das Hosting zu integrieren. Amazon GameLift Servers Eine Anleitung zum Integrationsprozess finden Sie unterAddition GameLift Amazon-Server mit dem Server-SDK auf deinen Spieleserver.

Anmerkung

Diese Referenz bezieht sich auf eine frühere Version des Server-SDK fürAmazon GameLift Servers. Informationen zur neuesten Version finden Sie unter C++ (Unreal) Server-SDK 5.x für Amazon-Server GameLift -- Aktionen.

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

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

Server-SDK (Unreal) für Amazon GameLift Servers -- Datentypen

AcceptPlayerSession()

Informiert den Amazon GameLift Servers Dienst darüber, dass ein Spieler mit der angegebenen Player-Sitzungs-ID eine Verbindung zum Serverprozess hergestellt hat und überprüft werden muss. Amazon GameLift Serversüberprüft, ob die Spielersitzungs-ID gültig ist, d. h., dass die Spieler-ID einen Spielerplatz in der Spielsitzung reserviert hat. Nach der Bestätigung ändert Amazon GameLift Servers den Status des Spielerplatzes von RESERVED nach ACTIVE.

Syntax

FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)

Parameters

Spieler SessionId

Eindeutige ID, die vom Amazon GameLift Servers Dienst als Antwort auf einen Aufruf der AWS Amazon GameLift Servers SDK-API-Aktion ausgegeben 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 mit einer Fehlermeldung besteht.

ActivateGameSession()

Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess eine Sitzungs-ID für das Spiel ist aktiviert hat und nun Verbindungen annehmen kann. Diese Aktion muss im Rahmen der onStartGameSession()-Callback-Funktion aufgerufen werden, nachdem die Initialisierung der Spielsitzung vollständig abgeschlossen ist.

Syntax

FGameLiftGenericOutcome ActivateGameSession()

Parameters

Diese Aktion hat keine Parameter.

Rückgabewert

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

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)

Parameters

beschreiben PlayerSessionsRequest

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. Player-Sitzungsobjekte haben eine Struktur, die mit dem AWS Amazon GameLift Servers PlayerSession SDK-API-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()

Parameters

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 Speicherort der Datei eines PEM-kodierten TLS-Zertifikats ab, das der Flotte und ihren Instances zugeordnet ist. AWS Certificate Manager generiert dieses Zertifikat, wenn Sie eine neue Flotte mit der Zertifikatkonfiguration auf GENERIERT erstellen. Verwende dieses Zertifikat, um eine sichere Verbindung mit einem Spielclient herzustellen und die client/server Kommunikation zu verschlüsseln.

Syntax

FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()

Parameters

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 Instance gespeichert sind. Eine Stammzertifikatsdatei, die aus der Zertifikatskette extrahiert wurde, wird ebenfalls auf der Instance gespeichert. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.

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

GetSdkVersion()

Gibt die aktuelle Versionsnummer des SDK zurück, das in den Serverprozess integriert ist.

Syntax

FGameLiftStringOutcome GetSdkVersion();

Parameters

Diese Aktion hat keine Parameter.

Rückgabewert

War der Aufruf erfolgreich, gibt die Funktion 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();

InitSDK()

Initialisiert das Amazon GameLift Servers-SDK. Diese Methode sollte beim Start aufgerufen werden, bevor andere Amazon GameLift Servers-Initialisierungen durchgeführt werden.

Syntax

FGameLiftGenericOutcome InitSDK()

Parameters

Diese Aktion hat keine Parameter.

Rückgabewert

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

ProcessEnding()

Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess beendet 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()

Parameters

Diese Aktion hat keine Parameter.

Rückgabewert

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

ProcessReady()

Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess zum Hosten von Spielsitzungen bereit ist. Rufen Sie diese Methode auf, nachdem Sie die Einrichtungsaufgaben erfolgreich aufgerufen InitSDK() und abgeschlossen haben, die erforderlich sind, bevor der Serverprozess eine Spielsitzung hosten kann. Diese Methode sollte nur einmal pro Prozess aufgerufen werden.

Syntax

FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)

Parameters

FProcessParameters

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

  • Die Namen von Callback-Methoden, implementiert in dem Code des Spiel-Servers, den der Amazon GameLift Servers-Service zur Kommunikation mit dem Serverprozess aufruft.

  • Die Portnummer, auf der der Serverprozess horcht.

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

Erforderlich: Ja

Rückgabewert

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

Beispiel

Den Beispielcode finden Sie unter Verwenden des Unreal Engine-Plugins

RemovePlayerSession()

Benachrichtigt den Amazon GameLift Servers-Service, dass ein Spieler mit der angegebenen Sitzungs-ID eine Verbindung zu dem Server getrennt hat. Als Reaktion ändert Amazon GameLift Servers den Status des Spielerplatzes in „verfügbar“, so dass er einem neuen Spieler zugewiesen werden kann.

Syntax

FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)

Parameters

Spieler SessionId

Eindeutige ID, die vom Amazon GameLift Servers Dienst als Antwort auf einen Aufruf der AWS Amazon GameLift Servers SDK-API-Aktion ausgegeben 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 mit einer Fehlermeldung besteht.

StartMatchBackfill()

Sendet eine Anforderung zur Suche nach neuen Spielern für offene Slots in einer Spielsitzung, die mit FlexMatch erstellt wurde. 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 Amazon GameLift Servers-Service über die Callback-Funktion OnUpdateGameSession() aktualisierte Matchmaker-Daten.

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);

Parameters

FStartMatchBackfillRequest

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

  • Eine Ticket-ID für die Zuordnung zur Backfill-Anforderung. Diese Informationen sind optional. Bei fehlender ID-Angabe wird automatisch eine ID von Amazon GameLift Servers generiert.

  • Der Matchmaker, an den die Anfrage gesendet werden soll. Der vollständige ARN der Konfiguration 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 mithilfe 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);

Parameters

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 mit einer Fehlermeldung besteht.

TerminateGameSession()

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

Benachrichtigt den Amazon GameLift Servers Dienst, 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. Sie sollte erst aufgerufen werden, nachdem das Verfahren zur Beendigung der Spielsitzung abgeschlossen ist, da sie signalisiert, Amazon GameLift Servers dass der Serverprozess sofort verfügbar ist, um eine neue Spielsitzung zu hosten.

Diese Aktion wird nicht aufgerufen, wenn der Serverprozess nach Beendigung 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()

Parameters

Diese Aktion hat keine Parameter.

Rückgabewert

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

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 Aktion UpdateGameSession() in der Amazon GameLift Servers-Service API-Referenz).

Syntax

FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)

Parameters

Richtlinie

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

Eingabe: EPlayerSessionCreationPolicy enum. Gültige Werte sind:

  • ACCEPT_ALL – Akzeptiert alle neuen Spielersitzungen.

  • DENY_ALL – Verwehrt neue Spielersitzungen.

Erforderlich: Ja

Rückgabewert

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