Plugin pour Unreal : déployez votre jeu sur des flottes gérées EC2 - 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.

Plugin pour Unreal : déployez votre jeu sur des flottes gérées EC2

Dans ce flux de travail, vous utilisez le plugin pour modifier votre jeu afin de l'héberger sur des ressources informatiques basées sur le cloud gérées par Amazon GameLift. Vous ajoutez le code de jeu client et serveur pour les GameLift fonctionnalités Amazon, puis vous téléchargez la version de votre serveur sur le GameLift service Amazon pour le déployer sur les ressources basées sur le cloud. Lorsque ce flux de travail sera terminé, vous disposerez d'un client de jeu fonctionnel qui pourra se connecter à vos serveurs de jeu dans le cloud.

Pour démarrer le EC2 flux de travail Amazon GameLift géré par Amazon :
  • Dans la barre d'outils principale de l'éditeur Unreal, choisissez le GameLift menu Amazon, puis sélectionnez Host with Managed EC2. Cette action ouvre la page du plugin Deploy Amazon EC2 Fleet, qui présente un processus en six étapes pour intégrer, créer, déployer et lancer les composants de votre jeu.

Étape 1 : Définissez votre profil

Choisissez le profil que vous souhaitez utiliser lorsque vous suivez ce flux de travail. Le profil que vous sélectionnez a un impact sur toutes les étapes du flux de travail. Toutes les ressources que vous créez sont associées au AWS compte du profil et sont placées dans la AWS région par défaut du profil. Les autorisations de l'utilisateur du profil déterminent votre accès aux AWS ressources et aux actions.

Pour définir un profil utilisateur
  1. Sélectionnez un profil dans la liste déroulante des profils disponibles. Si vous n'avez pas encore de profil ou si vous souhaitez en créer un nouveau, rendez-vous dans le GameLift menu Amazon et choisissez Set AWS User Profiles.

  2. Si le statut du bootstrap n'est pas « Actif », choisissez le profil Bootstrap et attendez que le statut passe à « Actif ».

Étape 2 : configurez votre code de jeu

Au cours de cette étape, vous apportez une série de mises à jour à votre code client et serveur pour ajouter des fonctionnalités d'hébergement. Si vous n'avez pas encore configuré de version source de l'éditeur Unreal, le plugin fournit des liens vers les instructions et le code source.

Si vous avez intégré votre jeu pour l'utiliser dans une flotte Anywhere, vous n'avez pas besoin de modifier votre code de jeu. Si vous utilisez la carte du jeu de démarrage, cela fonctionne également avec EC2 les déploiements.

Après avoir créé votre serveur de jeu, effectuez les tâches suivantes pour le préparer au téléchargement sur Amazon GameLift.

Pour empaqueter la version de votre serveur pour le déploiement dans le cloud

Dans le WindowsServer dossier, où l'éditeur Unreal empaquète les fichiers de build de votre serveur par défaut, effectuez les ajouts suivants

  1. Copiez le script d'installation, inclus dans le téléchargement du plugin, à la racine du WindowsServer dossier. Cherchez le fichier[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift utilise ce fichier pour installer la version du serveur sur chaque ressource EC2 d'hébergement.

  2. Copiez le VC_redist.x64.exe fichier, inclus dans votre installation de Visual Studio, à la racine du WindowsServer dossier. Ce fichier se trouve généralement à l'adresseC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.

  3. Copiez le build Open SSL DLLs pour votre serveur de jeu dans le dossierWindowsServer/MyGame/Binaries/Win64. Assurez-vous qu'il s'DLLsagit de la même version que celle utilisée dans la version du serveur. Copiez les fichiers suivants :

    • libssl-3-x64.dll

    • libcrypto-3-x64.dll

Étape 3 : Sélection du scénario de déploiement

