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 GameLift Serveurs Amazon emballage
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 une flotte 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 la mise à l'échelle 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 du jeu.
-
Explorez tous les outils Amazon GameLift Servers de gestion, notamment 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 du serveur.
Conditions préalables
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Et Compte AWS avec les autorisations appropriées
-
AWS CLI installé
-
Passez à 1,18 et versions supérieures
-
Un serveur de jeu multijoueur exécutable
-
Marque (Linux/Mac)
-
Git installé avec un compte actif
Vue d’ensemble
Dans ce didacticiel, vous allez :
-
Obtenez et créez le wrapper
-
Préparez la construction du jeu
-
Configurer le wrapper
-
Téléchargez la version du serveur de jeu
-
Créez la flotte EC2 gérée
-
Créez une session de jeu et connectez-vous à celle-ci
-
Surveillez et gérez vos serveurs de jeux
-
Faites évoluer vos serveurs de jeu
Étape 1 : Obtenez et créez 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 GitHub référentiel.
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
Lors d'une 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 construction. Pour ce didacticiel, vous déployez sur des flottes EC2 gérées. Vous allez donc utiliser le dossier. gamelift-servers-managed-ec2
Étape 2 : Préparez la compilation de votre serveur de jeu
Au cours de cette étape, vous préparez les fichiers de construction de votre serveur de jeu pour les Amazon GameLift Servers télécharger sur.
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 exécuter votre serveur de jeuAmazon GameLift Servers. Cela inclut le wrapper du serveur de jeu, la version 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 :
-
Flotte EC2 gérée. Dans le dossier de sortie du wrapper du serveur de jeu, recherchez l'artefact de construction à déployer sur une flotte EC2 gérée. La compilation sera écrite dans un répertoire de sortie comme indiqué ici :
out\linux\amd64\gamelift-servers-managed-ec2. -
Copiez le fichier exécutable de votre serveur de jeu et tous les fichiers associés nécessaires à son exécution dans le
gamelift-servers-managed-ec2dossier. 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 : Configuration de l'emballage pour votre flotte
Amazon GameLift Serversgère le cycle de vie des instances de calcul d'une flotte, en créant de nouvelles instances avec la version de votre serveur 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 flotte EC2 gérée peut avoir des instances à plusieurs endroits pour aider 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.
-
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 pour déboguer pour une verbosité maximale. Ceci est très utile lors de la configuration et du dépannage et permet de déterminer 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 (le moins verbeux).
-
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 en possède. Les journaux sont automatiquement chargés Amazon GameLift Servers là où ils sont accessibles depuis l'onglet Événements. Consultez la section Résolution des problèmes pour plus de détails. -
Définissez la configuration du port réseau. Réglez le port du jeu comme vous le souhaitez. Pour ce didacticiel, ne spécifiez qu'un port, car vous allez créer une flotte qui n'exécute 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.
-
Configurez le chemin d'accès à l'exécutable du serveur de jeu. Pour
./MyGame/my-server-executable.exepersonnaliser 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. -
Configurez les arguments du serveur de jeu. Au minimum, spécifiez un argument -port et utilisez la même valeur de port de jeu que vous avez définie précédemment. 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.
-
Argument :
"--port" -
Valeur :
"{{.port number here}}" -
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 la version du serveur de jeu
Vous avez maintenant terminé tous les éléments requis pour 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 version de jeu sur for hosting. Amazon GameLift Servers Le moyen le plus rapide de télécharger la version de votre jeu est d'utiliser la AWS CLI commande upload-build comme indiqué dans l'exemple suivant.
Téléchargement d'une version de jeu avec 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_2022 \ --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 à partir de la réponse de l'API pour l'utiliser pour la création de la flotte.
Étape 5 : Création de la flotte EC2 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 :
-
Connectez-vous au Console de gestion AWS et accédez àAmazon GameLift Servers.
-
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-en note car votre flotte doit se trouver dans la même région, sinon vous ne pourrez pas trouver ou choisir votre modèle.
-
Dans le volet de navigation de la section Managed EC2, choisissez Builds.
-
Sélectionnez le build que vous avez chargé précédemment pour afficher la page des détails du build.
-
Dans la section Flottes, choisissez Créer une flotte qui affiche la page des détails de la flotte EC2 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.
-
Entrez le nom et la description, puis choisissez Suivant.
-
Dans la page Définir les détails de l'instance, la région de la build est affichée par défaut. Choisissez les régions supplémentaires que vous souhaitez ajouter.
-
Pour Type de flotte, choisissez On-Demand.
-
Sous Types d'instances, choisissez c5.large, puis cliquez sur Suivant.
-
Dans Configuration d'exécution, étant donné que la version de votre jeu 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
C:\game\amazon-gamelift-servers-game-server-wrapper.exe. Pour les serveurs de jeux Linux, c'est/local/game/amazon-gamelift-servers-game-server-wrapper.Par exemple :
LaunchPath": "/local/game/amazon-gamelift-servers-game-server-wrapper", "ConcurrentExecutions": 1, "Parameters": "—port 37016Configurez également les valeurs des ports du jeu avec une plage qui tient compte du port défini dans les paramètres de lancement
config.yamlet de la configuration d'exécution. Le port d'entrée n'config.yamla pas besoin de 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 ce qui se trouve dans leconfig.yaml. 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 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éation et connexion à une session de jeu
Lorsque le statut de votre flotte indique Active, cela signifie que les serveurs de jeu sont prêts et attendent d'accueillir une session de jeu. Pour démarrer une session de jeu, envoyez une demande de session de jeu au 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 de AWS CLI est utile pour tester et vous familiariser avec le processus. À un moment donné, vous ajouterez des appels de AWS SDK programmatiques à votre service de backend de jeu dans le cadre du système de matchmaking ou de placement des sessions de jeu de votre jeu.
Pour créer une session de jeu, procédez comme suit :
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 README pour plus de détails. Lorsqu'il reçoit l'appel create-game-session, il demande au wrapper Amazon GameLift Servers de lancer l'exécutable du serveur de jeu et de démarrer une session de jeu. Ce qui se passe 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 a commencé, vous pouvez la gérer et la surveiller depuis la Amazon GameLift Servers console. La meilleure façon d'y parvenir est d'utiliser 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 Scaling. Consultez la section suivante concernant la mise à l'échelle de vos serveurs de jeu.
Cliquez sur l'onglet Métriques pour afficher des graphiques illustrant la surveillance des mesures relatives à l'activité et au matériel. Pour plus de détails sur les graphiques de mesures, cliquez sur le lien Info à côté de l'identifiant de votre flotte. En outre, bien que vous puissiez surveiller de près vos serveurs de jeu depuis l'onglet Métriques, 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 :
-
Tapez CloudWatch « » dans la barre de recherche et choisissez-le dans la liste des résultats de recherche pour afficher l' CloudWatch aperçu.
-
Faites défiler la page vers le bas et choisissez Afficher le GameLift tableau de bord pour voir des graphiques basés sur des indicateurs clés pour vos flottes et vos sessions de jeu.
Étape 8 : faites évoluer vos serveurs de jeu
Pour l'étape suivante, vous devez configurer la mise à l'échelle automatique. Grâce à la mise à l'échelle automatique, vous pouvez adapter dynamiquement 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, la mise à l'échelle automatique ajoute d'autres instances, et à mesure que la demande des joueurs diminue, la mise à l'échelle 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 souhaiterez configurer la mise à l'échelle automatique pour 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é de la flotte
Pour configurer manuellement la capacité de la flotte
-
Accédez à l'onglet Scaling de la page détaillée de votre flotte.
-
Sélectionnez un lieu et choisissez Modifier.
-
Modifiez la valeur des instances souhaitées et modifiez les paramètres de taille minimale et maximale afin de les redimensionner au-delà de leurs valeurs actuelles, puis choisissez Confirmer.
Note
Utilisez le réglage du nombre maximum d'instances comme solution pour éviter une mise à l'échelle et des coûts excessifs.
Pour utiliser la mise à l'échelle automatique basée sur des cibles
Pour utiliser la mise à l'échelle automatique basée sur des cibles
Target-based la mise à l'échelle automatique (suivi des cibles) associe la mise à l'échelle de la flotte au pourcentage de sessions de jeu disponibles. Au fur et à mesure que les joueurs commencent à jouer à votre jeu et que le nombre de sessions de jeu disponibles diminue, le jeu répond en ajoutant automatiquement d'autres instances à la flotte.
-
Sous Politique de dimensionnement Target-based automatique, choisissez Ajouter une politique et configurez 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 mémoire tampon plus importante permet de mieux gérer les surtensions, permettant ainsi à de nouveaux joueurs de participer plus rapidement aux parties, mais elle peut également entraîner une hausse des coûts d'hébergement.
-
Choisissez Confirmer pour accepter les modifications.
Rule-based la mise à l'échelle automatique vous offre un contrôle plus précis, comme la possibilité de lier la mise à l'échelle à d'autres mesures de la flotte et de définir des seuils personnalisés et des réponses de dimensionnement. Il propose des options puissantes, mais nécessite également l'utilisation de l'interface de ligne de commande et des tests approfondis pour comprendre le comportement des règles personnalisées en action. Ce didacticiel se concentre d'abord sur la mise en place de l'approche basée sur les cibles.
Résoudre les problèmes courants
Les problèmes courants que vous pouvez rencontrer lors du fonctionnement de vos serveurs de jeu et de vos sessions de jeu sont les suivants. Lorsque le serveur ou la session de jeu ne fonctionnent pas correctement, la première étape consiste à vérifier les journaux qui peuvent révéler l'un des problèmes décrits ci-dessous pour 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 ainsi que les paramètres et arguments de lancement corrects.
-
La compilation 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 de port.
-
Connexions lentes ou retardées. Passez en revue les politiques de dimensionnement et les seuils.
-
Aucune connexion. Vérifiez les règles de port et la configuration de votre flotte.
Pour consulter les journaux des événements de votre GameLift Serveurs Amazon flotte
Pour consulter les journaux des événements de votre Amazon GameLift Servers flotte
-
Ouvrez la console Amazon GameLift Servers.
-
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 concernant l'état de santé du serveur de jeu et les activations de sessions de jeu à partir de l'onglet Métriques.
Pour consulter les journaux des sessions de jeu
Pour consulter les journaux des sessions de jeu
-
Depuis la console, ouvrez votre flotte et ouvrez l'onglet Sessions de jeu.
-
Choisissez un identifiant de session de jeu dans la liste pour afficher la page d'aperçu correspondant.
-
Choisissez Télécharger les journaux pour télécharger un fichier journal localement.
Pour consulter les journaux de session de jeu à l'aide de 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 via CloudWatch :
-
En haut du tableau de bord de votre Amazon GameLift Servers console, tapez « CloudWatch » dans la barre de recherche et choisissez-le dans la liste déroulante des résultats.
-
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 du jeu SessionId ou du ClientID.