Feuille de route de développement pour l'hébergement avec Amazon GameLift Servers Anywhere - 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.

Feuille de route de développement pour l'hébergement avec Amazon GameLift Servers Anywhere

Cette feuille de route vous explique comment développer une solution d'hébergement pour votre jeu multijoueur à utiliser avec vos propres ressources (matériel sur site ou machines virtuelles). Amazon GameLift Serverspropose plusieurs options d'hébergement de jeux ; pour plus d'informations sur ces options, consultezAmazon GameLift Serverssolutions.

Avec l'hébergement Amazon GameLift Servers Anywhere, votre serveur de jeu est hébergé sur des ressources informatiques que vous fournissez et gérez. Vous pouvez créer une flotte Anywhere avec les configurations dont vous avez besoin et géographiquement, quel que soit l'endroit où se trouvent vos joueurs. Amazon GameLift Serversfournit les fonctionnalités suivantes pour une flotte n'importe où :

  • Gère le processus de placement des sessions de jeu pour vous en fonction de votre configuration, notamment :

    • Suivi de la disponibilité des serveurs de jeu dans l'ensemble de vos flottes Anywhere.

    • Traitement des demandes de jeu émanant du service client de votre jeu et mise en correspondance des demandes de jeu avec les serveurs disponibles.

    • Inviter les serveurs de jeu des flottes Anywhere à démarrer des sessions de jeu.

    • Communiquer les détails de connexion aux clients du jeu.

  • Recueille des indicateurs de performance pour le processus de placement des sessions et des indicateurs d'utilisation pour les sessions de jeu et les joueurs.

  • Supporte l'ensemble complet des fonctionnalités de FlexMatch matchmaking, afin que vous puissiez créer un entremetteur et l'intégrer au système de placement des sessions de jeu.

  • Permet à l'Amazon GameLift Serversagent de gérer les principales tâches de gestion des hôtes sur une flotte Anywhere.

  • Supporte la combinaison avec des flottes Amazon GameLift Servers gérées pour une solution hybride flexible.

Une solution Amazon GameLift Servers Anywhere est composée des composants suivants :

  • Une ou plusieurs flottes Amazon GameLift Servers Anywhere contenant vos ressources sur site ou d'autres ressources d'hébergement, gérées à l'aide de vos outils de gestion de configuration et de déploiement existants. (Vous pouvez éventuellement utiliser le AWS Systems Manager.)

  • Une version de serveur de jeu, intégrée au SDK du serveur pourAmazon GameLift Servers, à déployer sur toutes les flottes.

  • Un client de jeu et un service principal, intégrés au AWS SDK, pour interagir avec le Amazon GameLift Servers service et demander des sessions de jeu.

  • Une Amazon GameLift Servers file d'attente pour placer de nouvelles sessions de jeu avec les serveurs de jeu disponibles dans toutes les flottes.

  • (Facultatif) Un FlexMatch système de matchmaking pour créer des matchs multijoueurs et configurer des sessions de jeu pour eux.

Cette feuille de route présente une approche simplifiée pour que votre jeu multijoueur soit opérationnel avec succès grâce à l'hébergement Amazon GameLift Servers Anywhere. Une fois les composants nécessaires en place, vous pouvez continuer à développer le jeu et à personnaliser votre solution d'hébergement. À l'approche du lancement, consultez-les Préparation de votre jeu pour le lancement grâce à l'Amazon GameLift Servershébergement pour vous aider à préparer votre solution d'hébergement pour une utilisation en production.

Démarrez rapidement avec le Amazon GameLift Servers plugin pour Unreal Engine et Unity

Pour un déploiement plus rapide, essayez le Amazon GameLift Serversplugin pour Unreal Engine et Unity. Il fournit des flux de travail d'interface utilisateur guidés pour déployer rapidement votre serveur de jeu avec une configuration minimale, afin que vous puissiez tester les composants de votre jeu en action. Vous pouvez ensuite vous appuyer sur cette base pour créer une solution d'hébergement personnalisée pour votre jeu. Pour en savoir plus, consultez Explorez avec le Amazon GameLift Servers ..

