View a markdown version of this page

Plugin pour Unreal : déployez votre jeu sur une flotte EC2 gérée - GameLift Serveurs Amazon

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 une flotte EC2 gérée

Dans ce flux de travail, déployez votre jeu pour l'héberger sur des ressources informatiques basées sur le cloud gérées parAmazon GameLift Servers. Téléchargez la version de votre serveur de jeu intégré sur le Amazon GameLift Servers service pour le déploiement. Si vous n'avez pas encore intégré le code de votre jeu, consultezPlugin pour Unreal : intégrez le code de votre jeu. Une fois ce flux de travail terminé, vous disposerez d'un client de jeu fonctionnel qui pourra se connecter à vos serveurs de jeu dans le cloud.

Pour démarrer le GameLift Serveurs Amazon flux de travail Amazon EC2 géré :
  • Dans la barre d'outils principale de l'éditeur Unreal, choisissez le Amazon GameLift Servers menu et sélectionnez Host with Managed EC2. Cette action ouvre la page du plug-in 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 pour suivre 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, allez dans le GameLift menu Amazon et choisissez Définir les profils AWS utilisateurs.

  2. Si le statut de 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, préparez les versions de votre serveur de jeu et de votre client de jeu pour qu'elles fonctionnent avec le SDK du serveur Amazon GameLift Servers C++ pour Unreal. Si vous n'avez pas encore intégré le code de votre jeu et créé des exécutables client et serveur de jeu, consultez. Plugin pour Unreal : intégrez le code de votre jeu Entrez les chemins d'accès aux exécutables de votre jeu sur votre poste de travail local.

À cette étape du flux de travail, le plugin fournit des liens vers des instructions et du code source pour configurer une version basée sur les sources d'Unreal Editor. Vous devez utiliser la version créée par les sources lors de la création de vos composants client et serveur.

Après avoir créé un serveur de jeu intégré au SDK du serveur, effectuez les tâches suivantes pour le préparer au téléchargement Amazon GameLift Servers pour l'hébergement.