Au cours de cette étape, vous choisissez la solution d'hébergement de jeux que vous souhaitez déployer à ce stade. Vous pouvez avoir plusieurs déploiements de votre jeu, en utilisant n'importe quel scénario.

  • Flotte à région unique : déploie votre serveur de jeu sur un seul parc de ressources d'hébergement dans la région par défaut AWS du profil actif. Ce scénario constitue un bon point de départ pour tester l'intégration de votre serveur AWS et la configuration de la version du serveur. Il déploie les ressources suivantes :

    • AWS flotte (à la demande) avec la version de votre serveur de jeu installée et en cours d'exécution.

    • Groupe d'utilisateurs et client Amazon Cognito pour permettre aux joueurs de s'authentifier et de démarrer une partie.

    • APIautorisateur de passerelle qui relie le groupe d'utilisateurs àAPIs.

    • W ebACl pour limiter les appels excessifs des joueurs à API Gateway.

    • APIpasserelle + fonction Lambda permettant aux joueurs de demander une machine à sous. Cette fonction appelle CreateGameSession() si aucune fonction n'est disponible.

    • APIpasserelle + fonction Lambda permettant aux joueurs d'obtenir des informations de connexion pour leur demande de jeu.

  • FlexMatch flotte : déploie votre serveur de jeu sur un ensemble de flottes et met en place un FlexMatch système de matchmaking avec des règles pour créer des parties entre joueurs. Ce scénario utilise un hébergement Spot à faible coût avec une structure multi-flottes et multi-sites pour une disponibilité durable. Cette approche est utile lorsque vous êtes prêt à commencer à concevoir un composant de matchmaking pour votre solution d'hébergement. Dans ce scénario, vous allez créer les ressources de base pour cette solution, que vous pourrez personnaliser ultérieurement selon vos besoins. Il déploie les ressources suivantes :

    • FlexMatch configuration du matchmaking et règles de matchmaking définies pour accepter les demandes des joueurs et former des matchs.

    • Trois AWS flottes équipées de votre version de serveur de jeu sont installées et fonctionnent à plusieurs endroits. Comprend deux flottes Spot et une flotte à la demande en tant que sauvegarde.

    • AWS file d'attente de placement de sessions de jeu qui répond aux demandes de matchs proposés en trouvant la meilleure ressource d'hébergement possible (en fonction de la viabilité, du coût, de la latence des joueurs, etc.) et en démarrant une session de jeu.

    • Groupe d'utilisateurs et client Amazon Cognito pour permettre aux joueurs de s'authentifier et de démarrer une partie.

    • APIautorisateur de passerelle qui relie le groupe d'utilisateurs àAPIs.

    • W ebACl pour limiter les appels excessifs des joueurs à API Gateway.

    • APIpasserelle + fonction Lambda permettant aux joueurs de demander une machine à sous. Cette fonction appelleStartMatchmaking().

    • APIpasserelle + fonction Lambda permettant aux joueurs d'obtenir des informations de connexion pour leur demande de jeu.

    • Tables Amazon DynamoDB pour stocker les tickets de matchmaking pour les joueurs et les informations relatives aux sessions de jeu.

    • SNStopic + Fonction Lambda pour gérer les événements. GameSessionQueue

Étape 4 : définir les paramètres du jeu

Au cours de cette étape, vous décrivez le jeu sur lequel vous souhaitez le télécharger ; AWS

  • Nom de version du serveur : Donnez un nom significatif à la version de votre serveur de jeu. AWS utilise ce nom pour faire référence à la copie de la version de votre serveur qui est téléchargée et utilisée pour les déploiements.

  • Système d'exploitation pour la version du serveur : entrez le système d'exploitation sur lequel votre serveur est conçu pour fonctionner. Cela indique le AWS type de ressources informatiques à utiliser pour héberger votre jeu.

  • Dossier du serveur de jeu : identifiez le chemin d'accès au dossier de compilation de votre serveur local.

  • Version du serveur de jeu : identifiez le chemin d'accès au fichier exécutable du serveur de jeu.

  • Chemin du client de jeu : identifiez le chemin d'accès à l'exécutable du client de jeu.

  • Résultat de configuration du client : ce champ doit pointer vers un dossier de votre build client contenant votre AWS configuration. Recherchez-le à l'endroit suivant :[client-build]/[project-name]/Content/CloudFormation.

Étape 5 : scénario de déploiement

Au cours de cette étape, vous déployez votre jeu sur une solution d'hébergement cloud en fonction du scénario de déploiement que vous avez choisi. Ce processus peut prendre plusieurs minutes pour AWS valider la version de votre serveur, approvisionner les ressources d'hébergement, installer votre serveur de jeu, lancer les processus du serveur et le préparer à héberger des sessions de jeu.

Pour démarrer le déploiement, choisissez Deploy CloudFormation. Vous pouvez suivre l'état de votre hébergement de jeux ici. Pour obtenir des informations plus détaillées, vous pouvez vous connecter à la console AWS de gestion AWS et consulter les notifications d'événements. Assurez-vous de vous connecter en utilisant le même compte, le même utilisateur et AWS la même région que le profil utilisateur actif dans le plugin.

Lorsque le déploiement est terminé, votre serveur de jeu est installé sur une AWS EC2 instance. Au moins un processus serveur est en cours d'exécution et prêt à démarrer une session de jeu.

Étape 6 : Lancer le client

À ce stade, vous avez terminé toutes les tâches nécessaires pour lancer et jouer à votre jeu multijoueur hébergé par Amazon GameLift. Pour jouer au jeu, lancez une instance de votre client de jeu.

Si vous avez déployé le scénario de flotte unique, vous pouvez ouvrir une instance client unique avec un seul joueur, accéder à la carte du serveur et vous déplacer. Ouvrez des instances supplémentaires du client de jeu pour ajouter un deuxième joueur à la même carte de jeu du serveur.

Si vous avez déployé le FlexMatch scénario, la solution attend qu'au moins deux clients soient mis en file d'attente pour le placement des sessions de jeu avant que les joueurs puissent accéder à la carte du serveur.