Tutoriel : intégration rapide avec le wrapper Amazon GameLift Servers - Amazon GameLift Servers

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.

Tutoriel : intégration rapide avec le wrapper Amazon GameLift Servers

Bienvenue dans le didacticiel d'intégration pourAmazon GameLift Servers. Dans ce didacticiel, vous déployez rapidement votre serveur de jeu pour qu'il soit hébergé sur un parc de ressources informatiques basées sur le cloud. Utilisez ce didacticiel pour éviter d'intégrer le SDK du serveur Amazon GameLift Servers dans le code de votre jeu, et déployez plutôt votre jeu avec les fonctionnalités minimales nécessaires pour communiquer avec le Amazon GameLift Servers service et exécuter des sessions de jeu. Vous allez configurer une solution d'hébergement de base et l'utiliser pour profiter de la gamme complète de fonctionnalités telles que le dimensionnement automatique et le matchmaking. C'est également un excellent moyen d'héberger un prototype de votre jeu dans le cadre d'une démo en direct ou à des fins de test.

Principaux avantages de cette méthode d'intégration :

  • Déployez rapidement votre serveur de jeu pour un hébergement rapide.

  • Aucun changement de code de jeu et aucune modification requise.

  • Utilisez cette méthode avec n'importe quel exécutable de jeu, quel que soit le moteur de jeu.

  • Explorez tous les outils Amazon GameLift Servers de gestion, y compris la surveillance de l'activité des sessions de jeu et de l'état de santé de l'hébergement.

Note

L'emballage est destiné à l'évaluation et à une utilisation de base en production. Les fonctionnalités avancées telles que la gestion détaillée des sessions des joueurs nécessitent une intégration complète du SDK au serveur.

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Et Compte AWS avec les autorisations appropriées

  • AWS CLI installé

  • Go 1,18 et plus

  • Un serveur de jeu multijoueur exécutable

  • Marque (Linux/Mac)

  • Git installé avec un compte actif

Présentation

Dans ce didacticiel, vous allez :

  1. Obtenez et créez le wrapper

  2. Préparez le build du jeu

  3. Configurer le wrapper

  4. Téléchargez le build du serveur de jeu

  5. Création de la EC2 flotte gérée

  6. Créer une session de jeu et s'y connecter

  7. Surveillez et gérez vos serveurs de jeu

  8. Faites évoluer vos serveurs de jeu

Étape 1 : Obtenir et créer le wrapper du serveur de jeu

Utilisez les commandes suivantes pour obtenir la source du wrapper du serveur de jeu et créer le wrapper. Ces commandes utilisent SSH, mais vous pouvez également accéder directement au dépôt Github.

Windows

> git clone git@github.com:amazon-gamelift/amazon-gamelift-servers-game-server-wrapper.git > cd amazon-gamelift-servers-game-server-wrapper > powershell -file .\build.ps1

Mac et Linux

$ git clone git@github.com:amazon-gamelift/amazon-gamelift-servers-game-server-wrapper.git $ cd amazon-gamelift-servers-game-server-wrapper $ make

En cas de compilation réussie, un répertoire « out » est ajouté àamazon-gamelift-servers-game-server-wrapper. Ce répertoire contient trois dossiers, un pour chaque option de parc d'hébergement prise en charge, qui contiennent un ensemble d'artefacts de build. Dans le cadre de ce didacticiel, vous déployez sur EC2 des flottes gérées. Vous allez donc utiliser le dossiergamelift-servers-managed-ec2.

Étape 2 : Préparez la version de votre serveur de jeu

Au cours de cette étape, vous préparez les fichiers de build de votre serveur de jeu pour les télécharger sur leAmazon GameLift Servers.

Créez le répertoire du jeu

Maintenant, préparez un répertoire de jeu sur votre machine locale. Ce répertoire doit contenir tous les fichiers dont vous avez besoin pour faire fonctionner votre serveur de jeuAmazon GameLift Servers. Cela inclut le wrapper du serveur de jeu, le build de votre serveur de jeu et le fichier config.yaml qui permet au wrapper de fonctionner avec votre serveur de jeu.

