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.
C++-Server-SDK für Amazon GameLift Servers 4.x -- Aktionen
Verwenden Sie die Server-SDK-Referenz, um Ihr Multiplayer-Spiel zum Hosten zu integrierenAmazon GameLift Servers. Hinweise zum Integrationsprozess finden Sie unterAmazon GameLift ServersZu deinem Spieleserver hinzufügen.
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++-Server-SDK 5.x für Amazon GameLift Servers -- Aktionen.
C++-Server-SDK für Amazon GameLift Servers 4.x — Datentypen
Themen
AcceptPlayerSession()
Informiert den Amazon GameLift Servers Dienst darüber, dass ein Spieler mit der angegebenen Spielersitzungs-ID eine Verbindung zum Serverprozess hergestellt hat und eine Bestätigung benötigt. Amazon GameLift Serversü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 ändert Amazon GameLift Servers den Status des Spielerplatzes von RESERVED nach ACTIVE.
Syntax
GenericOutcome AcceptPlayerSession(const std::string& playerSessionId);
Parameter
- playerSessionId
-
Eindeutige ID, die vom Amazon GameLift Servers Dienst als Antwort auf einen Aufruf der SDK-API-Aktion ausgegeben wird AWS . Amazon GameLift Servers CreatePlayerSession Der Spielclient verweist auf diese ID, wenn er eine Verbindung zum Serverprozess herstellt.
Typ: std: :string
Erforderlich: Ja
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.
Beispiel
Dieses Beispiel zeigt eine Funktion zur Bearbeitung einer Verbindungsanfrage, einschließlich der Validierung und Ablehnung einer ungültigen Spielersitzung. IDs
void ReceiveConnectingPlayerSessionID (Connection& connection, const std::string& playerSessionId){ Aws::GameLift::GenericOutcome connectOutcome = Aws::GameLift::Server::AcceptPlayerSession(playerSessionId); if(connectOutcome.IsSuccess()) { connectionToSessionMap.emplace(connection, playerSessionId); connection.Accept(); } else { connection.Reject(connectOutcome.GetError().GetMessage(); } }
ActivateGameSession()
Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess eine Sitzungs-ID für das Spiel ist gestartet 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
GenericOutcome ActivateGameSession();
Parameter
Diese Aktion hat keine Parameter.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.
Beispiel
In diesem Beispiel wird ActivateGameSession()
als Teil der onStartGameSession()
-Callback-Funktion aufgerufen.
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession) { // game-specific tasks when starting a new game session, such as loading map GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession(); }
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
DescribePlayerSessionsOutcome DescribePlayerSessions ( const Aws::GameLift::Server::Model::DescribePlayerSessionsRequest &describePlayerSessionsRequest);
Parameter
- describePlayerSessionsAnfrage
-
Ein DescribePlayerSessionsRequest-Objekt, mit dem beschrieben wird, welche Spielersitzungen abgerufen werden sollen.
Erforderlich: Ja
Rückgabewert
Wenn sie erfolgreich ausgeführt wird, gibt die Funktion ein DescribePlayerSessionsOutcome
-Objekt mit einer Menge von Spielersitzungsobjekten zurück, die den Anforderungsparametern entsprechen. Player-Sitzungsobjekte haben eine Struktur, die mit dem AWS Amazon GameLift Servers PlayerSessionSDK-API-Datentyp identisch ist.
Beispiel
Dieses Beispiel zeigt eine Anforderung für alle Spielersitzungen, die derzeit aktiv mit einer angegebenen Spielsitzung verbunden sind. Wenn NextToken
ausgelassen und der Limit
-Wert auf 10 gesetzt wird, gibt Amazon GameLift Servers die ersten 10 Spielersitzungs-Datensätze zurück, die den Anforderungskriterien entsprechen.
// Set request parameters Aws::GameLift::Server::Model::DescribePlayerSessionsRequest request; request.SetPlayerSessionStatusFilter(Aws::GameLift::Server::Model::PlayerSessionStatusMapper::GetNameForPlayerSessionStatus(Aws::GameLift::Server::Model::PlayerSessionStatus::Active)); request.SetLimit(10); request.SetGameSessionId("the game session ID"); // can use GetGameSessionId() // Call DescribePlayerSessions Aws::GameLift::DescribePlayerSessionsOutcome playerSessionsOutcome = Aws::GameLift::Server::DescribePlayerSessions(request);
GetGameSessionId()
Ruft den eindeutigen Bezeichner der Spielsitzung ab, die derzeit von dem Serverprozess gehostet wird, wenn der Serverprozess aktiv ist. Der Bezeichner wird im ARN-Format zurückgegeben: arn:aws:gamelift:<region>::gamesession/fleet-<fleet
ID>/<ID string>
.
Bei Prozessen im Leerlauf, die während einer Spielsitzung noch nicht aktiviert wurden, gibt der Aufruf Success
= True
und GameSessionId
= ""
(eine leere Zeichenfolge) zurück.
Syntax
AwsStringOutcome GetGameSessionId();
Parameter
Diese Aktion hat keine Parameter.
Rückgabewert
War der Aufruf erfolgreich, gibt die Funktion die Spielsitzungs-ID als AwsStringOutcome
-Objekt zurück. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.
Beispiel
Aws::GameLift::AwsStringOutcome sessionIdOutcome = Aws::GameLift::Server::GetGameSessionId();
GetInstanceCertificate()
Ruft den Dateispeicherort eines PEM-codierten TLS-Zertifikats ab, das der Flotte und ihren Instanzen zugeordnet ist. AWS Certificate Manager generiert dieses Zertifikat, wenn Sie eine neue Flotte erstellen, bei der die Zertifikatskonfiguration auf GENERATED gesetzt ist. Verwenden Sie dieses Zertifikat, um eine sichere Verbindung mit einem Spiele-Client herzustellen und die Client-/Serverkommunikation zu verschlüsseln.
Syntax
GetInstanceCertificateOutcome 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.
Beispiel
Aws::GameLift::GetInstanceCertificateOutcome certificateOutcome = Aws::GameLift::Server::GetInstanceCertificate();
GetSdkVersion()
Gibt die aktuelle Versionsnummer des verwendeten SDKs zurück.
Syntax
AwsStringOutcome GetSdkVersion();
Parameter
Diese Aktion hat keine Parameter.
Rückgabewert
War der Aufruf erfolgreich, gibt die Funktion die aktuelle SDK-Version als AwsStringOutcome
-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();
GetTerminationTime()
Gibt die Zeit zurück, für die das Herunterfahren eines Serverprozesses geplant ist (wenn eine Zeit zum Beenden verfügbar ist). Ein Serverprozess führt diese Aktion aus, nachdem er einen onProcessTerminate()
Rückruf vom Dienst erhalten hat. Amazon GameLift Servers Amazon GameLift Serverskann aus den folgenden onProcessTerminate() Gründen aufrufen: (1) wenn der Serverprozess einen schlechten Zustand gemeldet hat oder nicht darauf reagiert hatAmazon GameLift Servers, (2) wenn die Instance während eines Scale-Down-Ereignisses beendet wird oder (3) wenn eine Instance aufgrund einer Spot-Unterbrechung beendet wird.
Wenn der Prozess einen onProcessTerminate()
Rückruf erhalten hat, entspricht der zurückgegebene Wert der geschätzten Kündigungszeit. Wenn der Prozess keinen onProcessTerminate()
Rückruf erhalten hat, wird eine Fehlermeldung zurückgegeben. Weitere Informationen über das Herunterfahren eines Serverprozesses.
Syntax
AwsLongOutcome GetTerminationTime();
Parameter
Diese Aktion hat keine Parameter.
Rückgabewert
Bei Erfolg wird die Abschlusszeit als AwsLongOutcome
Objekt zurückgegeben. Der Wert ist die Endzeit, ausgedrückt in verstrichenen Ticks seit 0001 00:00:00. Beispielsweise entspricht der Wert für Datum und Uhrzeit 2020-09-13 12:26:40 -000Z 637355968000000000 Ticks. Wenn keine Kündigungszeit verfügbar ist, wird eine Fehlermeldung zurückgegeben.
Beispiel
Aws::GameLift::AwsLongOutcome TermTimeOutcome = Aws::GameLift::Server::GetTerminationTime();
InitSDK()
Initialisiert das Amazon GameLift Servers-SDK. Diese Methode sollte beim Start aufgerufen werden, bevor andere Amazon GameLift Servers-Initialisierungen durchgeführt werden.
Syntax
InitSDKOutcome InitSDK();
Parameter
Diese Aktion hat keine Parameter.
Rückgabewert
Bei Erfolg wird ein InitSdkOutcome Objekt zurückgegeben, das angibt, dass der Serverprozess aufrufbereit istProcessReady().
Beispiel
Aws::GameLift::Server::InitSDKOutcome initOutcome = Aws::GameLift::Server::InitSDK();
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.
Sobald die Methode mit dem Code 0 beendet wurde, können Sie den Prozess mit einem erfolgreichen Exit-Code beenden. Sie können den Prozess auch mit einem Fehlercode beenden. Wenn Sie den Vorgang mit einem Fehlercode beenden, zeigt das Flottenereignis an, dass der Prozess ungewöhnlich beendet wurde (SERVER_PROCESS_TERMINATED_UNHEALTHY
).
Syntax
GenericOutcome ProcessEnding();
Parameter
Diese Aktion hat keine Parameter.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.
Beispiel
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding(); if (outcome.Success) exit(0); // exit with success // otherwise, exit with error code exit(errorCode);
ProcessReady()
Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess zum Hosten von Spielsitzungen bereit ist. Rufen Sie diese Methode auf, nachdem Sie erfolgreich Einrichtungsaufgaben aufgerufen InitSDK() und abgeschlossen haben, die erforderlich sind, bevor der Serverprozess eine Spielsitzung hosten kann. Diese Methode sollte nur einmal pro Prozess aufgerufen werden.
Dieser Aufruf ist ein synchron. Wenn Sie einen asynchronen Aufruf durchführen möchten, verwenden Sie ProcessReadyAsync(). Weitere Details finden Sie unter Initialisieren Sie den Serverprozess.
Syntax
GenericOutcome ProcessReady( const Aws::GameLift::Server::ProcessParameters &processParameters);
Parameter
- processParameters
-
Ein ProcessParameters-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 besteht, mit einer Fehlermeldung.
Beispiel
Dieses Beispiel veranschaulicht die Implementierung des ProcessReady()-Aufrufs und der Callback-Funktion.
// Set parameters and call ProcessReady std::string serverLog("serverOut.log"); // Example of a log file written by the game server std::vector<std::string> logPaths; logPaths.push_back(serverLog); int listenPort = 9339; Aws::GameLift::Server::ProcessParameters processReadyParameter = Aws::GameLift::Server::ProcessParameters( std::bind(&Server::onStartGameSession, this, std::placeholders::_1), std::bind(&Server::onProcessTerminate, this), std::bind(&Server::OnHealthCheck, this), std::bind(&Server::OnUpdateGameSession, this), listenPort, Aws::GameLift::Server::LogParameters(logPaths)); Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::ProcessReady(processReadyParameter); // Implement callback functions void Server::onStartGameSession(Aws::GameLift::Model::GameSession myGameSession) { // game-specific tasks when starting a new game session, such as loading map GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession (maxPlayers); } void Server::onProcessTerminate() { // game-specific tasks required to gracefully shut down a game session, // such as notifying players, preserving game state data, and other cleanup GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding(); } bool Server::onHealthCheck() { bool health; // complete health evaluation within 60 seconds and set health return health; }
ProcessReadyAsync()
Benachrichtigt den Amazon GameLift Servers-Service, dass der Serverprozess zum Hosten von Spielsitzungen bereit ist. Diese Methode sollte aufgerufen werden, sobald der Serverprozess zum Hosten einer Spielsitzung bereit ist. Die Parameter geben die Namen von Callback-Funktionen an, die Amazon GameLift Servers unter bestimmten Umständen aufrufen kann. Diese Funktionen müssen im Spiel-Servercode implementiert sein.
Dieser Aufruf ist asynchroner. Wenn Sie einen synchronen Aufruf durchführen möchten, verwenden Sie ProcessReady(). Weitere Details finden Sie unter Initialisieren Sie den Serverprozess.
Syntax
GenericOutcomeCallable ProcessReadyAsync( const Aws::GameLift::Server::ProcessParameters &processParameters);
Parameter
- processParameters
-
Ein ProcessParameters-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
// Set parameters and call ProcessReady std::string serverLog("serverOut.log"); // This is an example of a log file written by the game server std::vector<std::string> logPaths; logPaths.push_back(serverLog); int listenPort = 9339; Aws::GameLift::Server::ProcessParameters processReadyParameter = Aws::GameLift::Server::ProcessParameters( std::bind(&Server::onStartGameSession, this, std::placeholders::_1), std::bind(&Server::onProcessTerminate, this), std::bind(&Server::OnHealthCheck, this), std::bind(&Server::OnUpdateGameSession, this), listenPort, Aws::GameLift::Server::LogParameters(logPaths)); Aws::GameLift::GenericOutcomeCallable outcome = Aws::GameLift::Server::ProcessReadyAsync(processReadyParameter); // Implement callback functions void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession) { // game-specific tasks when starting a new game session, such as loading map GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession (maxPlayers); } void onProcessTerminate() { // game-specific tasks required to gracefully shut down a game session, // such as notifying players, preserving game state data, and other cleanup GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding(); } bool onHealthCheck() { // perform health evaluation and complete within 60 seconds return health; }
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
GenericOutcome RemovePlayerSession( const std::string& playerSessionId);
Parameter
- playerSessionId
-
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: std: :string
Erforderlich: Ja
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.
Beispiel
Aws::GameLift::GenericOutcome disconnectOutcome = Aws::GameLift::Server::RemovePlayerSession(playerSessionId);
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 FlexMatchBackfill-Funktion.
Diese Aktion ist asynchron. Wenn neue Spieler erfolgreich gematcht werden, liefert der Amazon GameLift Servers Dienst aktualisierte Matchmaker-Daten, indem er die Callback-Funktion aufruft. 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
StartMatchBackfillOutcome StartMatchBackfill ( const Aws::GameLift::Server::Model::StartMatchBackfillRequest &startBackfillRequest);
Parameter
- StartMatchBackfillRequest
-
Ein StartMatchBackfillRequest-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
Gibt ein StartMatchBackfillOutcome Objekt mit dem Match-Backfill-Ticket oder einem Fehler mit einer Fehlermeldung zurück. Der Ticketstatus kann mit der AWS SDK-Aktion DescribeMatchmaking() verfolgt werden.
Beispiel
// Build a backfill request std::vector<Player> players; Aws::GameLift::Server::Model::StartMatchBackfillRequest startBackfillRequest; startBackfillRequest.SetTicketId("
a ticket ID
"); //optional, autogenerated if not provided startBackfillRequest.SetMatchmakingConfigurationArn("the matchmaker configuration ARN
"); //from the game session matchmaker data startBackfillRequest.SetGameSessionArn("the game session ARN
"); // can use GetGameSessionId() startBackfillRequest.SetPlayers(players); //from the game session matchmaker data // Send backfill request Aws::GameLift::StartMatchBackfillOutcome backfillOutcome = Aws::GameLift::Server::StartMatchBackfill(startBackfillRequest); // Implement callback function for backfill void Server::OnUpdateGameSession(Aws::GameLift::Server::Model::GameSession gameSession, Aws::GameLift::Server::Model::UpdateReason updateReason, std::string backfillTicketId) { // handle status messages // perform game-specific tasks to prep for newly matched players }
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 FlexMatchBackfill-Funktion.
Syntax
GenericOutcome StopMatchBackfill ( const Aws::GameLift::Server::Model::StopMatchBackfillRequest &stopBackfillRequest);
Parameter
- StopMatchBackfillRequest
-
Ein StopMatchBackfillRequest-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.
Beispiel
// Set backfill stop request parameters Aws::GameLift::Server::Model::StopMatchBackfillRequest stopBackfillRequest; stopBackfillRequest.SetTicketId("
the ticket ID
"); stopBackfillRequest.SetGameSessionArn("the game session ARN
"); // can use GetGameSessionId() stopBackfillRequest.SetMatchmakingConfigurationArn("the matchmaker configuration ARN
"); // from the game session matchmaker data Aws::GameLift::GenericOutcome stopBackfillOutcome = Aws::GameLift::Server::StopMatchBackfillRequest(stopBackfillRequest);
TerminateGameSession()
Diese Methode ist mit Version 4.0.1 veraltet. Stattdessen sollte der Serverprozess ProcessEnding() nach dem Ende einer Spielsitzung aufgerufen werden.
Informiert den Amazon GameLift Servers Dienst darüber, 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 der Vorgang zum Beenden der Spielsitzung abgeschlossen ist, da sie signalisiertAmazon GameLift Servers, dass der Serverprozess sofort für die Durchführung 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
GenericOutcome 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 AWS SDK-Aktion UpdateGameSession().
Syntax
GenericOutcome UpdatePlayerSessionCreationPolicy( Aws::GameLift::Model::PlayerSessionCreationPolicy newPlayerSessionPolicy);
Parameter
- newPlayerSessionRichtlinie
-
Zeichenfolgenwert, der angibt, ob die Spielsitzung neue Spieler akzeptiert.
Typ: Aws:GameLift: :Model:: PlayerSessionCreationPolicy 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 besteht, mit einer Fehlermeldung.
Beispiel
In diesem Beispiel werden die Richtlinien für die aktuelle Spielsitzung für neue Spieler so festgelegt, dass alle Spieler akzeptiert werden.
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy::ACCEPT_ALL);
Zerstören ()
Löscht den Speicher, der von initSDK () während der Initialisierung des Spieleservers zugewiesen wurde. Verwenden Sie diese Methode, nachdem Sie einen Spieleserver-Prozess beendet haben, um zu vermeiden, dass Serverspeicher verschwendet wird.
Syntax
GenericOutcome Aws::GameLift::Server::Destroy();
Parameter
Es gibt keine Parameter.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg besteht, mit einer Fehlermeldung.
Beispiel
In diesem Beispiel wird der von initSDK zugewiesene Speicher bereinigt, nachdem ein Spieleserverprozess beendet wurde.
if (Aws::GameLift::Server::ProcessEnding().IsSuccess()) { Aws::GameLift::Server::Destroy(); exit(0); }