Ajoutez des fonctionnalités à votre serveur de jeu afin qu'il puisse communiquer avec le Amazon GameLift Servers service lorsqu'il est déployé pour l'hébergement.

  • Procurez-vous le SDK du serveur pour Amazon GameLift Servers (version 5.x) pour votre projet de jeu. Le SDK du serveur est disponible en C++, C# et Go. Téléchargez un SDK Amazon GameLift Servers de serveur.

  • Modifiez le code de votre serveur de jeu pour ajouter les fonctionnalités du SDK du serveur. Pour de plus amples informations, consultez Intégrez des jeux à des serveurs de jeux personnalisés. Procédez au minimum comme suit :

    • Ajoutez du code pour initialiser le Amazon GameLift Servers SDK et établir une WebSocket connexion avec le Amazon GameLift Servers service. Utilisez l'action du SDK du serveur InitSdk() et incluez les paramètres du serveur, qui sont requis pour une flotte Anywhere.

    • Ajoutez du code à signaler au Amazon GameLift Servers service lorsque le processus du serveur est prêt à héberger des sessions de jeu. Utilisez l'action ProcessReady() du SDK du serveur.

    • Implémentez les fonctions de rappel requisesOnProcessTerminate(), et. OnStartGameSession() Grâce à ces fonctions, les processus du serveur de jeu peuvent maintenir une connexion avec le Amazon GameLift Servers service, lancer une session de jeu lorsque cela Amazon GameLift Servers est demandé et répondre à une demande d'arrêt du processus du serveur de jeu.

    • Ajoutez du code à signaler au Amazon GameLift Servers service lorsque le processus du serveur met fin à une session de jeu. Utilisez l'action ProcessEnding() du SDK du serveur.

  • Package de la version de votre serveur de jeu. Créez un script d'installation avec vos fichiers de compilation, vos dépendances et les logiciels de support. Consultez Conditionner les fichiers de version de jeu. Nous vous recommandons d'utiliser un bucket Amazon Simple Storage Service (Amazon S3) pour stocker les versions de votre build de jeu.

  • Testez l'intégration de votre serveur de jeu. Pour cette tâche, nous vous recommandons de configurer un parc Amazon GameLift Servers Anywhere pour un poste de travail local, comme décrit dansConfigurez des tests locaux avec Amazon GameLift Servers Anywhere. Pour cette étape, installez manuellement le build de votre serveur de jeu sur le périphérique de test et lancez un processus serveur. Utilisez la AWS CLI pour demander une nouvelle session de jeu et vérifiez que le Amazon GameLift Servers service invite correctement votre processus serveur à démarrer une session de jeu.

Créez un moyen pour votre client de jeu de demander à rejoindre une session de jeu, d'obtenir des informations de connexion, puis de se connecter directement à une session de jeu hébergée. L'approche la plus courante consiste à configurer une fonctionnalité de service principal qui sert d'intermédiaire entre le client de jeu et le service. Amazon GameLift Servers Cette approche protège vos ressources d'hébergement et vous permet de mieux contrôler la manière dont les joueurs sont placés dans les sessions de jeu.

  • Développez des fonctionnalités de service principal pour l'hébergement. Le service principal communique avec le Amazon GameLift Servers service et fournit des informations de connexion à un client de jeu. Cette fonctionnalité inclut le démarrage de sessions de jeu, le placement de joueurs dans des jeux et la récupération des informations de session de jeu. Pour de plus amples informations, consultez Intégrez des jeux à des serveurs de jeux personnalisés. Procédez au minimum comme suit :

  • Ajoutez des fonctionnalités à votre client de jeu qui permettent aux joueurs de rejoindre une session de jeu hébergée. Le client du jeu adresse des requêtes à votre service principal, et non directement àAmazon GameLift Servers. Une fois que le service principal a fourni les informations de connexion à la session de jeu, le client du jeu se connecte directement à la session de jeu pour jouer au jeu.

  • Testez l'intégration de votre client de jeu. Vous pouvez utiliser le même parc Amazon GameLift Servers Anywhere avec des postes de travail locaux à des fins de test.

Personnalisez la façon dont vous Amazon GameLift Servers souhaitez traiter les demandes de nouvelle session de jeu et localisez les serveurs de jeu disponibles pour les héberger. Amazon GameLift Serverssuit automatiquement la disponibilité de tous les serveurs de jeu sur toutes les flottes. Lorsqu'un client de jeu envoie une demande pour rejoindre une session de jeu, Amazon GameLift Servers il recherche le « meilleur emplacement possible » en fonction d'un ensemble de priorités définies telles que le minimum de latence, de coût et de disponibilité.

  • Créez une file d'attente de session de jeu pour placer une nouvelle session de jeu parmi les serveurs de jeu disponibles. Les files d'attente sont le principal mécanisme de placement des sessions de jeu. Pour de plus amples informations, consultez Création d'une file d'attente de session de jeu.

    • Ajoutez au minimum vos flottes Anywhere en tant que destinations dans votre file d'attente. Tous les autres paramètres sont facultatifs.

  • Dans votre code de service principal, convertissez l'CreateGameSession()appel enStartGameSessionPlacement(). Consultez la section Création d'une session de jeu dans une file d'attente multisite.

  • Créez un mécanisme pour avertir un client de jeu lorsqu'une session de jeu est prête à être ouverte. Pendant le développement, vous pouvez demander l'état d'une session de jeu en appelant à DescribeGameSessionPlacement. Avant d'utiliser une file d'attente pour traiter des volumes importants, vous devez toutefois activer les notifications d'événements. Consultez Configurer la notification des événements pour le placement des sessions de jeu.

  • (Facultatif) Ajoutez des composants FlexMatch de matchmaking. Pour obtenir des conseils, consultez le guide du Amazon GameLift ServersFlexMatch développeur.