Procédez comme suit :

  1. EC2 Flotte gérée. Dans le dossier de sortie du wrapper du serveur de jeu, recherchez l'artefact de build à déployer dans une flotte gérée EC2 . Le build sera écrit dans un répertoire de sortie comme indiqué ici :out\linux\amd64\gamelift-servers-managed-ec2.

  2. Copiez le fichier exécutable de votre serveur de jeu et tous les fichiers associés dont il a besoin pour fonctionner dans le gamelift-servers-managed-ec2 dossier. Vous pouvez avoir des répertoires imbriqués selon vos besoins.

Voici un exemple de structure de répertoire :

gamelift-servers-managed-ec2 │-- config.yaml │-- amazon-gamelift-servers-game-server-wrapper │-- MyGame │ │-- server-executable.exe │ │-- my-game-settings │ │ ......

Étape 3 : configurer le wrapper pour votre flotte

Amazon GameLift Serversgère le cycle de vie des instances de calcul d'un parc, en créant de nouvelles instances lorsque la version de votre serveur est installée et en recyclant les instances selon les besoins. Le service gère le cycle de vie des processus du serveur de jeu qui s'exécute sur chaque instance. Une EC2 flotte gérée peut avoir des instances situées à plusieurs endroits pour soutenir les joueurs où qu'ils se trouvent.

Modifiez le fichier config.yaml pour configurer le wrapper pour la journalisation, la configuration des ports et l'initialisation du serveur.

  1. Configurez les paramètres de journalisation. Le wrapper du serveur de jeu génère des messages de journal pour chaque processus du serveur de jeu. Par défaut, le niveau de journalisation est défini sur debug pour une verbosité maximale. Cela est très utile lors de la configuration et du dépannage et détermine le niveau de détail des messages du journal, dans ce cas, les plus détaillés. Les options incluent debug, info, warn et error (les moins détaillées).

  2. Spécifiez le chemin d'accès au répertoire des journaux du serveur de jeu. Le chemin par défaut pour les journaux du serveur de jeu est./game-server-logs. Ce répertoire contient tous les journaux générés par votre serveur de jeu et chaque instance les possède. Les journaux sont automatiquement téléchargés Amazon GameLift Servers là où ils sont accessibles depuis l'onglet Événements. Consultez la section Dépannage pour plus de détails.

  3. Définissez la configuration des ports réseau. Réglez le port de jeu comme vous le souhaitez. Pour ce didacticiel, spécifiez un seul port, car vous allez créer une flotte qui n'exécutera qu'un seul processus de serveur de jeu simultané par instance. Si vous décidez d'exécuter plusieurs processus à la fois, vous devez configurer suffisamment de ports pour chaque processus simultané. La valeur par défaut est 37016, comme indiqué dans le fichier de configuration, mais en général, pour les flottes utilisant des versions Linux, utilisez les ports 22 et 1026-60000. Pour les flottes utilisant des versions Windows, utilisez les ports 1026 à 60000.

  4. Configurez le chemin d'accès à l'exécutable du serveur de jeu. Pour ./MyGame/my-server-executable.exe personnaliser le chemin d'accès à l'exécutable de votre serveur de jeu avec son nom et son emplacement réels. C'est le point d'entrée pour lancer votre serveur de jeu.

  5. Configurez les arguments du serveur de jeu. Spécifiez au minimum un argument -port et utilisez la même valeur de port de jeu que celle que vous avez définie auparavant. La valeur « pos » 0 indique qu'il s'agit du premier argument. Ajoutez d'autres arguments si nécessaire. Ces arguments sont transmis à votre serveur de jeu lors de son lancement, ce qui vous permet de configurer son comportement d'exécution.

    1. Argument : "--port"

    2. Valeur : "{{.port number here}}"

    3. Position : 0 (Premier argument de la liste)

Exemple de configuration :

log-config: wrapper-log-level: debug game-server-logs-dir: ./game-server-logs ports: gamePort: 37016 game-server-details: executable-file-path: ./MyGame/my-server-executable game-server-args: - arg: "--port" val: "{{.gameport}}" pos: 0

Étape 4 : Téléchargez le build du serveur de jeu

Vous avez maintenant terminé tous les éléments nécessaires à la construction de votre serveur de jeu (wrapper du serveur de jeu, config.yaml et fichiers de votre serveur de jeu), et vous êtes prêt à télécharger votre build de jeu pour l'héberger. Amazon GameLift Servers Le moyen le plus rapide de télécharger votre build de jeu est d'utiliser la AWS CLI commande upload-build illustrée dans l'exemple suivant.

