View a markdown version of this page

Intégrer GameLift Serveurs Amazon avec un projet de serveur de jeu Unity - GameLift Serveurs Amazon

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.

Intégrer GameLift Serveurs Amazon avec un projet de serveur de jeu Unity

Note

Cette rubrique fournit des informations sur une version antérieure du Amazon GameLift Servers plug-in pour Unity. La version 1.x utilise le SDK du serveur pour Amazon GameLift Servers 4.x ou une version antérieure. Pour obtenir de la documentation sur la dernière version du plug-in, qui utilise le SDK 5.x du serveur et prend en charge de nouvelles fonctionnalités telles que Amazon GameLift Servers Anywhere et l'hébergement de conteneurs gérés, consultez. GameLift Serveurs Amazon plug-in pour Unity (SDK serveur 5.x)

Cette rubrique vous aide à préparer votre serveur de jeu personnalisé pour l'hébergement surAmazon GameLift Servers. Le serveur de jeu doit être en mesure de notifier Amazon GameLift Servers son état, de démarrer et d'arrêter des sessions de jeu lorsqu'il y est invité, et d'effectuer d'autres tâches. Pour plus d’informations, consultez Addition GameLift Serveurs Amazon sur votre serveur de jeu à l'aide du SDK du serveur.

Conditions préalables

Avant d'intégrer votre serveur de jeu, effectuez les tâches suivantes :

Configurer un nouveau processus serveur

Note

Cette rubrique fait référence au Amazon GameLift Servers plug-in pour Unity version 1.0.0, qui utilise le SDK serveur 4.x ou une version antérieure.

Établissez la communication avec Amazon GameLift Servers et signalez que le processus serveur est prêt à héberger une session de jeu.

  1. Initialisez le SDK du serveur en appelant. InitSDK()

  2. Pour préparer le serveur à accepter une session de jeu, appelez ProcessReady() avec le port de connexion et les détails de localisation de la session de jeu. Incluez les noms des fonctions de rappel Amazon GameLift Servers invoquées par le service, telles queOnGameSession(),OnGameSessionUpdate(),OnProcessTerminate(). OnHealthCheck() Amazon GameLift Serversla fourniture d'un rappel peut prendre quelques minutes.

  3. Amazon GameLift Serversmet à jour l'état du processus serveur àACTIVE.

  4. Amazon GameLift Serversappels onHealthCheck périodiques.

L'exemple de code suivant montre comment configurer un processus serveur simple avecAmazon GameLift Servers.

//initSDK var initSDKOutcome = GameLiftServerAPI.InitSDK(); //processReady // Set parameters and call ProcessReady var processParams = new ProcessParameters( this.OnGameSession, this.OnProcessTerminate, this.OnHealthCheck, this.OnGameSessionUpdate, port, // Examples of log and error files written by the game server new LogParameters(new List<string>() { "C:\\game\\logs", "C:\\game\\error" }) ); var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams); // Implement callback functions void OnGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map // When ready to receive players var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); } void OnProcessTerminate() { // game-specific tasks required to gracefully shut down a game session, // such as notifying players, preserving game state data, and other cleanup var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding(); } bool OnHealthCheck() { bool isHealthy; // complete health evaluation within 60 seconds and set health return isHealthy; }

Démarrer une session de jeu

Note

Cette rubrique fait référence au Amazon GameLift Servers plug-in pour Unity version 1.0.0, qui utilise le SDK serveur 4.x ou une version antérieure.

Une fois l'initialisation du jeu terminée, vous pouvez démarrer une session de jeu.

  1. Implémentez la fonction de rappel. onStartGameSession Amazon GameLift Serversinvoque cette méthode pour démarrer une nouvelle session de jeu sur le processus serveur et recevoir les connexions des joueurs.

  2. Pour activer une session de jeu, appelezActivateGameSession(). Pour plus d'informations sur le SDK, consultezSDK de serveur C# pour GameLift Serveurs Amazon 4.x -- Actions.

L'exemple de code suivant montre comment démarrer une session de jeu avecAmazon GameLift Servers.

void OnStartGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map ... // When ready to receive players var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); }

Mettre fin à une session de jeu

Note

Cette rubrique fait référence au Amazon GameLift Servers plug-in pour Unity version 1.0.0, qui utilise le SDK serveur 4.x ou une version antérieure.

Avertissez Amazon GameLift Servers lorsqu'une session de jeu se termine. Il est recommandé d'arrêter les processus du serveur une fois les sessions de jeu terminées afin de recycler et d'actualiser les ressources d'hébergement.

  1. Configurez une fonction nommée onProcessTerminate pour recevoir des demandes Amazon GameLift Servers et appelerProcessEnding().

  2. L'état du processus passe àTERMINATED.

L'exemple suivant décrit comment mettre fin au processus d'une session de jeu.

var processEndingOutcome = GameLiftServerAPI.ProcessEnding(); if (processReadyOutcome.Success) Environment.Exit(0); // otherwise, exit with error code Environment.Exit(errorCode);

Créez un serveur, compilez-le et téléchargez-le sur GameLift Serveurs Amazon

Note

Cette rubrique fait référence au Amazon GameLift Servers plug-in pour Unity version 1.0.0, qui utilise le SDK serveur 4.x ou une version antérieure.

Après avoir intégré votre serveur de jeu àAmazon GameLift Servers, téléchargez les fichiers de build vers une flotte afin que celle-ci Amazon GameLift Servers puisse les déployer pour l'hébergement de jeux. Pour plus d'informations sur la façon de télécharger votre serveur versAmazon GameLift Servers, consultezCréez un serveur de jeu conçu pour GameLift Serveurs Amazon.