= Hébergement de serveur de jeu de base sur Azure = Cette architecture de référence détaille les étapes de configuration d'un backend Azure de base qui hébergera un serveur de jeu sur Windows ou Linux, en utilisant **Serveur Minecraft** à titre d'exemple. ![ Serveur Minecraft exécuté sur une machine virtuelle Azure](media/multiplayer/multiplayer-minecraft-server.png) == Schéma d'architecture == ![ Héberger un seul serveur de jeu sur une machine virtuelle Azure](media/multiplayer/multiplayer-basic-game-server-hosting.png) == Services pertinents == - Machines virtuelles Azure Windows et machines virtuelles Azure Linux - Le moyen le plus simple d'obtenir une puissance de calcul sur Azure. - Stockage sur disque Azure - Stockage persistant de base. == Pas à pas == Le résumé des étapes à suivre est le suivant : - Mettre en place un groupe de ressources. - Configurez une machine virtuelle Azure, attachez un disque persistant et ouvrez des ports. - Accédez à distance à la nouvelle machine virtuelle Azure via le port de maintenance. - Configurez le pare-feu du système d'exploitation. - Initialiser et formater le disque de données persistantes. - Installez les dépendances du serveur de jeu. - Installez le serveur de jeu lui-même. - Configurez le serveur de jeu. - Exécutez le serveur de jeu et vérifiez que les ports sont ouverts. Configurer un groupe de ressources Un groupe de ressources est une collection logique de ressources Azure. Toutes les ressources sont déployées et gérées dans un groupe de ressources. Procédez comme suit pour créer un groupe de ressources : - Si vous n'avez pas d'abonnement Azure, créez un compte gratuit avant de commencer. - Connectez-vous au portail Azure. - Dans la navigation de gauche, cliquez sur Groupes de ressources. Cliquez ensuite sur Ajouter. - Tapez un nom unique pour le groupe de ressources. Le système vérifie immédiatement si le nom est disponible dans l'abonnement Azure actuellement sélectionné. - Dans Abonnement, cliquez sur le nom de l'abonnement Azure dans lequel vous souhaitez créer le groupe de ressources. - Sélectionnez un emplacement géographique pour le groupe de ressources. - Cliquez sur Créer. Configurer une machine virtuelle Azure, attacher un disque persistant et ouvrir des ports Créez une ressource et choisissez une machine virtuelle avec le système d'exploitation sur lequel le serveur de jeu fonctionnera. Recherchez les éléments suivants dans le portail Azure, ils sont généralement parmi les plus populaires : Windows Linux Windows Server 2016 Datacenter ou Windows Server 2016 VM Ubuntu Server 18.04 LTS ou Ubuntu Server 18.04 VM Sélectionnez le Abonnement Azure, groupe de ressources, nom de la machine virtuelle et région. Choisissez un type de machine, un type de disque et une taille de disque qui répondent à vos propres besoins d'E/S et de ressources. Dans le cas du serveur Minecraft, une petite machine virtuelle Azure comme Les B2 standard, avec 2 CPU virtuels (vCPU) et 4 Go de RAM, conviendraient à moins de 10 utilisateurs. Configurer la machine nom d'utilisateur et mot de passe administrateur, pour pouvoir y accéder ultérieurement à distance. Autoriser le ports entrants publicspour pouvoir se connecter ultérieurement à la machine virtuelle en tant qu'administrateur (ports de maintenance), les ports spécifiques de votre serveur de jeu seront activés par la suite : Port Windows Linux RDP (Remote Desktop Protocol) : TCP/3389 Ajoutez éventuellement le port SSH : TCP/22 Port SSH : TCP/22 Passez à la disks et sélectionnez créer et attacher un nouveau disque vide de données à la machine virtuelle Azure, pour stocker l'exécutable du serveur de jeu et les fichiers de données qu'il produit. Le type de source est aucun (disque vide). Les machines virtuelles Azure ont un disque de système d'exploitation et un disque temporaire pour le stockage à court terme, mais les informations stockées seront perdues dès que la machine virtuelle Azure sera arrêtée. Avec un disque persistant, même si la machine virtuelle Azure exécutant le serveur est arrêtée, les données continueront à persister par la suite. Passez à la section réseau pour activer les ports dont votre serveur de jeu a besoin pour accepter les demandes des joueurs et créer une adresse IP publique. Pour ouvrir les ports, vous devrez tirer parti d'un réseau virtuel, d'un sous-réseau et d'un groupe de sécurité réseau (NSG). Le réseau virtuel et le sous-réseau sont créés par défaut, dans le cas du serveur Minecraft, vous n'avez rien à toucher. Pour créer le groupe de sécurité réseau, sélectionnez le bouton radio pour activer le groupe de sécurité réseau NIC avancé, configurez le nouveau groupe de sécurité réseau (NSG) en cliquant sur le lien "Créer un nouveau"juste à côté et ajoutez la ou les règles entrantes pertinentes. Dans le cas de Minecraft, un seul port est requis, dont le nombre et le protocole varient en fonction de l'édition Minecraft (Java Edition, Bedrock Edition), la source des valeurs est le fichier server.properties, dont le format est expliqué ici . Après avoir cliqué sur le lien "Ajouter une règle entrante", utilisez ces valeurs : Minecraft Java Edition Minecraft Bedrock Edition Source Toutes Toutes Plages de ports source Destination Toutes Toutes Plages de ports de destination 25565 19132 Protocole TCP UDP Action Autoriser Autoriser Priorité 100 100 Nom MinecraftJava_Port MinecraftBedrock_Port Pour créer l'adresse IP publique, suivez ces étapes : cliquez sur le lien "Créer un nouveau"juste à côté de ce paramètre et configurez-le avec affectation statique. Passez en revue et créez la machine virtuelle Azure. Gardez à l'esprit qu'il faudra quelques minutes pour terminer le déploiement. Accédez à distance à la nouvelle machine virtuelle Azure via le port de maintenance Vous aurez besoin de l'adresse IP publique ou du nom DNS pour vous connecter à la machine virtuelle Azure. Pour les trouver, suivez ces étapes : - Accédez au groupe de ressources que vous avez créé. - Sélectionnez ensuite la machine virtuelle que vous avez créée. - Le L'adresse IP publique ou les champs de nom DNS sont ce que vous recherchez, l'un ou l'autre ira bien. Pour configurer le DNS, cliquez sur le lien "Configurer"sous Nom DNS, donnez un nom sous l'étiquette du nom DNS et enregistrez-le. Après cela, suivez ces tutoriels pour accéder à distance à la machine virtuelle Azure : |Protocole Bureau à distance (TCP/3389SSH (TCP/22)| |Comment utiliser le Bureau à distance||Secure Shell Protocol| Une fois que vous vous êtes connecté à la machine virtuelle Azure, vous pouvez poursuivre les étapes restantes ci-dessous. Configurer le pare-feu du système d'exploitation Votre machine virtuelle est déjà configurée pour accepter les requêtes vers les ports de maintenance et spécifiques au serveur de jeu, mais le Le **pare-feu du système d'exploitation** doit également être configuré. Suivez ces tutoriels pour ouvrir les **ports dont votre serveur de jeu a besoin** pour accepter les demandes des joueurs. |Windows||Linux| |Créer une règle de port entrant sur Windows Server 2016||Pare-feu simple Ubuntu | Par exemple, dans le cas de Minecraft, les commandes seraient : - - Dans le cas des serveurs Minecraft, rappelons juste que les ports par défaut varient selon la version du jeu : Minecraft Java Edition utilise TCP/25565 tandis que Minecraft Bedrock Edition utilise UDP/19132. Initialiser et formater le disque de données persistant |Windows||Linux| |Utiliser la gestion des disques (diskmgmt.msc) | Pour ouvrir la gestion des disques, cliquez avec le bouton droit sur le bouton Démarrer et sélectionnez Gestion des disques. Notez que le disque 2 n'est pas alloué, c'est le disque persistant qui doit être initialisé et formaté. |Connectez-vous à la VM Linux pour monter le nouveau disque | Cela implique les étapes suivantes : 1. Découverte du disque 2. Le partitionner 3. Écrire un système de fichiers dessus 4. Le monter dans un répertoire 5. Configuration du montage automatique après redémarrage Installer les dépendances du serveur de jeu Dans le cas du serveur Minecraft, les dépendances sont : |Édition serveur Minecraft||Windows||Linux| |Minecraft Java Edition||Java 8 version 64 bits||Installation de Java 8 sur Ubuntu| |Minecraft Bedrock Edition||Microsoft Visual C++ Redistributable pour Visual Studio||N/A| Installez le serveur de jeu lui-même Créez un dossier dans le disque persistant que vous venez de formater. Téléchargez et installez le serveur de jeu ici. Dans le cas du serveur Minecraft, les liens de téléchargement sont : Minecraft Java Edition Minecraft Bedrock Edition Lien de téléchargement Lien de téléchargement Si vous accédez à la machine virtuelle Azure via SSH : - Consultez la documentation de la commande Wget pour savoir comment utiliser un téléchargeur réseau non interactif. - installer unzip en exécutant sudo apt-get install décompressez puis exécutez sudo unzip THEZIPFILEpour pouvoir décompresser le serveur Minecraft Bedrock Edition. Configurer le serveur de jeu Dans le cas du serveur Minecraft Java Edition, modifiez d'abord le paramètre de fichier eula.txt (eula=true) pour accepter leur CLUF. Si vous accédez à la machine virtuelle Azure via SSH, consultez la documentation de l'éditeur Nano pour modifier les fichiers via SSH. Suivez ce didacticiel du wiki officiel de Minecraft pour configurer le serveur Minecraft pour les deux éditions du serveur Minecraft. Exécutez le serveur de jeu et vérifiez que les ports sont ouverts Pour exécuter le serveur Minecraft Java Edition, utilisez ceci depuis la ligne de commande (Windows) ou le terminal (Linux) : java -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -jar server.jar nogui Si vous souhaitez démarrer le serveur avec son interface utilisateur graphique, vous pouvez omettre la partie "nogui". Vous pouvez créer un fichier de commandes (Windows) ou un script (Linux) pour plus de commodité. Pour exécuter le serveur Minecraft Bedrock Edition : - sous Windows, il suffit de double-cliquer sur le bedrock_server.exeexécutable. - sous Linux, utilisez LD_LIBRARY_PATH=. ./bedrock_serverdu répertoire où le serveur a été installé. Le serveur n'a pas besoin d'être exécuté en tant que root. Si vous utilisez Minecraft Java Edition, une fois le serveur lancé, vous pouvez vérifier que les ports nécessaires à votre serveur de jeu sont ouverts et à l'écoute. Mais, assurez-vous que le serveur de jeu est en cours d'exécution avant de tester : |Test depuis||Windows||Linux| |Dans la machine virtuelle Azure||Exécuter |écouter |Exécuter | |En dehors de la machine virtuelle Azure||1. Activez Telnet en suivant ces étapes : Cliquez sur Démarrer, Panneau de configuration, Programmes, puis sur Activer ou désactiver les fonctionnalités Windows ; puis faites défiler vers le bas et sélectionnez Client Telnet et cliquez sur OK | 2. Après cela, à partir de la ligne de commande, exécutez accepté | Exécuter |accepté Si vous utilisez Minecraft Bedrock Edition : |Test depuis||Windows||Linux| |Dans la machine virtuelle Azure||Exécuter ||Exécuter | == Considérations de sécurité == Les ports entrants publics sont exposés à Internet. Vous devez donc utiliser les contrôles avancés du portail Azure pour limiter le trafic entrant de maintenance aux adresses IP connues, ce qui signifie que vous seul pouvez accéder à distance à la machine virtuelle Azure. == Tarifs == Si vous n'avez pas d'abonnement Azure, créez un compte gratuit pour commencer avec 12 mois de services gratuits. Vous n'êtes pas facturé pour les services inclus gratuitement avec le compte gratuit Azure, sauf si vous dépassez les limites de ces services. Découvrez comment vérifier l'utilisation via le portail Azure ou via le fichier d'utilisation. Vous êtes responsable du coût des services Azure utilisés lors de l'exécution de ces architectures de référence, le montant total dépend du nombre d'événements qui s'exécuteront via le pipeline d'analyse. Consultez les pages Web de tarification de chacun des services utilisés dans les architectures de référence : Vous disposez également du calculateur de tarification Azure, pour configurer et estimer les coûts des services Azure que vous envisagez d'utiliser. == Commentaires == Soumettre et afficher les commentaires pour