Téléchargement d'une version de jeu sous Windows :

aws gamelift upload-build \ --name gamelift-test-2025-03-11-1 \ --build-version gamelift-test-2025-03-11-1 \ --build-root out/windows/amd64/gamelift-servers-managed-ec2 \ --operating-system WINDOWS_2016 \ --server-sdk-version 5.3.0 \ --region us-west-2
Note

Pour les versions Mac et Linux, utilisez --operating-system AMAZON_LINUX_2023

Lorsque vous créez le build, enregistrez l'ID du build issu de la réponse de l'API pour l'utiliser pour créer le parc de véhicules.

Étape 5 : Création de la EC2 flotte gérée

Les étapes suivantes décrivent une configuration de flotte minimale, afin que vous puissiez être opérationnel dès que possible.

Pour créer votre flotte :

  1. Connectez-vous au AWS Management Console et naviguez versAmazon GameLift Servers.

  2. Dans la barre de menu en haut de la fenêtre de la console, vérifiez dans quelle région se trouve votre build. Prenez note de cela, car votre flotte doit se trouver dans la même région, sinon vous ne pourrez ni trouver ni choisir votre modèle.

  3. Dans le volet de navigation de la EC2 section Managed, choisissez Builds.

  4. Sélectionnez le build que vous avez chargé précédemment pour afficher la page des détails du build.

  5. Dans la section Flottes, choisissez Créer une flotte qui affiche la page Définir les détails de la EC2 flotte gérée à partir de laquelle vous pouvez suivre l'état de votre flotte et consulter les événements de création de flotte dans l'onglet Événements.

  6. Renseignez le nom et la description, puis choisissez Next.

  7. Sur la page Définir les détails de l'instance, la région du build est affichée par défaut. Choisissez les régions supplémentaires que vous souhaitez ajouter.

  8. Pour le type de flotte, choisissez On-Demand.

  9. Sous Types d'instances, choisissez c5.large, puis Next.

  10. Dans Configuration d'exécution, étant donné que la version de jeu que vous avez téléchargée utilise le wrapper, vous devez plutôt pointer vers l'exécutable du wrapper. Pour les serveurs de jeux Windows, c'est le casC:\game\amazon-gamelift-servers-game-server-wrapper.exe. Pour les serveurs de jeux Linux, c'est le cas/local/game/amazon-gamelift-servers-game-server-wrapper.

    Par exemple : LaunchPath": "/local/game/amazon-gamelift-servers-game-server-wrapper", "ConcurrentExecutions": 1, "Parameters": "—port 37016

    Configurez également les valeurs des ports de jeu avec une plage qui tient compte du port défini dans les paramètres de lancement de la configuration d'exécution config.yaml et de la configuration d'exécution. Le port d'config.yamlentrée ne doit pas nécessairement correspondre à celui spécifié dans la configuration d'exécution de la flotte, mais au moment de l'exécution, si la configuration spécifie un port différent, cette valeur remplace celle duconfig.yaml. Les paramètres de lancement saisis dans la configuration d'exécution remplacent également ceux figurant dans leconfig.yaml.

  11. Sur la page Réviser et créer, vérifiez toutes les configurations, puis choisissez Soumettre pour créer votre flotte. L'état de la flotte changera au fur et à mesure que la capacité d'hébergement du serveur de jeu augmentera, et elle affichera très bientôt le statut Actif. Une fois l'activation terminée et la flotte déployée, le service lance le wrapper qui est prêt à recevoir une demande de session de jeu.

Étape 6 : créer une session de jeu et s'y connecter

Lorsque le statut de votre flotte indique Actif, cela signifie que les serveurs de jeu sont prêts à accueillir une session de jeu. Pour démarrer une session de jeu, faites une demande de session de jeu auprès du Amazon GameLift Servers service. Ici, vous allez utiliser le AWS CLI pour faire cette demande.

Note

N'oubliez pas que la création d'une session de jeu à l'aide du AWS CLI est utile pour tester et vous familiariser avec le processus. À un moment donné, vous ajouterez des appels de AWS SDK programmatiques au service principal de votre jeu dans le cadre du matchmaking ou du système de placement de sessions de jeu de votre jeu.