Dans le WindowsServer dossier où l'éditeur Unreal stocke les fichiers de compilation de votre serveur par défaut, ajoutez les éléments suivants :

  1. Copiez le script d'installation de la version du serveur à la racine du WindowsServer dossier. Le script d'installation est inclus dans le téléchargement du plugin. Recherchez le dossier[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift Serversutilise ce fichier pour installer la version du serveur sur vos ordinateurs d'hébergement.

  2. Copiez le VC_redist.x64.exe fichier à la racine du WindowsServer dossier. Vous pouvez ignorer cette étape si vous utilisez Unreal Engine version 5.6 ou ultérieure. Ce fichier est inclus dans votre installation de Visual Studio. Il est généralement situé àC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.

  3. Ajoutez les fichiers de bibliothèque OpenSSL à la version de votre serveur de jeu. . Vous pouvez ignorer cette étape si votre serveur de jeu est intégré au SDK du serveur 5.3 ou version ultérieure. Cette version est incluse dans le Amazon GameLift Servers plugin pour Unreal, version 3.0 ou ultérieure.

    Localisez et copiez manuellement les bibliothèques OpenSSL dans le répertoire des packages de construction de votre jeu à l'adresse. <YourGame>/Binaries/Win64 Vous devez utiliser la même version d'OpenSSL que votre version d'Unreal Engine 5. Les versions de jeux déployées avec les mauvaises bibliothèques OpenSSL ne pourront pas communiquer avec le Amazon GameLift Servers service.

    Recherchez les bibliothèques OpenSSL dans la source de votre moteur de jeu. L'emplacement varie en fonction de votre environnement de développement :

    Sous Windows :

    • [ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll

    • [ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll

    Sous Linux :

    • Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1

    • Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1

Pour obtenir des instructions plus détaillées sur la préparation d'un serveur de jeu conçu pour Linux, consultez Création du SDK du serveur Amazon GameLift Servers pour Unreal Engine 5 sur Amazon Linux.

  1. Désignez un répertoire de travail pour organiser vos fichiers de construction. La structure du répertoire de travail est déployée telle quelle sur chaque ordinateur hôte. Ajoutez votre serveur de Linux-built jeu et tous les fichiers dépendants.

  2. Créez un script d'installation du serveur à la racine de votre répertoire de travail. Si nécessaire, créez un install.sh fichier et ajoutez les commandes nécessaires pour installer correctement la version de votre serveur de jeu. Amazon GameLift Serversutilise ce fichier pour installer la version du serveur sur chaque ressource d'hébergement EC2.

  3. Ajoutez les fichiers de bibliothèque OpenSSL à la version de votre serveur de jeu. Vous pouvez ignorer cette étape si votre serveur de jeu est intégré au SDK du serveur 5.3 ou version ultérieure.

    Localisez et copiez manuellement les bibliothèques. Vous devez utiliser la même version d'OpenSSL que votre version d'Unreal Engine 5. Les versions de jeux déployées avec les mauvaises bibliothèques OpenSSL ne pourront pas communiquer avec le Amazon GameLift Servers service.

    1. Recherchez les bibliothèques OpenSSL dans la source de votre moteur de jeu. L'emplacement varie en fonction de votre environnement de développement :

      Sous Windows :

      • [ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll

      • [ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll

      Sous Linux :

      • Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1

      • Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1

    2. Lorsque vous trouvez les bibliothèques OpenSSL, copiez-les dans le répertoire du package de construction de votre jeu à l'adresse. <YourGame>/Binaries/Linux

Étape 3 : Sélectionnez le scénario de déploiement

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

  • Single-region flotte : déploie votre serveur de jeu sur une seule flotte de ressources d'hébergement dans la AWS région par défaut du profil actif. Ce scénario constitue un bon point de départ pour tester l'intégration de votre serveur AWS et sa configuration de génération. Il déploie les ressources suivantes :

    • AWS fleet (On-Demand) 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.

    • Autorisateur de passerelle d'API qui relie le groupe d'utilisateurs aux API.

    • WebACL pour limiter les appels excessifs des joueurs à la passerelle API.

    • Passerelle API + fonction Lambda permettant aux joueurs de demander un emplacement de jeu. Cette fonction est appelée CreateGameSession() si aucune n'est disponible.

    • Passerelle API + 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 système de FlexMatch matchmaking avec des règles pour créer des matchs 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 si nécessaire. Il déploie les ressources suivantes :

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

    • Trois AWS flottes avec votre version de serveur de jeu installée et fonctionnant à plusieurs endroits. Comprend deux flottes Spot et une On-Demand flotte de secours.

    • AWS file d'attente de placement des 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.

    • Autorisateur de passerelle d'API qui relie le groupe d'utilisateurs aux API.

    • WebACL pour limiter les appels excessifs des joueurs à la passerelle API.

    • Passerelle API + fonction Lambda permettant aux joueurs de demander un emplacement de jeu. Cette fonction appelleStartMatchmaking().

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

    • Tableaux Amazon DynamoDB pour stocker des tickets de matchmaking pour les joueurs et des informations sur les sessions de jeu.

    • Rubrique SNS + 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 chargée et utilisée pour les déploiements.

  • Système d'exploitation créé pour le serveur : entrez le système d'exploitation sur lequel votre serveur est conçu pour fonctionner. Cela indique le AWS type de ressources de calcul à 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.

  • Construction du serveur de jeu : identifiez le chemin vers l'exécutable du serveur de jeu.

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

  • Sortie de configuration du client : ce champ doit pointer vers un dossier de votre version client contenant votre AWS configuration. Cherchez-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 construction de votre serveur, provisionner les ressources d'hébergement, installer votre serveur de jeu, lancer les processus du serveur et les préparer à héberger des sessions de jeu.

Pour démarrer le déploiement, choisissez Déployer CloudFormation. Vous pouvez suivre l'état de l'hébergement de vos jeux ici. Pour plus d'informations, 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.

Une fois le déploiement terminé, votre serveur de jeu est installé sur une instance AWS EC2. 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é parAmazon GameLift Servers. Pour jouer au jeu, lancez une instance de votre client de jeu.

Si vous avez déployé le scénario d'une 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 du jeu pour ajouter un deuxième joueur sur 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.