Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Amazon GameLift Server SDK 5.x pour C++ : Actions
Utilisez la référence du serveur Amazon GameLift C++ SDK 5.x pour intégrer votre jeu multijoueur à des fins d'hébergement sur Amazon GameLift. Pour obtenir des conseils sur le processus d'intégration, consultezAjoutez Amazon GameLift à votre serveur de jeu.
Note
Cette rubrique décrit le code Amazon GameLift C++ API que vous pouvez utiliser lorsque vous créez avec la bibliothèque standard C++ (std
). Plus précisément, cette documentation s'applique au code que vous compilez avec l'-DDGAMELIFT_USE_STD=1
option.
Amazon GameLift server SDK 5.x pour C++ : types de données
Rubriques
- GetSdkVersion()
- Initialiser SDK ()
- Initialiser SDK ()
- ProcessReady()
- ProcessReadyAsync()
- ProcessEnding()
- ActivateGameSession()
- UpdatePlayerSessionCreationPolicy()
- GetGameSessionId()
- GetTerminationTime()
- AcceptPlayerSession()
- RemovePlayerSession()
- DescribePlayerSessions()
- StartMatchBackfill()
- StopMatchBackfill()
- GetComputeCertificate()
- GetFleetRoleCredentials()
- Détruire ()
GetSdkVersion()
Renvoie le numéro de version actuel du processus SDK intégré au serveur.
Syntaxe
Aws::GameLift::AwsStringOutcome Server::GetSdkVersion();
Valeur renvoyée
En cas de succès, renvoie la SDK version actuelle sous forme d'AwsStringOutcomeobjet. L'objet renvoyé inclut le numéro de version (exemple5.0.0
). En cas d'échec, renvoie un message d'erreur.
Exemple
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();
Initialiser SDK ()
Initialise Amazon GameLift SDK. Appelez cette méthode au lancement avant toute autre étape d'initialisation liée à Amazon GameLift. Cette action lit les paramètres du serveur depuis l'environnement hôte afin de configurer la communication entre le processus du serveur de jeu et le GameLift service Amazon.
Si la version du serveur de jeu doit être déployée sans l' GameLift agent Amazon sur un Amazon GameLift Anywhere flotte ou flotte de conteneurs, appelez Initialiser SDK () et spécifiez un ensemble de paramètres de serveur.
Syntaxe
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK();
Valeur renvoyée
Renvoie un JE nitSDKOutcome objet qui indique si le processus serveur est prêt à être appeléProcessReady().
Exemple
//Call InitSDK to establish a local connection with the GameLift agent to enable further communication. Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = Aws::GameLift::Server::InitSDK();
Initialiser SDK ()
Initialise Amazon GameLift SDK. Appelez cette méthode au lancement avant toute autre étape d'initialisation liée à Amazon GameLift. Cette action nécessite un ensemble de paramètres de serveur pour configurer la communication entre le processus du serveur de jeu et le GameLift service Amazon.
Si la version du serveur de jeu doit être déployée sur une EC2 flotte GameLift gérée par Amazon ou sur un Amazon GameLift Anywhere flotte ou flotte de conteneurs avec l' GameLift agent Amazon, appelez Initialiser SDK () sans paramètres de serveur.
Syntaxe
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK(serverParameters);
Paramètres
- ServerParameters
-
Pour initialiser un serveur de jeu sur un Amazon GameLift Anywhere flotte, construisez un
ServerParameters
objet avec les informations suivantes :-
Celui URL WebSocket utilisé pour se connecter à votre serveur de jeu.
-
ID du processus utilisé pour héberger votre serveur de jeu.
-
ID de l'ordinateur hébergeant les processus de votre serveur de jeu.
-
L'identifiant de la GameLift flotte Amazon contenant votre Amazon GameLift Anywhere calculer.
-
Le jeton d'autorisation généré par l' GameLift opération Amazon.
-
Valeur renvoyée
Renvoie un JE nitSDKOutcome objet qui indique si le processus serveur est prêt à être appeléProcessReady().
Note
Si les appels à échouent pour InitSDK()
les builds de jeu déployés sur des flottes Anywhere, vérifiez le ServerSdkVersion
paramètre utilisé lors de la création de la ressource de build. Vous devez définir explicitement cette valeur en fonction de la SDK version du serveur utilisée. La valeur par défaut de ce paramètre est 4.x, ce qui n'est pas compatible. Pour résoudre ce problème, créez une nouvelle version et déployez-la sur une nouvelle flotte.
Exemple
Amazon GameLift Anywhere exemple
//Define the server parameters std::string websocketUrl = "
wss://us-west-1.api.amazongamelift.com
"; std::string processId = "PID1234
"; std::string fleetId = "arn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa
"; std::string hostId = "HardwareAnywhere
"; std::string authToken = "1111aaaa-22bb-33cc-44dd-5555eeee66ff
"; Aws::GameLift::Server::Model::ServerParameters serverParameters = Aws::GameLift::Server::Model::ServerParameters(webSocketUrl, authToken, fleetId, hostId, processId); //Call InitSDK to establish a local connection with the GameLift agent to enable further communication. Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = Aws::GameLift::Server::InitSDK(serverParameters);
ProcessReady()
Indique à Amazon GameLift que le processus du serveur est prêt à héberger des sessions de jeu. Appelez cette méthode après l'avoir invoquée. Initialiser SDK () Cette méthode ne doit être appelée qu'une seule fois par processus.
Syntaxe
GenericOutcome ProcessReady(const Aws::GameLift::Server::ProcessParameters
&processParameters);
Paramètres
- processParameters
-
Objet ProcessParameters communiquant les informations suivantes relatives au processus serveur :
-
Noms des méthodes de rappel implémentées dans le code du serveur de jeu invoqué par le GameLift service Amazon pour communiquer avec le processus du serveur.
-
Numéro de port sur lequel le processus serveur écoute.
-
Chemin d'accès à tous les fichiers spécifiques à une session de jeu que vous souhaitez qu'Amazon capture et GameLift stocke.
-
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Cet exemple illustre les implémentations de l'appel ProcessReady() et de la fonction déléguée.
// 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()
Indique au GameLift service Amazon que le processus du serveur est prêt à héberger des sessions de jeu. Cette méthode doit être appelée une fois que le processus serveur est prêt à héberger une session de jeu. Les paramètres spécifient les noms des fonctions de rappel qu'Amazon GameLift doit appeler dans certaines circonstances. Le code du serveur de jeux doit implémenter ces fonctions.
Cet appel est asynchrone. Pour effectuer un appel synchrone, utilisez ProcessReady(). Pour plus d’informations, consultez Initialiser le processus du serveur.
Syntaxe
GenericOutcomeCallable ProcessReadyAsync( const Aws::GameLift::Server::ProcessParameters &processParameters);
Paramètres
- processParameters
-
Objet ProcessParameters communiquant les informations suivantes relatives au processus serveur :
-
Noms des méthodes de rappel implémentées dans le code du serveur de jeu invoqué par le GameLift service Amazon pour communiquer avec le processus du serveur.
-
Numéro de port sur lequel le processus serveur écoute.
-
Chemin d'accès à tous les fichiers spécifiques à une session de jeu que vous souhaitez qu'Amazon capture et GameLift stocke.
Obligatoire : oui
-
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
// 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; }
ProcessEnding()
Indique à Amazon GameLift que le processus du serveur est en train de se terminer. Appelez cette méthode après toutes les autres tâches de nettoyage (y compris la fermeture de la session de jeu active) et avant de terminer le processus. En fonction du résultat deProcessEnding()
, le processus se termine avec succès (0) ou erreur (-1) et génère un événement de flotte. Si le processus se termine par une erreur, l'événement de flotte généré estSERVER_PROCESS_TERMINATED_UNHEALTHY
.
Syntaxe
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Cet exemple appelle ProcessEnding()
et Destroy()
avant de terminer le processus du serveur avec un code de sortie de réussite ou d'erreur.
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding(); Aws::GameLift::Server::Destroy(); // Exit the process with success or failure if (processEndingOutcome.IsSuccess()) { exit(0); } else { cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage(); exit(-1); }
ActivateGameSession()
Informe Amazon GameLift que le processus du serveur a activé une session de jeu et qu'il est désormais prêt à recevoir les connexions des joueurs. Cette action doit être appelée dans le cadre de la fonction de onStartGameSession()
rappel, après toute initialisation de session de jeu.
Syntaxe
Aws::GameLift::GenericOutcome activateGameSessionOutcome = Aws::GameLift::Server::ActivateGameSession();
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Cet exemple montre l'ActivateGameSession()
appel dans le cadre de la fonction de onStartGameSession()
délégation.
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(); }
UpdatePlayerSessionCreationPolicy()
Met à jour la capacité de la session de jeu à accepter de nouvelles sessions de joueur. Une session de jeu peut être définie pour accepter ou refuser toutes les nouvelles sessions joueur.
Syntaxe
GenericOutcome UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy newPlayerSessionPolicy);
Paramètres
- playerCreationSessionPolitique
-
Type : valeur
PlayerSessionCreationPolicy
enum.Obligatoire : oui
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Cet exemple définit la stratégie de participation de la session de jeu actuelle de manière à ce que tous les joueurs soient acceptés.
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy::
ACCEPT_ALL
);
GetGameSessionId()
Récupère l'ID de la session de jeu hébergée par le processus serveur actif.
Pour les processus inactifs qui ne sont pas activés lors d'une session de jeu, l'appel renvoie unGameLiftError.
Syntaxe
AwsStringOutcome GetGameSessionId()
Paramètres
Cette action n'a aucun paramètre.
Valeur renvoyée
En cas de réussite, renvoie l'ID de session de jeu en tant qu'objet AwsStringOutcome. En cas d'échec, renvoie un message d'erreur.
Pour les processus inactifs qui ne sont pas activés lors d'une session de jeu, l'appel renvoie Success
= True
et GameSessionId
=""
.
Exemple
Aws::GameLift::AwsStringOutcome sessionIdOutcome = Aws::GameLift::Server::GetGameSessionId();
GetTerminationTime()
Renvoie l'heure d'arrêt planifiée pour un processus serveur, si une heure de résiliation est disponible. Un processus serveur prend des mesures après avoir reçu un onProcessTerminate()
rappel d'Amazon GameLift. Amazon GameLift appelle onProcessTerminate()
pour les raisons suivantes :
-
Lorsque le processus du serveur a signalé un mauvais état de santé ou n'a pas répondu à Amazon GameLift.
-
Lorsque vous mettez fin à l'instance lors d'un événement de réduction.
-
Lorsqu'une instance est interrompue en raison d'une interruption ponctuelle.
Syntaxe
AwsDateTimeOutcome GetTerminationTime()
Valeur renvoyée
En cas de succès, renvoie l'heure de fin sous forme d'AwsDateTimeOutcome
objet. La valeur est le délai de résiliation, exprimé en ticks écoulés depuis. 0001 00:00:00
Par exemple, la valeur de la date et de l'heure 2020-09-13
12:26:40 -000Z
est égale à celle 637355968000000000
des ticks. Si aucune heure de résiliation n'est disponible, renvoie un message d'erreur.
Si le processus n'a pas reçu de ProcessParameters. OnProcessTerminate() rappel, un message d'erreur est renvoyé. Pour plus d'informations sur l'arrêt d'un processus serveur, consultezRépondre à une notification d'arrêt du processus du serveur.
Exemple
Aws::GameLift::AwsLongOutcome TermTimeOutcome = Aws::GameLift::Server::GetTerminationTime();
AcceptPlayerSession()
Informe Amazon GameLift qu'un joueur possédant l'identifiant de session de joueur spécifié s'est connecté au processus du serveur et doit être validé. Amazon GameLift vérifie que l'identifiant de session du joueur est valide. Une fois la session du joueur validée, Amazon GameLift change le statut de l'emplacement du joueur de RESERVED àACTIVE.
Syntaxe
GenericOutcome AcceptPlayerSession(String playerSessionId)
Paramètres
- playerSessionId
-
ID unique émis par Amazon GameLift lors de la création d'une nouvelle session de joueur.
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Cet exemple traite une demande de connexion qui inclut la validation et le rejet d'une session de joueur non valide. 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(); } }
RemovePlayerSession()
Indique à Amazon GameLift qu'un joueur s'est déconnecté du processus du serveur. En réponse, Amazon GameLift modifie l'emplacement du joueur pour le rendre disponible.
Syntaxe
GenericOutcome RemovePlayerSession(String playerSessionId)
Paramètres
playerSessionId
-
ID unique émis par Amazon GameLift lors de la création d'une nouvelle session de joueur.
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Aws::GameLift::GenericOutcome disconnectOutcome = Aws::GameLift::Server::RemovePlayerSession(
playerSessionId
);
DescribePlayerSessions()
Récupère les données de session du joueur, notamment les paramètres, les métadonnées de session et les données du joueur. Utilisez cette méthode pour obtenir des informations sur les points suivants :
-
Une session solo
-
Toutes les sessions des joueurs dans une session de jeu
-
Toutes les sessions de joueur associées à un identifiant de joueur unique
Syntaxe
DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest describePlayerSessionsRequest)
Paramètres
- DescribePlayerSessionsRequest
-
DescribePlayerSessionsRequestObjet qui décrit les sessions de joueur à récupérer.
Valeur renvoyée
En cas de réussite, renvoie un objet DescribePlayerSessionsOutcome qui contient un ensemble d'objets de session de joueur correspondant aux paramètres de la demande.
Exemple
Cet exemple demande toutes les sessions de joueur activement connectées à une session de jeu spécifiée. En omettant NextTokenet en définissant la valeur limite sur 10, Amazon GameLift renvoie les 10 premiers enregistrements de session de joueur correspondant à la demande.
// 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);
StartMatchBackfill()
Envoie une demande pour trouver de nouveaux joueurs pour les machines à sous ouvertes dans une session de jeu créée avec FlexMatch. Pour plus d'informations, voir la fonction de FlexMatch remblayage.
Cette action est asynchrone. Si de nouveaux joueurs sont jumelés, Amazon GameLift fournit des données de matchmaking mises à jour à l'aide de la fonction de rappel. OnUpdateGameSession()
Un processus de serveur ne peut comporter qu'une seule requête de renvoi de correspondance à la fois. Pour envoyer une nouvelle requête, appelez d'abord StopMatchBackfill() pour annuler la requête d'origine.
Syntaxe
StartMatchBackfillOutcome StartMatchBackfill (StartMatchBackfillRequest startBackfillRequest);
Paramètres
- StartMatchBackfillRequest
-
Un StartMatchBackfillRequest objet qui communique les informations suivantes :
-
ID de ticket à attribuer à la requête de renvoi. Ces informations sont facultatives ; si aucun identifiant n'est fourni, Amazon en GameLift générera un.
-
Matchmaker auquel envoyer la requête. La configuration complète ARN est requise. Cette valeur se trouve dans les données du matchmaker de la session de jeu.
-
ID de la session de jeu à compléter.
-
Les données de matchmaking disponibles pour les joueurs actuels de la session de jeu.
-
Valeur renvoyée
Renvoie un StartMatchBackfillOutcome objet avec l'identifiant du ticket de remplacement correspondant, ou un échec avec un message d'erreur.
Exemple
// Build a backfill request std::vector<Player> players; Aws::GameLift::Server::Model::StartMatchBackfillRequest startBackfillRequest; startBackfillRequest.SetTicketId("
1111aaaa-22bb-33cc-44dd-5555eeee66ff
"); // optional, autogenerated if not provided startBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig
"); //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()
Annule une demande de remplacement de match active. Pour plus d'informations, voir la fonction de FlexMatch remblayage.
Syntaxe
GenericOutcome StopMatchBackfill (StopMatchBackfillRequest stopBackfillRequest);
Paramètres
- StopMatchBackfillRequest
-
Un StopMatchBackfillRequest objet identifiant le ticket de matchmaking à annuler :
-
L'identifiant du ticket attribué à la demande de remblayage.
-
L'entremetteur à qui la demande de remblayage a été envoyée.
-
La session de jeu associée à la demande de remplacement.
-
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
// Set backfill stop request parameters Aws::GameLift::Server::Model::StopMatchBackfillRequest stopBackfillRequest; stopBackfillRequest.SetTicketId("
1111aaaa-22bb-33cc-44dd-5555eeee66ff
"); stopBackfillRequest.SetGameSessionArn("the game session ARN
"); // can use GetGameSessionId() stopBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig
"); // from the game session matchmaker data Aws::GameLift::GenericOutcome stopBackfillOutcome = Aws::GameLift::Server::StopMatchBackfill(stopBackfillRequest);
GetComputeCertificate()
Récupère le chemin d'accès au TLS certificat utilisé pour chiffrer la connexion réseau entre votre Amazon GameLift Anywhere ressource de calcul et Amazon GameLift. Vous pouvez utiliser le chemin du certificat lorsque vous enregistrez votre appareil informatique auprès d'Amazon GameLift Anywhere flotte. Pour plus d'informations, voir RegisterCompute.
Syntaxe
GetComputeCertificateOutcome Server::GetComputeCertificate()
Valeur renvoyée
Retourne un GetComputeCertificateOutcome.
Exemple
Aws::GameLift::GetComputeCertificateOutcome certificate = Aws::GameLift::Server::GetComputeCertificate();
GetFleetRoleCredentials()
Récupère les informations d'identification du IAM rôle qui autorisent Amazon GameLift à interagir avec d'autres Services AWS utilisateurs. Pour de plus amples informations, veuillez consulter Communiquez avec les autres AWS ressources de vos flottes.
Syntaxe
GetFleetRoleCredentialsOutcome GetFleetRoleCredentials(GetFleetRoleCredentialsRequest request);
Paramètres
GetFleetRoleCredentialsRequest
Valeur renvoyée
Renvoie un objet GetFleetRoleCredentialsOutcome.
Exemple
// form the fleet credentials request Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; getFleetRoleCredentialsRequest.SetRoleArn("
arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction
"); Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
Cet exemple montre l'utilisation de la RoleSessionName
valeur facultative pour attribuer un nom à la session d'identification à des fins d'audit. Si vous ne fournissez pas de nom de session de rôle, la valeur par défaut »[fleet-id]
-[host-id]
« est utilisé.
// form the fleet credentials request Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; getFleetRoleCredentialsRequest.SetRoleArn("
arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction
"); getFleetRoleCredentialsRequest.SetRoleSessionName("MyFleetRoleSession
"); Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
Détruire ()
Libère la mémoire du serveur SDK de GameLift jeu Amazon. Il est recommandé d'appeler cette méthode après ProcessEnding()
et avant de terminer le processus. Si vous utilisez une flotte Anywhere et que vous n'interrompez pas les processus du serveur après chaque session de jeu, appelez Destroy()
puis réinitialisez avant InitSDK()
d'informer Amazon GameLift que le processus est prêt à héberger une session de jeu avec. ProcessReady()
Syntaxe
GenericOutcome Aws::GameLift::Server::Destroy();
Paramètres
Il n'y a aucun paramètre.
Valeur renvoyée
Renvoie un résultat générique consistant en un succès ou un échec avec un message d'erreur.
Exemple
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding(); Aws::GameLift::Server::Destroy(); // Exit the process with success or failure if (processEndingOutcome.IsSuccess()) { exit(0); } else { cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage(); exit(-1); }