

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
<a name="gamelift-wrapper-tutorial"></a>

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.

## Conditions préalables
<a name="gamelift-wrapper-tutorial-prerequisites"></a>

Avant de commencer, assurez-vous de disposer des éléments suivants :
+ 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 de
<a name="gamelift-wrapper-tutorial-overview"></a>

Dans ce didacticiel, vous allez :

1. Obtenez et fabriquez le wrapper

1. Préparez le build du jeu

1. Configurer le wrapper

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

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

1. Création et connexion à une session de jeu

1. Surveillez et gérez vos serveurs de jeu

1. Faites évoluer vos serveurs de jeu

## Étape 1 : Obtenir et créer le wrapper du serveur de jeu
<a name="gamelift-wrapper-tutorial-step1"></a>

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
<a name="gamelift-wrapper-tutorial-step1-windows"></a>

```
> 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
<a name="gamelift-wrapper-tutorial-step1-mac-linux"></a>

```
$ 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 des flottes EC2 gérées. Vous allez donc utiliser le dossier. `gamelift-servers-managed-ec2`

## Étape 2 : Préparez la version de votre serveur de jeu
<a name="gamelift-wrapper-tutorial-step2"></a>

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
<a name="gamelift-wrapper-tutorial-step2-create-directory"></a>

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

1. 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
<a name="gamelift-wrapper-tutorial-step3"></a>

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 flotte EC2 gérée peut avoir des instances réparties sur plusieurs sites 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.

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).

1. **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.

1. **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.

1. **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.

1. **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 selon vos besoins. 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"`

   1. Valeur : `"{{.port number here}}"`

   1. 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
<a name="gamelift-wrapper-tutorial-step4"></a>

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_2022 \
    --server-sdk-version 5.3.0 \
    --region us-west-2
```

**Note**  
Pour les versions Mac et Linux, utilisez --operating-system AMAZON\$1LINUX\$12023

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 flotte EC2 gérée
<a name="gamelift-wrapper-tutorial-step5"></a>

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.

1. 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.

1. Dans le volet de navigation de la section **Managed EC2**, sélectionnez **Builds**.

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

1. Dans la section Flottes, choisissez **Create Fleet**, qui affiche la page de 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**.

1. Renseignez le nom et la description, puis choisissez **Next**.

1. 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.

1. Pour le **type de flotte**, choisissez **On-Demand**.

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

1. 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 cas`C:\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'entrée `config.yaml` 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 figurant dans le`config.yaml`. Les paramètres de lancement saisis dans la configuration d'exécution remplacent également ceux du`config.yaml`.

1. 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
<a name="gamelift-wrapper-tutorial-step6"></a>

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 à votre service principal de jeu dans le cadre du système de matchmaking ou 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
<a name="gamelift-wrapper-tutorial-step7"></a>

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.

1. 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
<a name="gamelift-wrapper-tutorial-step8"></a>

À 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
<a name="gamelift-wrapper-tutorial-step8-manual"></a>

Pour configurer manuellement la capacité du parc

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

1. Sélectionnez un lieu, puis cliquez sur **Modifier**.

1. 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
<a name="gamelift-wrapper-tutorial-step8-target-based"></a>

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.

1. 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
<a name="gamelift-wrapper-tutorial-troubleshoot"></a>

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
<a name="gamelift-wrapper-tutorial-troubleshoot-fleet-logs"></a>

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

1. Ouvrez la console Amazon GameLift Servers.

1. 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
<a name="gamelift-wrapper-tutorial-troubleshoot-session-logs"></a>

Pour consulter les journaux des sessions de jeu

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

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

1. 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'`GetGameSessionLogURL`API. 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.

1. 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
<a name="gamelift-wrapper-tutorial-next-steps"></a>
+ [Créez une flotte multi-sites pour ajouter de l'hébergement dans des sites supplémentaires](gamelift-regions.md#gamelift-regions-hosting)
+ [Ajoutez une file d'attente pour les sessions de jeu afin de trouver les meilleurs emplacements possibles pour les sessions de jeu sur plusieurs sites](queues-intro.md)
+ [Expérimentez le FlexMatch matchmaking en créant un entremetteur et un ensemble de règles pour votre jeu](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html)
+ [Commencez à travailler sur les fonctionnalités de votre client de jeu et des composants du service principal, afin que les joueurs puissent faire des demandes d'inscription et se connecter directement aux sessions de jeu](gamelift-sdk-client-api.md)
+ [Lorsque vous êtes prêt, passez à une solution entièrement intégrée](gamelift-roadmap-managed.md)