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 5.x für Amazon-Server GameLift -- Aktionen
Verwenden Sie die Server-SDK 5.x-Referenz, um Ihr Multiplayer-Spiel für das Hosting zu integrieren. Amazon GameLift Servers Hinweise zum Integrationsprozess finden Sie unterAddition GameLift Amazon-Server mit dem Server-SDK auf deinen Spieleserver. Wenn Sie das Amazon GameLift Servers Plugin für Unity verwenden, lesen Sie auchGameLift Amazon-Server Plugin für Unity (Server-SDK 5.x).
C#-Server-SDK 5.x für Amazon-Server GameLift -- Datentypen
Themen
GetSdkVersion()
Gibt die aktuelle Versionsnummer des SDK zurück, das in den Serverprozess integriert ist.
Syntax
AwsStringOutcome GetSdkVersion();
Rückgabewert
War der Aufruf erfolgreich, gibt die Funktion die aktuelle SDK-Version als AwsStringOutcome-Objekt zurück. Die zurückgegebene Zeichenfolge enthält die Versionsnummer (Beispiel5.0.0). Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.
Beispiel
var getSdkVersionOutcome = GameLiftServerAPI.GetSdkVersion();
InitMetrics()
Initialisiert das Messobjektsystem für die Erfassung und Berichterstattung von Serverleistungsdaten. Um optimale Ergebnisse zu erzielen, rufen Sie diese Methode vorher InitSDK() auf, um die Erfassung von Messwerten während der SDK-Initialisierung zu aktivieren.
Syntax
MetricsManagerOutcome InitMetrics(); MetricsManagerOutcome InitMetrics(MetricsParameters metricsParameters);
Parameters
- MetricsParameters (optional)
-
Konfigurationsparameter für die Erfassung von Metriken. Wenn nicht angegeben, werden Standardwerte verwendet, die durch Umgebungsvariablen überschrieben werden können.
Rückgabewert
Bei Erfolg wird ein MetricsManagerOutcome Objekt zurückgegeben, das die MetricsManager Instanz enthält. Wenn die Funktion nicht erfolgreich ausgeführt wird, wird eine Fehlermeldung zurückgegeben.
Beispiel
// Initialize with default parameters (uses environment variables if available) var outcome = GameLiftServerAPI.InitMetrics(); if (outcome.Success) { var metricsManager = outcome.Result; } else { Console.WriteLine("Failed to initialize metrics: " + outcome.Error.ErrorMessage); } // Initialize with custom parameters var metricsParams = new MetricsParameters("localhost", 8125, "crash-host", 9999, 1000, 1024); var customOutcome = GameLiftServerAPI.InitMetrics(metricsParams); if (customOutcome.Success) { var metricsManager = customOutcome.Result; }
InitSDK()
Initialisiert das Amazon GameLift Servers SDK für eine verwaltete EC2-Flotte. Rufen Sie diese Methode beim Start auf, bevor eine weitere Initialisierung in diesem Zusammenhang erfolgt. Amazon GameLift Servers Diese Methode liest Serverparameter aus der Host-Umgebung, um die Kommunikation zwischen dem Server und dem Amazon GameLift Servers Dienst einzurichten. Sie verwendet ein Idempotenz-Token, sodass Sie diesen Aufruf bedenkenlos wiederholen können, wenn er fehlschlägt.
Syntax
GenericOutcome InitSDK();
Rückgabewert
Bei Erfolg wird ein InitSdkOutcome Objekt zurückgegeben, das angibt, dass der Serverprozess zum Aufrufen bereit ist. ProcessReady()
Beispiel
//Call InitSDK to establish a local connection with the GameLift agent to enable further communication. GenericOutcome initSDKOutcome = GameLiftServerAPI.InitSDK();
InitSDK()
Initialisiert das Amazon GameLift Servers SDK für eine Anywhere-Flotte. Rufen Sie diese Methode beim Start auf, bevor eine weitere Initialisierung in diesem Zusammenhang erfolgt. Amazon GameLift Servers Diese Methode erfordert explizite Serverparameter, um die Kommunikation zwischen dem Server und dem Amazon GameLift Servers Dienst einzurichten. Sie verwendet ein Idempotenz-Token, sodass Sie diesen Aufruf bedenkenlos wiederholen können, wenn er fehlschlägt.
Syntax
GenericOutcome InitSDK(ServerParameters serverParameters);
Parameters
- ServerParameters
-
Um einen Spieleserver auf einer Amazon GameLift Servers Anywhere-Flotte zu initialisieren, konstruieren Sie ein
ServerParametersObjekt mit den folgenden Informationen:-
Die URL des, die für die Verbindung zu Ihrem Spieleserver WebSocket verwendet wird.
-
Die ID des Prozesses, der zum Hosten deines Spieleservers verwendet wird.
-
Die ID des Computers, auf dem deine Spieleserverprozesse gehostet werden.
-
Die ID der Amazon GameLift Servers Flotte, die deine Amazon GameLift Servers Anywhere-Rechenleistung enthält.
-
Das durch den Amazon GameLift Servers Vorgang generierte Autorisierungstoken.
-
Rückgabewert
Bei Erfolg wird ein InitSdkOutcome Objekt zurückgegeben, das angibt, dass der Serverprozess zum Aufrufen bereit istProcessReady().
Anmerkung
Wenn Aufrufe von für Spiele-Builds, die auf Anywhere-Flotten bereitgestellt werden, fehlschlagen, überprüfen Sie den ServerSdkVersion Parameter, der beim Erstellen der Build-Ressource verwendet wurde. InitSDK() Sie müssen diesen Wert explizit auf die verwendete Server-SDK-Version festlegen. Der Standardwert für diesen Parameter ist 4.x, was nicht kompatibel ist. Um dieses Problem zu lösen, erstellen Sie einen neuen Build und stellen Sie ihn einer neuen Flotte zur Verfügung.
Beispiel
//Define the server parameters string websocketUrl = "wss://us-west-1.api.amazongamelift.com"; string processId = "PID1234"; string fleetId = "aarn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa"; string hostId = "HardwareAnywhere"; string authToken = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"; ServerParameters serverParameters = new ServerParameters(webSocketUrl, processId, hostId, fleetId, authToken); //Call InitSDK to establish a local connection with the GameLift agent to enable further communication. GenericOutcome initSDKOutcome = GameLiftServerAPI.InitSDK(serverParameters);
ProcessReady()
BenachrichtigtAmazon GameLift Servers, dass der Serverprozess bereit ist, Spielsitzungen zu hosten. Ruft diese Methode nach dem Aufruf aufInitSDK(). Diese Methode sollte nur einmal pro Prozess aufgerufen werden.
Syntax
GenericOutcome ProcessReady(ProcessParameters processParameters)
Parameters
- ProcessParameters
-
Ein
ProcessParametersObjekt enthält Informationen über den Serverprozess.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
Dieses Beispiel veranschaulicht sowohl die Implementierung der Methode als auch der Delegatenfunktion.
// Set parameters and call ProcessReady ProcessParameters processParams = new ProcessParameters( this.OnStartGameSession, this.OnProcessTerminate, this.OnHealthCheck, this.OnUpdateGameSession, port, new LogParameters(new List<string>() // Examples of log and error files written by the game server { "C:\\game\\logs", "C:\\game\\error" }) ); GenericOutcome processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);
ProcessEnding()
BenachrichtigtAmazon GameLift Servers, dass der Serverprozess beendet wird. Ruft diese Methode nach allen anderen Bereinigungsaufgaben auf (einschließlich dem Beenden der aktiven Spielsitzung) und bevor der Prozess beendet wird. Je nach Ergebnis von wird der ProcessEnding() Prozess mit Erfolg (0) oder Fehler (-1) beendet und ein Flottenereignis generiert. Wenn der Prozess mit einem Fehler beendet wird, wird das Flottenereignis generiert. SERVER_PROCESS_TERMINATED_UNHEALTHY
Syntax
GenericOutcome ProcessEnding()
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
In diesem Beispiel wird der Serverprozess Destroy() vor dem Beenden des Serverprozesses mit einem Erfolgs- oder Fehler-Exitcode aufgerufenProcessEnding().
GenericOutcome processEndingOutcome = GameLiftServerAPI.ProcessEnding(); GameLiftServerAPI.Destroy(); if (processEndingOutcome.Success) { Environment.Exit(0); } else { Console.WriteLine("ProcessEnding() failed. Error: " + processEndingOutcome.Error.ToString()); Environment.Exit(-1); }
ActivateGameSession()
BenachrichtigtAmazon GameLift Servers, dass der Serverprozess eine Spielsitzung aktiviert hat und nun bereit ist, Spielerverbindungen zu empfangen. Diese Aktion sollte nach der Initialisierung der Spielsitzung als Teil der onStartGameSession() Callback-Funktion aufgerufen werden.
Syntax
GenericOutcome ActivateGameSession()
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
In diesem Beispiel wird ActivateGameSession() als Teil der onStartGameSession()-Delegate-Funktion aufgerufen.
void OnStartGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map // When ready to receive players GenericOutcome activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); }
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.
Syntax
GenericOutcome UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy playerSessionPolicy)
Parameters
- Spieler SessionPolicy
-
Zeichenkettenwert, der angibt, ob die Spielsitzung neue Spieler akzeptiert.
Gültige Werte sind:
-
ACCEPT_ALL – Akzeptiert alle neuen Spielersitzungen.
-
DENY_ALL – Verwehrt neue Spielersitzungen.
-
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
In diesem Beispiel werden die Richtlinien für die aktuelle Spielsitzung für neue Spieler so festgelegt, dass alle Spieler akzeptiert werden.
GenericOutcome updatePlayerSessionPolicyOutcome = GameLiftServerAPI.UpdatePlayerSessionCreationPolicy(PlayerSessionCreationPolicy.ACCEPT_ALL);
GetGameSessionId()
Ruft die ID der Spielsitzung ab, die vom aktiven Serverprozess gehostet wird.
Für inaktive Prozesse, die nicht mit einer Spielsitzung aktiviert werden, gibt der Aufruf a GameLiftError zurück.
Syntax
AwsStringOutcome GetGameSessionId()
Rückgabewert
War der Aufruf erfolgreich, gibt die Funktion die Spielsitzungs-ID als AwsStringOutcome-Objekt zurück. Wenn nicht erfolgreich, wird eine Fehlermeldung zurückgegeben.“
Beispiel
AwsStringOutcome getGameSessionIdOutcome = GameLiftServerAPI.GetGameSessionId();
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 von Amazon GameLift Servers erhalten hat. Amazon GameLift Serversruft onProcessTerminate() aus den folgenden Gründen auf:
-
Wenn der Serverprozess einen schlechten Zustand gemeldet hat oder nicht darauf reagiert hatAmazon GameLift Servers.
-
Wenn die Instance während eines Scale-Down-Ereignisses beendet wird.
-
Wenn eine Instance aufgrund einer Spot-Instance-Unterbrechung beendet wird. Eine Warteschlange für Spot-Instances erstellen
Syntax
AwsDateTimeOutcome GetTerminationTime()
Rückgabewert
Bei Erfolg wird der Zeitpunkt der Beendigung als Objekt AwsDateTimeOutcome zurückgegeben. Der Wert ist die Abschlusszeit, ausgedrückt in seither verstrichenen Ticks. 0001 00:00:00 Beispielsweise entspricht der Wert für Datum und Uhrzeit den 2020-09-13
12:26:40 -000Z Ticks. 637355968000000000 Wenn keine Kündigungszeit verfügbar ist, wird eine Fehlermeldung zurückgegeben.
Beispiel
AwsDateTimeOutcome getTerminationTimeOutcome = GameLiftServerAPI.GetTerminationTime();
AcceptPlayerSession()
BenachrichtigtAmazon GameLift Servers, dass ein Spieler mit der angegebenen Spielersitzungs-ID eine Verbindung zum Serverprozess hergestellt hat und überprüft werden muss. Amazon GameLift Serversverifiziert, dass die Spielersitzungs-ID gültig ist. Amazon GameLift ServersÄndert nach der Validierung der Spielersitzung den Status des Spielerplatzes von RESERVIERT auf AKTIV.
Syntax
GenericOutcome AcceptPlayerSession(String playerSessionId)
Parameters
- Spieler SessionId
-
Eindeutige ID GameLift , die beim Erstellen einer neuen Spielersitzung ausgestellt wird.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
Dieses Beispiel veranschaulicht eine Funktion für die Verarbeitung einer Verbindungsanforderung, einschließlich dem Validieren und Abweisen ungültiger Spielersitzungs-IDs.
void ReceiveConnectingPlayerSessionID (Connection connection, String playerSessionId) { GenericOutcome acceptPlayerSessionOutcome = GameLiftServerAPI.AcceptPlayerSession(playerSessionId); if(acceptPlayerSessionOutcome.Success) { connectionToSessionMap.emplace(connection, playerSessionId); connection.Accept(); } else { connection.Reject(acceptPlayerSessionOutcome.Error.ErrorMessage); } }
RemovePlayerSession()
BenachrichtigtAmazon GameLift Servers, dass ein Spieler die Verbindung zum Serverprozess getrennt hat. Amazon GameLift ServersÄndert daraufhin den Spielerplatz auf „Verfügbar“.
Syntax
GenericOutcome RemovePlayerSession(String playerSessionId)
Parameters
- Spieler SessionId
-
Eindeutige IDAmazon GameLift Servers, die beim Erstellen einer neuen Spielersitzung ausgestellt wird.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
GenericOutcome removePlayerSessionOutcome = GameLiftServerAPI.RemovePlayerSession(playerSessionId);
DescribePlayerSessions()
Ruft Spielersitzungsdaten ab, einschließlich Einstellungen, Sitzungsmetadaten und Spielerdaten. 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(DescribePlayerSessionsRequest describePlayerSessionsRequest)
Parameters
- DescribePlayerSessionsRequest
-
Ein DescribePlayerSessionsRequest Objekt, das beschreibt, welche Spielersitzungen abgerufen werden sollen.
Rückgabewert
Bei Erfolg wird ein DescribePlayerSessionsOutcome Objekt zurückgegeben, das eine Reihe von Player-Sitzungsobjekten enthält, die den Anforderungsparametern entsprechen.
Beispiel
Dieses Beispiel zeigt eine Anforderung für alle Spielersitzungen, die derzeit aktiv mit einer angegebenen Spielsitzung verbunden sind. Wenn Sie den Grenzwert weglassen NextToken und auf 10 setzen, Amazon GameLift Servers werden die Sitzungsdatensätze der ersten 10 Spieler zurückgegeben, die der Anfrage entsprechen.
// Set request parameters DescribePlayerSessionsRequest describePlayerSessionsRequest = new DescribePlayerSessionsRequest() { GameSessionId = GameLiftServerAPI.GetGameSessionId().Result, //gets the ID for the current game session Limit =10, PlayerSessionStatusFilter = PlayerSessionStatusMapper.GetNameForPlayerSessionStatus(PlayerSessionStatus.ACTIVE) }; // Call DescribePlayerSessions DescribePlayerSessionsOutcome describePlayerSessionsOutcome = GameLiftServerAPI.DescribePlayerSessions(describePlayerSessionsRequest);
StartMatchBackfill()
Sendet eine Anforderung zur Suche nach neuen Spielern für offene Slots in einer Spielsitzung, die mit FlexMatch erstellt wurde. Weitere Informationen finden Sie unter Auffüllfunktion FlexMatch.
Diese Aktion ist asynchron. Wenn neue Spieler gefunden werden, Amazon GameLift Servers werden mithilfe der Callback-Funktion aktualisierte Matchmaker-Daten bereitgestellt. 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 (StartMatchBackfillRequest startBackfillRequest);
Parameters
- StartMatchBackfillRequest
-
Ein
StartMatchBackfillRequestObjekt enthält Informationen über die Backfill-Anfrage.
Rückgabewert
Gibt ein StartMatchBackfillOutcome Objekt mit der Match-Backfill-Ticket-ID zurück oder gibt einen Fehler mit einer Fehlermeldung zurück.
Beispiel
// Build a backfill request StartMatchBackfillRequest startBackfillRequest = new StartMatchBackfillRequest() { TicketId = "1111aaaa-22bb-33cc-44dd-5555eeee66ff", //optional MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig", GameSessionId = GameLiftServerAPI.GetGameSessionId().Result, // gets ID for current game session MatchmakerData matchmakerData = MatchmakerData.FromJson(gameSession.MatchmakerData), // gets matchmaker data for current players // get matchmakerData.Players // remove data for players who are no longer connected Players = ListOfPlayersRemainingInTheGame }; // Send backfill request StartMatchBackfillOutcome startBackfillOutcome = GameLiftServerAPI.StartMatchBackfill(startBackfillRequest); // Implement callback function for backfill void OnUpdateGameSession(GameSession myGameSession) { // game-specific tasks to prepare for the newly matched players and update matchmaker data as needed }
StopMatchBackfill()
Storniert eine aktive Match-Backfill-Anfrage. Weitere Informationen finden Sie unter Auffüllfunktion FlexMatch.
Syntax
GenericOutcome StopMatchBackfill (StopMatchBackfillRequest stopBackfillRequest);
Parameters
- StopMatchBackfillRequest
-
Ein
StopMatchBackfillRequestObjekt, das Details zu dem Matchmaking-Ticket enthält, das Sie stoppen.
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
// Set backfill stop request parameters StopMatchBackfillRequest stopBackfillRequest = new StopMatchBackfillRequest(){ TicketId = "1111aaaa-22bb-33cc-44dd-5555eeee66ff", //optional, if not provided one is autogenerated MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig", GameSessionId = GameLiftServerAPI.GetGameSessionId().Result //gets the ID for the current game session }; GenericOutcome stopBackfillOutcome = GameLiftServerAPI.StopMatchBackfillRequest(stopBackfillRequest);
GetComputeCertificate()
Ruft den Pfad zum TLS-Zertifikat ab, das zum Verschlüsseln der Netzwerkverbindung zwischen dem Spieleserver und deinem Spielclient verwendet wird. Du kannst den Zertifikatspfad verwenden, wenn du dein Computergerät bei einer Amazon GameLift Servers Anywhere-Flotte registrierst. Weitere Informationen finden Sie unter RegisterCompute.
Syntax
GetComputeCertificateOutcome GetComputeCertificate();
Rückgabewert
Gibt ein GetComputeCertificateResponse Objekt zurück, das Folgendes enthält:
-
CertificatePath: Der Pfad zum TLS-Zertifikat auf Ihrer Rechenressource. Wenn Sie eine Amazon GameLift Servers verwaltete Flotte verwenden, enthält dieser Pfad:
-
certificate.pem: Das Endbenutzerzertifikat. Die vollständige Zertifikatskette ist die Kombination von, die an dieses ZertifikatcertificateChain.pemangehängt ist. -
certificateChain.pem: Die Zertifikatskette, die das Stammzertifikat und die Zwischenzertifikate enthält. -
rootCertificate.pem: Das Stammzertifikat. -
privateKey.pem: Der private Schlüssel für das Endbenutzerzertifikat.
-
-
ComputeName: Der Name Ihrer Rechenressource.
Beispiel
GetComputeCertificateOutcome getComputeCertificateOutcome = GameLiftServerAPI.GetComputeCertificate();
GetFleetRoleCredentials()
Ruft IAM-Rollenanmeldedaten ab, die Amazon GameLift Servers zur Interaktion mit anderen autorisieren. AWS-Services Weitere Informationen finden Sie unter Verbinde deine GameLift Amazon-Server gehosteter Spieleserver auf anderen AWS Ressourcen.
Syntax
GetFleetRoleCredentialsOutcome GetFleetRoleCredentials(GetFleetRoleCredentialsRequest request);
Parameters
- GetFleetRoleCredentialsRequest
-
Rollenanmeldedaten, die den eingeschränkten Zugriff auf deine AWS Ressourcen auf den Spieleserver gewähren.
Rückgabewert
Gibt ein GetFleetRoleCredentialsOutcome-Objekt zurück.
Beispiel
// form the fleet credentials request GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest = new GetFleetRoleCredentialsRequest(){ RoleArn = "arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction" }; GetFleetRoleCredentialsOutcome GetFleetRoleCredentialsOutcome credentials = GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
ListContainersNetworkInfo()
Ruft Netzwerkinformationen für alle Container ab, die auf derselben Instance ausgeführt werden, einschließlich des Namens, der ID, der lokalen IP-Adresse und des Containergruppentyps der einzelnen Container. Verwenden Sie diese Informationen, damit Spieleserverprozesse andere Container erkennen und mit ihnen kommunizieren können, die auf derselben Instance ausgeführt werden.
Diese Aktion wird nur für Containerflotten unterstützt. Wenn sie von einem anderen Berechnungstyp aufgerufen wird, gibt sie einen UNSUPPORTED_COMPUTE_TYPE_EXCEPTION Fehler zurück. Amazon GameLift Serversruft die Netzwerkinformationen von einem Discovery-Server ab, der lokal auf der Instance ausgeführt wird.
Syntax
ListContainersNetworkInfoOutcome ListContainersNetworkInfo();
Rückgabewert
Gibt ein ListContainersNetworkInfoOutcome-Objekt zurück.
Beispiel
ListContainersNetworkInfoOutcome listContainersNetworkInfoOutcome = GameLiftServerAPI.ListContainersNetworkInfo();
Zerstören ()
Befreit das Amazon GameLift Servers Spieleserver-SDK aus dem Speicher. Es hat sich bewährt, diese Methode nach ProcessEnding() und vor dem Beenden des Prozesses aufzurufen. Wenn Sie eine Anywhere-Flotte verwenden und die Serverprozesse nicht nach jeder Spielsitzung beenden, rufen Sie auf Destroy() und führen Sie dann InitSDK() eine Neuinitialisierung durch, bevor Sie benachrichtigen, Amazon GameLift Servers dass der Prozess bereit ist, eine Spielsitzung mit zu hosten. ProcessReady()
Syntax
GenericOutcome Destroy()
Rückgabewert
Gibt ein generisches Ergebnis zurück, das aus Erfolg oder Misserfolg mit einer Fehlermeldung besteht.
Beispiel
// Operations to end game sessions and the server process GenericOutcome processEndingOutcome = GameLiftServerAPI.ProcessEnding(); // Shut down and destroy the instance of the GameLift Game Server SDK GenericOutcome destroyOutcome = GameLiftServerAPI.Destroy(); // Exit the process with success or failure if (processEndingOutcome.Success) { Environment.Exit(0); } else { Console.WriteLine("ProcessEnding() failed. Error: " + processEndingOutcome.Error.ToString()); Environment.Exit(-1); }