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

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 Amazon GameLift à un projet de serveur de jeu Unity

Note

Cette rubrique fournit des informations relatives à une version antérieure du GameLift plugin Amazon pour Unity. La version 1.0.0 (publiée en 2021) utilise le SDK du GameLift serveur Amazon 4.x ou une version antérieure. Pour obtenir de la documentation sur la dernière version du plugin, qui utilise le SDK 5.x du serveur et prend en charge Amazon GameLift Anywhere, consultez. Guide du GameLift plugin Amazon pour Unity pour le SDK de serveur 5.x

Cette rubrique vous aide à préparer votre serveur de jeu personnalisé pour l'hébergement sur Amazon GameLift. Le serveur de jeu doit être en mesure d' GameLift informer Amazon de son statut, 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 Ajoutez Amazon GameLift à votre serveur de jeu.

Prérequis

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

Configuration d'un nouveau processus serveur

Note

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

Configurez la communication avec Amazon GameLift et signalez que le processus du 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 l'emplacement de la session de jeu. Incluez les noms des fonctions de rappel invoquées par le GameLift service Amazon, telles queOnGameSession(),,OnGameSessionUpdate(),OnProcessTerminate(). OnHealthCheck() Amazon GameLift peut prendre quelques minutes pour vous rappeler.

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

  4. Amazon GameLift appelle onHealthCheck régulièrement.

L'exemple de code suivant montre comment configurer un processus serveur simple avec Amazon GameLift.

//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 GameLift plugin Amazon pour Unity version 1.0.0, qui utilise le SDK de 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 utilise cette méthode pour démarrer une nouvelle session de jeu sur le serveur et recevoir les connexions des joueurs.

  2. Pour activer une session de jeu, appelezActivateGameSession(). Pour plus d'informations sur le SDK, consultezRéférence GameLift du SDK Amazon Server (C#) : Actions.

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

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

Fin d'une session de jeu

Note

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

Avertissez Amazon GameLift 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 les demandes d'Amazon GameLift et appelezProcessEnding().

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

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

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

Création d'un serveur, création et téléchargement sur Amazon GameLift

Note

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

Après avoir intégré votre serveur de jeu à Amazon GameLift, téléchargez les fichiers de compilation dans une flotte afin qu'Amazon GameLift puisse les déployer pour l'hébergement de jeux. Pour plus d'informations sur le chargement de votre serveur sur Amazon GameLift, consultezTéléchargez une version de serveur personnalisée sur Amazon GameLift.