Jusqu'à présent, vous avez travaillé avec des appareils locaux (enregistrés sous le nom de Anywhere fleet computes) pour tester et itérer les composants de votre jeu. L'étape suivante consiste à configurer le type de flotte dont vous aurez besoin pour un système de production. Pour ces ressources, utilisez l'Amazon GameLift Serversagent pour gérer certaines tâches clés de gestion de l'hôte sur ordinateur. Pour en savoir plus, consultez Collaborez avec l'Amazon GameLift Serversagent.

  • Procurez-vous l'Amazon GameLift Serversagent et ajoutez-le au package d'installation de votre serveur de jeu. Obtenez et compilez le code source de l'agent, disponible dans le référentiel Github de l'Amazon GameLift Serversagent. Placez le fichier exécutable JAR obtenu dans le même répertoire que le fichier exécutable de votre build de jeu.

  • Modifiez le script de démarrage de l'agent selon vos besoins. Assurez-vous que le fichier exécutable de l'agent est lancé dès qu'un calcul commence à s'exécuter. Consultez le fichier readme dans le dépôt de l'agent pour obtenir de l'aide concernant l'installation et l'exécution de l'agent sur vos ordinateurs d'hébergement. Votre commande de lancement doit inclure des options permettant de spécifier, au minimum, l'ID de flotte Anywhere Région AWS, un emplacement personnalisé et un nom de calcul.

    L'agent gère automatiquement les tâches suivantes pour vous. Par conséquent, si vous les avez gérées à l'aide de scripts, vous pouvez les supprimer :

    • Appels RegisterCompute() pour ajouter le calcul à une flotte Anywhere.

    • Appels GetComputeAuthToken() pour authentifier les serveurs de jeu lorsqu'ils se connectent au Amazon GameLift Servers service. L'agent gère l'obtention et l'actualisation du jeton d'authentification, qui peut être utilisé par tous les processus du serveur de jeu exécutés sur l'ordinateur.

    • Démarre de nouveaux processus serveur sur le calcul en fonction d'un ensemble d'instructions d'exécution.

  • Créez une configuration d'exécution pour les calculs de votre flotte Anywhere. Vous pouvez utiliser la Amazon GameLift Servers console ou la AWS CLI pour créer ou modifier des instructions d'exécution pour le parc. L'agent exécute ces instructions et demande régulièrement des mises à jour au Amazon GameLift Servers service.

  • Configurez ou modifiez la file d'attente de votre session de jeu selon vos besoins. Créez une nouvelle file d'attente (ou mettez à jour une file existante) pour utiliser les flottes Anywhere déployées avec l'Amazon GameLift Serversagent.

  • Testez l'intégration de l'agent à vos flottes Anywhere. Vérifiez que l'agent démarre correctement les processus du serveur en fonction de la configuration d'exécution.

Alors que vous vous préparez au lancement du jeu, vous devrez affiner vos ressources d'hébergement géré. Parmi les décisions à prendre en compte, mentionnons les suivantes :

  • Automatisez le processus de démarrage et d'arrêt des ordinateurs selon les besoins, notamment en installant et en exécutant le logiciel du serveur de jeu. Le recyclage des ordinateurs est utile pour garantir leur mise à jour régulière, et l'arrêt des ordinateurs peut permettre de réduire les coûts lorsqu'ils ne sont pas nécessaires.

  • Si votre serveur de jeu doit communiquer avec d'autres AWS ressources, configurez des rôles IAM pour gérer l'accès. Consultez Communiquez avec les autres AWS ressources de vos flottes.

  • Déterminez l'emplacement géographique où vous souhaitez positionner les serveurs de jeu. Ajoutez des sites distants à vos flottes gérées. Consultez Personnalisez votre Amazon GameLift Servers EC2 flottes gérées.

  • Optimisez les performances du parc en sélectionnant des configurations de ressources de calcul, puis en configurant les instructions d'exécution pour exécuter un nombre optimal de processus serveur par calcul.

  • Testez les options de placement des sessions de jeu pour les flottes gérées, notamment en personnalisant les paramètres de priorisation. Consultez Personnaliser une file d'attente de session de jeu.

  • Créez des mécanismes pour gérer la mise à l'échelle manuelle ou automatisée des capacités afin de répondre à la demande attendue des joueurs. Réfléchissez aux facteurs qui devraient inciter le système à augmenter ou à diminuer le nombre d'ordinateurs disponibles pour héberger des sessions de jeu.

  • Concevez et implémentez le basculement vers d'autres ressources si nécessaire.

  • Configurez les outils d'observabilité de l'hébergement, notamment les outils d'analyse et de journalisation. Consultez Surveillance Amazon GameLift Servers.