Utilisez ce qui suit pour créer une session de jeu :

aws gamelift create-game-session \ --fleet-id <FLEET_ID> \ --game-properties '[{"Key": "exampleProperty", "Value": "exampleValue"}]' \ --maximum-player-session-count 3 \ --region us-west-2

Vous pouvez également transmettre des propriétés de jeu personnalisées à l'exécutable de votre serveur. Consultez les arguments du serveur de jeu dans le fichier README pour plus de détails. Lorsqu'il reçoit l' create-game-sessionappel, il demande au Amazon GameLift Servers wrapper de lancer le fichier exécutable du serveur de jeu et de démarrer une session de jeu. Ce qu'il contient config.yaml affecte la configuration du serveur de jeu, et les paramètres de lancement définis dans la console déterminent la configuration de la session de jeu elle-même.

Exemple de format pour ajouter des propriétés de jeu :

defaultArgs: - arg: "--port" val: "{{.GamePort}}" pos: 0 - arg: "--ipAddress" val: "{{.IpAddress}}" pos: 1 - arg: "--gameSessionId" val: "{{.GameSessionId}}" pos: 2

Étape 7 : Gérez et surveillez votre flotte

Maintenant que votre parc de serveurs de jeu est configuré et qu'une session de jeu est lancée, vous pouvez le gérer et le surveiller depuis la Amazon GameLift Servers console. La meilleure façon d'y parvenir est d'accéder à la page des détails de la flotte, où vous pouvez modifier les détails de la flotte ou modifier l'échelle et la capacité de la flotte dans l'onglet Mise à l'échelle. Consultez la section suivante sur le dimensionnement de vos serveurs de jeu.

Choisissez l'onglet Métriques pour afficher des graphiques illustrant la surveillance des métriques d'activité et du matériel. Pour plus de détails sur les graphiques de mesures, cliquez sur le lien Info situé à côté de l'identifiant de votre flotte. En outre, vous pouvez surveiller de près vos serveurs de jeu depuis l'onglet Mesures, mais vous pouvez également ajouter des alarmes à ces statistiques dans le CloudWatch tableau de bord.

Pour accéder au CloudWatch tableau de bord depuis la console :

  1. Tapez « CloudWatch » dans la barre de recherche et choisissez-le dans la liste des résultats de recherche pour afficher l' CloudWatch aperçu.

  2. Faites défiler la page vers le bas et choisissez Afficher le GameLift tableau de bord pour afficher des graphiques basés sur des indicateurs clés relatifs à vos flottes et à vos sessions de jeu.

Étape 8 : redimensionnez vos serveurs de jeu

À l'étape suivante, vous allez configurer le dimensionnement automatique. La mise à l'échelle automatique vous permet d'adapter de manière dynamique la capacité de votre flotte en fonction de l'activité du serveur de jeu. Au fur et à mesure que les joueurs arrivent et commencent des sessions de jeu, le scalage automatique ajoute de nouvelles instances, et à mesure que la demande des joueurs diminue, le scalage automatique libère les instances inutilisées. Il s'agit d'un moyen efficace de minimiser vos ressources et vos coûts d'hébergement tout en offrant une expérience de jeu fluide et rapide.

Lorsque vous vous préparez au lancement du jeu, vous devez configurer le dimensionnement automatique de vos flottes. La mise à l'échelle automatique est recommandée comme moyen efficace de minimiser vos ressources et vos coûts d'hébergement tout en offrant une expérience de jeu fluide et rapide.

Pour configurer manuellement la capacité du parc

Pour configurer manuellement la capacité du parc

  1. Accédez à l'onglet Scaling sur la page de détails de votre flotte.

  2. Sélectionnez un lieu, puis cliquez sur Modifier.

  3. Modifiez la valeur des instances souhaitées et modifiez les paramètres de taille minimale et maximale afin de dépasser leurs valeurs actuelles, puis choisissez Confirmer.

Note

Utilisez le paramètre maximum d'instances comme limite pour éviter une mise à l'échelle et des coûts excessifs.

Pour utiliser la mise à l'échelle automatique basée sur les cibles

Pour utiliser la mise à l'échelle automatique basée sur les cibles

