Gérez la façon dont Amazon GameLift lance ses serveurs de jeux - 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.

Gérez la façon dont Amazon GameLift lance ses serveurs de jeux

Vous pouvez configurer la configuration d'exécution d'un parc EC2 géré pour exécuter plusieurs processus de serveur de jeu par instance. Cela permet d'utiliser vos ressources d'hébergement de manière plus efficace.

Comment une flotte gère plusieurs processus

Amazon GameLift utilise la configuration d'exécution d'un parc pour déterminer le type et le nombre de processus à exécuter sur chaque instance. Une configuration d'exécution contient au moins une configuration de processus serveur qui représente un serveur de jeu exécutable. Vous pouvez définir des configurations de processus de serveur supplémentaires pour exécuter d'autres types de processus liés à votre jeu. Chaque configuration de processus serveur contient les informations suivantes :

  • Nom de fichier et chemin d'accès d'un exécutable dans votre build de jeu.

  • (Facultatif) Paramètres à transmettre au processus serveur au lancement.

  • Le nombre de processus à exécuter simultanément.

Lorsqu'une instance du parc est activée, elle lance l'ensemble des processus serveur définis dans la configuration du runtime. Dans le cas de plusieurs processus, Amazon GameLift échelonne le lancement de chaque processus. Les processus du serveur ont une durée de vie limitée. À leur fin, Amazon GameLift lance de nouveaux processus pour maintenir le nombre et le type de processus serveur définis dans la configuration d'exécution.

Vous pouvez modifier la configuration d'exécution d'une flotte à tout moment en ajoutant, en modifiant ou en supprimant des configurations de processus serveur. Chaque instance vérifie régulièrement si des mises à jour ont été apportées à la configuration d'exécution du parc afin de mettre en œuvre les modifications. Voici comment Amazon GameLift adopte les modifications de configuration de l'environnement d'exécution :

  1. L'instance envoie une demande à Amazon GameLift pour obtenir la dernière version de la configuration d'exécution.

  2. L'instance compare ses processus actifs à la dernière configuration d'exécution, puis effectue les opérations suivantes :

    • Si la configuration d'exécution mise à jour supprime un type de processus serveur, les processus serveur actifs de ce type continuent de s'exécuter jusqu'à leur fin. L'instance ne remplace pas ces processus de serveur.

    • Si la configuration d'exécution mise à jour réduit le nombre de processus concurrents pour un type de processus serveur, les processus serveur excédentaires de ce type continuent de s'exécuter jusqu'à leur fin. L'instance ne remplace pas ces processus de serveur excédentaires.

    • Si la configuration d'exécution mise à jour ajoute un nouveau type de processus serveur ou augmente le nombre de processus concurrents pour un type existant, l'instance lance de nouveaux processus serveur, jusqu'au GameLift maximum autorisé par Amazon. Dans ce cas, l'instance lance de nouveaux processus serveur à la fin des processus existants.

Optimisez un parc pour de multiples processus

Pour utiliser plusieurs processus sur un parc, procédez comme suit :

  • Créez une version contenant les exécutables du serveur de jeu que vous souhaitez déployer sur une flotte, puis importez la version sur Amazon. GameLift Tous les serveurs de jeu d'une version doivent fonctionner sur la même plateforme et utiliser le SDK Amazon GameLift Server.

  • Créez une configuration d'exécution avec une ou plusieurs configurations de processus serveur et plusieurs processus simultanés.

  • Intégrez les clients de jeu à la version 2016-08-04 ou ultérieure du AWS SDK.

Pour optimiser les performances de votre flotte, nous vous recommandons de procéder comme suit :

  • Gérez les scénarios d'arrêt des processus du serveur afin qu'Amazon GameLift puisse recycler les processus de manière efficace. Par exemple :

    • Ajoutez une procédure d'arrêt au code de votre serveur de jeu qui appelle l'API du serveurProcessEnding().

    • Implémentez la fonction de rappel OnProcessTerminate() dans le code de votre serveur de jeu pour gérer les demandes de résiliation d'AmazonGameLift.

  • Assurez-vous qu'Amazon GameLift arrête et relance les processus de serveur défectueux. Signalez l'état de santé à Amazon en GameLift implémentant la fonction de OnHealthCheck() rappel dans le code de votre serveur de jeu. Amazon arrête GameLift automatiquement les processus du serveur signalés comme défectueux pendant trois rapports consécutifs. Si vous ne l'implémentez pasOnHealthCheck(), Amazon GameLift suppose qu'un processus serveur est sain, à moins que le processus ne réponde pas à une communication.

Choisissez le nombre de processus par instance

Lorsque vous décidez du nombre de processus simultanés à exécuter sur une instance, tenez compte des points suivants :

  • Amazon GameLift limite chaque instance à un nombre maximum de processus simultanés. La somme de tous les processus simultanés pour les configurations des processus de serveur d'un parc ne peut pas dépasser ce quota.

  • Pour maintenir des niveaux de performance acceptables, le type d'instance Amazon EC2 peut limiter le nombre de processus pouvant s'exécuter simultanément. Testez différentes configurations pour votre jeu afin de trouver le bon nombre de processus pour votre type d'instance préféré.

  • Amazon GameLift n'exécute pas plus de processus simultanés que le nombre total configuré. Cela signifie que la transition de la configuration d'exécution précédente vers la nouvelle configuration peut se faire progressivement.