La mise à l'échelle automatique basée sur les cibles (suivi des cibles) lie la mise à l'échelle de la flotte au pourcentage de sessions de jeu disponibles. Au fur et à mesure que les joueurs se pressent pour jouer à votre jeu et que le nombre de sessions de jeu disponibles diminue, celui-ci réagit en ajoutant automatiquement de nouvelles instances à la flotte.

  1. Sous Politique de mise à l'échelle automatique basée sur Target, choisissez Ajouter une politique et définissez la capacité de la flotte pour qu'elle change automatiquement lorsqu'elle atteint le seuil du pourcentage de sessions de jeu disponibles que vous avez défini. Une plus grande mémoire tampon permet de mieux gérer les surtensions, ce qui permet aux nouveaux joueurs de se lancer rapidement dans les jeux, mais cela peut également entraîner une augmentation des coûts d'hébergement.

  2. Choisissez Confirmer pour accepter les modifications.

La mise à l'échelle automatique basée sur des règles vous donne un contrôle plus précis, notamment la possibilité de lier la mise à l'échelle à d'autres indicateurs de flotte et de définir des seuils personnalisés et des réponses de dimensionnement. Il propose des options puissantes, mais il nécessite également l'utilisation de la CLI et des tests approfondis pour comprendre le comportement des règles personnalisées en action. Ce didacticiel se concentre d'abord sur la configuration de l'approche basée sur les cibles.

Résoudre les problèmes courants

Voici les problèmes courants que vous pouvez rencontrer lors du fonctionnement de vos serveurs de jeu et de vos sessions de jeu. Lorsque le serveur ou la session de jeu ne fonctionnent pas correctement, la première étape consiste à consulter les journaux, ce qui peut révéler l'un des problèmes décrits ci-dessous concernant les nouveaux déploiements ou les jeux en production.

Les informations suivantes sont souvent révélées dans les journaux :

  • Le processus du serveur de jeu ne peut pas démarrer. Il s'agit peut-être d'une erreur dans la configuration du wrapper. Vérifiez que le fichier possède le bon chemin de lancement et que les paramètres et arguments de lancement sont corrects.

  • La version du serveur de jeu n'est pas exécutable. Il s'agit probablement d'une erreur dans le code du jeu.

  • Les joueurs ne peuvent pas se connecter aux sessions de jeu. Il s'agit probablement d'une erreur de configuration du port.

  • Retard ou lenteur des connexions. Passez en revue les politiques et les seuils de dimensionnement.

  • Aucune connexion. Vérifiez les règles et la configuration des ports pour votre flotte.

Pour consulter les journaux d'événements de votre Amazon GameLift Servers flotte

Pour consulter les journaux d'événements de votre Amazon GameLift Servers flotte

  1. Ouvrez la Amazon GameLift Serversconsole .

  2. Sur la page Détails de la flotte, choisissez l'onglet Événements et téléchargez le journal. Vous pouvez également surveiller l'activité et les statistiques matérielles relatives à l'état du serveur de jeu et aux activations de sessions de jeu depuis l'onglet Mesures.

Pour consulter les journaux des sessions de jeu

Pour consulter les journaux des sessions de jeu

  1. Depuis la console, ouvrez votre flotte et ouvrez l'onglet Sessions de jeu.

  2. Choisissez un identifiant de session de jeu dans la liste pour afficher la page de présentation correspondante.

  3. Choisissez Télécharger les journaux pour télécharger un fichier journal localement.

Pour consulter les journaux des sessions de jeu avec la CLI, utilisez l'GetGameSessionLogURLAPI. Amazon GameLift Serversstocke automatiquement les journaux pendant 14 jours.

Vous pouvez également configurer les CloudWatch journaux Amazon pour votre flotte. Cela fournit des fonctionnalités de journalisation supplémentaires et une intégration avec d'autres services AWS de surveillance.

Pour un accès aux journaux en temps réel ou des périodes de conservation prolongées grâce à CloudWatch :

  1. En haut du tableau de bord de votre Amazon GameLift Servers console, tapez « CloudWatch » dans la barre de recherche et choisissez-le dans le menu déroulant des résultats.

  2. Accédez aux groupes de CloudWatch journaux et recherchez des sessions spécifiques. La méthode la plus simple consiste à cliquer sur Rechercher tout et à filtrer à l'aide gameSessionId de ClientiD.

Étapes suivantes