Configurer un serveur Minecraft sur Compute Engine

Ce tutoriel n'est ni approuvé par Mojang ou Minecraft, ni associé à ces derniers.

Pour exécuter un serveur Minecraft dédié, vous devez disposer d'un serveur dédié, ainsi que d'une grande quantité de mémoire RAM et de bande passante. Et si vous laissiez Google s'occuper de tout ? Dans ce tutoriel, vous allez apprendre à installer, configurer et exécuter un serveur Minecraft Java standard sur Compute Engine. Ce serveur est compatible avec les clients de bureau Minecraft standards basés sur Java.

Votre logiciel serveur Minecraft fonctionnera sur une instance Compute Engine, qui est une machine virtuelle s'exécutant sur l'infrastructure de Google. Dans ce tutoriel, nous utilisons le type de machine par défaut pour les instances Compute Engine : n1-standard-1. Ce type de machine n1-standard-1 inclut un disque de démarrage de 10 Go, 1 processeur virtuel (vCPU) et 3,75 Go de mémoire RAM. Il exécute Debian Linux par défaut.

Pour vous assurer de disposer d'un espace suffisant pour les données associées aux mondes du serveur Minecraft, vous devez également associer à l'instance un disque dur SSD (Solid State Drive) persistant hautes performances de 50 Go. Grâce à l'ajout de ce disque SSD persistant, l'instance pourra répondre aux exigences de la configuration système pour un serveur Minecraft dédié pouvant accepter jusqu'à 50 joueurs sans aucune difficulté.

Objectifs

  • Créer une instance de machine virtuelle Compute Engine
  • Installer et configurer le serveur Minecraft
  • Configurer des sauvegardes automatiques de vos données associées aux mondes Minecraft

Coûts

Ce tutoriel utilise les composants facturables de Google Cloud Platform répertoriés ici :

  • Machines virtuelles Compute Engine
  • Disques persistants Compute Engine
  • Cloud Storage

Vous pouvez vous servir du simulateur de coût pour générer une estimation des coûts en fonction de votre utilisation prévue. Les nouveaux utilisateurs de GCP peuvent bénéficier d'un essai gratuit.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Sélectionnez ou créez un projet Google Cloud Platform.

    Accéder à la page "Gérer les ressources"

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform.

    Découvrir comment activer la facturation

Créer et configurer l'instance Compute Engine

Commencez par créer et configurer une instance Compute Engine :

  1. Dans la console GCP, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

    Une boîte de dialogue vous invite à créer une instance Compute Engine.

  2. Cliquez sur Créer pour commencer.

  3. Sur la page Créer une instance, configurez l'instance comme suit :

    • Nommez l'instance. Le nom d'instance mc-server est utilisé tout au long de ce tutoriel.
    • Sélectionnez la région et la zone dans lesquelles vous souhaitez héberger votre instance. La région us-central1 (Iowa) et la zone us-central1-f sont utilisées tout au long de ce tutoriel.
    • Dans la section Disque de démarrage, cliquez sur Modifier. La boîte de dialogue Disque de démarrage s'affiche.
    • Modifiez le type de disque en Disque persistant SSD.
  4. Cliquez sur Sélectionner pour valider la modification, puis fermez la boîte de dialogue.

Vous venez de terminer la configuration de base. Toutefois, ne créez pas votre nouvelle instance tout de suite. Pour répondre aux exigences d'un serveur Minecraft dédié, vous devez également configurer certains paramètres avancés.

Activer l'accès à Cloud Storage pour l'instance

Un peu plus loin dans ce tutoriel, vous apprendrez à sauvegarder vos données associées aux mondes sur Cloud Storage, ce qui nécessite que votre instance ait accès à Cloud Storage en lecture et en écriture. Pour activer cet accès, procédez comme suit :

  1. Sous Identité et accès à l'API, cliquez sur la liste déroulante Compte de service et sélectionnez Compte de service Compute Engine par défaut.
  2. Définissez le paramètre Champs d'application sur Définir l'accès pour chaque API.
  3. Dans la liste déroulante Stockage, sélectionnez Lecture/Écriture.

Ajouter un tag à l'instance

La prochaine étape consiste à ajouter un tag à l'instance. Plus loin dans ce tutoriel, vous utiliserez ce tag pour créer une règle de pare-feu permettant aux clients Minecraft externes d'accéder à votre serveur :

  1. Cliquez sur Gestion, sécurité, disques, mise en réseau et location unique pour afficher un ensemble d'onglets présentant les paramètres avancés.
  2. Dans l'onglet Mise en réseau, ajoutez le tag minecraft-server dans le champ Tags réseau.

Configurer une adresse IP statique pour l'instance

Pour pouvoir transférer les requêtes entrantes vers l'instance de manière fiable, celle-ci doit disposer d'une adresse IP statique. Pour ajouter une adresse IP statique à l'instance, procédez comme suit :

  1. Dans l'onglet Mise en réseau, dans la section Interface réseau, cliquez sur Par défaut. Le menu de configuration Interface réseau s'affiche.
  2. Cliquez sur la liste déroulante Adresse IP externe, puis sélectionnez Créer une adresse IP. La boîte de dialogue suivante s'affiche :

    Créer une adresse IP statique

  3. Nommez votre adresse IP mcs-ip.

  4. Cliquez sur Reserve (Réserver) pour créer l'adresse.

  5. Cliquez sur OK pour valider les modifications et fermez le menu de configuration Interface réseau.

Ajouter un disque persistant à votre instance

Vous allez ensuite associer un disque persistant à l'instance. Contrairement aux disques de démarrage, les disques persistants ne sont pas liés à la durée de vie de l'instance Compute Engine. Par exemple, si vos besoins en hébergement évoluent avec le temps, vous pourrez toujours déplacer le disque vers un type de machine plus approprié.

Le type de disque spécifique que vous utiliserez dans ce tutoriel est un disque SSD persistant. Il est compatible avec les opérations d'E/S très rapides, ce qui peut contribuer à la réduction des délais du serveur.

Pour ajouter un disque persistant à l'instance, procédez comme suit :

  1. Dans l'onglet Disques, dans la section Disques supplémentaires, cliquez sur Ajouter un disque. Une boîte de dialogue de création de disque s'affiche :

    Créer un disque

  2. Dans la boîte de dialogue, remplissez le formulaire comme suit :

    • Nom : minecraft-disk
    • Disk Type (Type de disque) : "SSD Persistent Disk" (Disque SSD persistant)
    • Source type (Type de source) : "blank disk" (disque vierge)
    • Taille (Go) : 50
  3. Cliquez sur OK. Lorsque vous créez l'instance, le disque est automatiquement créé et associé.

Créer l'instance

Vous venez de terminer la configuration de l'instance. Cliquez sur le bouton Créer en bas de la page pour créer l'instance. Cette action vous redirigera vers la page Instances de VM.

Formater et installer le disque persistant

À ce stade du tutoriel, le disque est associé à l'instance, mais il n'a pas encore été installé. C'est tout à fait normal. Si vous l'installez maintenant, le disque ne pourra pas fonctionner de manière optimale. Comme pour tous les disques, le disque persistant doit d'abord être formaté avec un système de fichiers que votre système d'exploitation peut comprendre (dans ce tutoriel, le système d'exploitation utilisé est Debian Linux).

Commencez par établir une connexion SSH avec l'instance. Sur la ligne mc-server sur la page Instances de VM, cliquez sur SSH pour ouvrir un terminal SSH basé sur un navigateur :

Terminal SSH

Une fois que le terminal SSH est ouvert, créez un répertoire nommé minecraft dans le répertoire home de l'instance :

user@mc-server: sudo mkdir -p /home/minecraft

Vous utiliserez ce répertoire comme point d'installation pour le disque persistant.

Formatez ensuite le disque :

user@mc-server: sudo mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/google-minecraft-disk

Enfin, installez le disque :

user@mc-server: sudo mount -o discard,defaults /dev/disk/by-id/google-minecraft-disk /home/minecraft

Installer et exécuter le serveur Minecraft sur l'instance

Le disque persistant est officiellement installé. Il est temps de passer à l'étape la plus importante : installer et exécuter le serveur Minecraft.

Configurer l'environnement d'exécution Java (JRE)

Le serveur Minecraft s'exécute sur la machine virtuelle Java (JVM), et il nécessite donc l'environnement d'exécution Java (JRE) pour fonctionner. Dans la mesure où le serveur n'a pas besoin d'une interface utilisateur graphique, nous utilisons la version sans interface utilisateur graphique du JRE dans ce tutoriel. Vous réduisez ainsi l'utilisation des ressources de la machine par l'environnement d'exécution, ce qui contribue à assurer que le serveur Minecraft dispose de suffisamment d'espace pour accroître sa propre utilisation des ressources si nécessaire.

Vous devez mettre à jour les dépôts Debian de votre installation Debian avant de pouvoir télécharger et installer la version sans interface utilisateur graphique de JRE. Pour ce faire, exécutez la commande suivante dans votre terminal SSH :

user@mc-server: sudo apt-get update

Une fois les dépôts mis à jour, vous pouvez installer le JRE sans interface utilisateur graphique :

user@mc-server: sudo apt-get install -y default-jre-headless

Installer le serveur Minecraft

Une fois le JRE configuré, vous pouvez télécharger et installer le serveur Minecraft. Commencez par accéder au répertoire minecraft :

user@mc-server: cd /home/minecraft

Comme le répertoire minecraft contient le disque persistant installé, vous aurez besoin d'un niveau d'accès spécial, appelé Accès utilisateur racine, pour exécuter des commandes. Transmettez la commande suivante pour devenir l'utilisateur racine :

user@mc-server: sudo su

Téléchargez ensuite le fichier d'archive Java (JAR) du serveur Minecraft actuel sur l'instance. Consultez la page de téléchargement de Minecraft, copiez l'URL du fichier à partir du lien de téléchargement, puis remplacez l'URL qui figure dans la commande suivante par l'URL que vous venez de copier.

root@mc-server: wget https://launcher.mojang.com/v1/objects/f1a0073671057f01aa843443fef34330281333ce/server.jar

Démarrez le serveur pour la première fois :

root@mc-server: java -Xms1G -Xmx3G -d64 -jar server.jar nogui

La première exécution s'avère quelque peu décevante : le serveur démarre simplement, signale un certain nombre de problèmes et s'arrête. Toutefois, si vous exécutez la commande suivante, vous remarquerez que de nouveaux fichiers ont été créés dans le répertoire minecraft :

root@mc-server: ls -l

Parmi ces nouveaux fichiers, vous trouverez un fichier nommé eula.txt. Ouvrez-le pour le modifier :

root@mc-server: nano eula.txt

Ce fichier contient une seule variable booléenne, eula. Pour utiliser le serveur Minecraft, vous devez accepter les conditions du contrat de licence utilisateur final (CLUF) de Minecraft. Si vous acceptez les conditions du CLUF, définissez la valeur eula de false à true, puis enregistrez le fichier et fermez-le.

Exécuter le serveur Minecraft

Si vous redémarrez le serveur Minecraft à ce stade, il sera associé à la durée de la session SSH. En d'autres termes, si vous fermez le terminal SSH, le serveur est également arrêté. Pour éviter ce problème, vous pouvez utiliser screen : cette application vous permet de créer un terminal virtuel qui peut être "détaché", et donc considéré comme un processus en arrière-plan, ou "rattaché" pour être alors considéré comme un processus de premier plan. Lorsqu'un terminal virtuel est détaché pour une exécution en arrière-plan, il fonctionne que vous soyez connecté ou non.

Dans le terminal SSH, exécutez la commande suivante pour installer screen :

root@mc-server: apt-get install -y screen

Démarrez ensuite le serveur Minecraft dans un terminal virtuel screen. Nommez le terminal mcs à l'aide de l'indicateur -S :

root@mc-server: screen -S mcs java -Xms1G -Xmx3G -d64 -jar server.jar nogui

Dissociez le terminal screen en sélectionnant Ctrl + a, puis en saisissant d. Le terminal continue de fonctionner en arrière-plan. Pour associer à nouveau le terminal, exécutez screen -r <terminal_name> comme suit :

root@mc-server: screen -r mcs

Enfin, détachez à nouveau le terminal screen, si nécessaire. Saisissez exit une fois pour quitter le mode utilisateur racine, puis saisissez exit à nouveau pour fermer la connexion SSH.

Félicitations ! Vous disposez désormais d'un serveur Minecraft en cours d'exécution. Toutefois, il n'est pas tout à fait prêt à être partagé pour l'instant. Vous devez d'abord configurer une règle de pare-feu permettant aux utilisateurs d'y accéder.

Autoriser les clients à accéder au serveur Minecraft

Pour pouvoir transférer de manière fiable les requêtes entrantes vers l'instance, vous devez créer une règle de pare-feu. Pour ce faire :

  1. Dans la console GCP, accédez à la page Règles de pare-feu.

    Accéder à la page Règles de pare-feu

  2. Cliquez sur Créer une règle de pare-feu.

  3. Sur la page Créer une règle de pare-feu, remplissez le formulaire comme suit :

    • Nom : minecraft-rule
    • Tags cibles : minecraft-server
    • Filtre source : plages d'adresses IP
    • Plages d'adresses IP sources : 0.0.0.0/0
    • Protocoles ou ports : sélectionnez tcp, puis indiquez le port 25565 dans le champ prévu à cet.
  4. Cliquez sur Créer pour créer la règle de pare-feu. Les utilisateurs peuvent à présent accéder à votre serveur depuis leur client Minecraft.

Configurer le serveur Minecraft

Vous pouvez modifier les propriétés par défaut du serveur. Pour ce faire :

  1. Réassociez le terminal screen du serveur.

    root@mc-server: screen -r mcs
  2. Saisissez \stop pour arrêter le serveur Minecraft.

  3. Modifiez le fichier server.properties. Vous trouverez des informations sur chaque type de propriété et ses valeurs possibles sur la page server.properties du wiki Minecraft.

    $ nano server.properties
  4. Redémarrez le serveur.

    root@mc-server: screen -S mcs java -Xms1G -Xmx3G -d64 -jar server.jar nogui
  5. Dissociez le terminal screen.

Programmer des sauvegardes régulières

Que vous exécutiez un client Minecraft local ou un serveur Minecraft, il est recommandé d'effectuer des sauvegardes régulières de vos données associées aux mondes Minecraft. Cette section explique comment configurer des sauvegardes régulières de vos données à l'aide de Cloud Storage.

Cloud Storage propose différentes classes de stockage optimisées pour différents cas d'utilisation. Ce tutoriel utilise le stockage standard, qui fournit gratuitement jusqu'à 5 Go par mois.

Créer un script de sauvegarde

Commencez par établir une connexion SSH avec l'instance depuis la page Instances de VM de la console GCP. Une fois le terminal ouvert, devenez l'utilisateur racine en procédant comme suit :

user@mc-server: sudo su

Créez un bucket de stockage standard Cloud Storage en remplaçant us-central1 par la région Cloud Storage la plus proche de vous et [PROJECT_ID] par votre ID de projet. Vous allez utiliser ce bucket pour stocker vos sauvegardes.

root@mc-server: gsutil mb -c standard -l us-central1 gs://[PROJECT_ID]-minecraft-backup

Ensuite, créez un fichier de script d'interface système, backup.sh, dans le dossier minecraft, puis ouvrez-le pour le modifier :

root@mc-server: nano /home/minecraft/backup.sh

Collez le script suivant dans le fichier. Remplacez [BUCKET_NAME] par le nom de votre bucket Cloud Storage :

#!/bin/bash
screen -r mcs -X stuff '/save-all\n/save-off\n'
/usr/bin/gsutil cp -R ${BASH_SOURCE%/*}/world gs://[BUCKET_NAME]/$(date "+%Y%m%d-%H%M%S")-world
screen -r mcs -X stuff '/save-on\n'

Ce script commence par enregistrer les données associées aux mondes en l'état actuel, puis met en veille la fonctionnalité d'enregistrement automatique du serveur. Le script sauvegarde ensuite le répertoire des données associées aux mondes du serveur (world) en plaçant son contenu dans un répertoire horodaté ([TIMESTAMP]-world) dans le bucket Cloud Storage. Une fois les données sauvegardées, le script active de nouveau l'enregistrement automatique sur le serveur Minecraft.

Enregistrez le fichier et fermez-le, puis exécutez ce qui suit pour rendre votre script exécutable :

root@mc-server: chmod 755 /home/minecraft/backup.sh

Testez le script en procédant comme suit :

root@mc-server: /home/minecraft/backup.sh

Une fois le script terminé, accédez au navigateur Storage dans la console GCP et cliquez sur le bucket. Une sauvegarde horodatée du répertoire world devrait s'afficher.

Planifier une tâche Cron

À moins que vous ne préfériez initialiser manuellement chaque sauvegarde, vous souhaitez probablement que le script s'exécute automatiquement à intervalles prévisibles. Pour ce faire, vous devez planifier une tâche Cron.

Pour planifier une tâche Cron, commencez par ouvrir la table Cron pour la modifier :

root@mc-server: crontab -e

Faites défiler le fichier jusqu'en bas et collez la ligne suivante, qui spécifie que backup.sh sera exécuté toutes les quatre heures :

0 */4 * * * /home/minecraft/backup.sh

Enregistrez le fichier et fermez-le.

Et voilà ! Votre instance Compute Engine sauvegardera désormais les données associées aux mondes automatiquement, toutes les 4 heures, dans un bucket Cloud Storage.

Supprimer automatiquement les anciennes sauvegardes

Si vous sauvegardez les données associées aux mondes toutes les quatre heures, cela signifie que vous effectuerez des sauvegardes six fois par jour, 72 fois par semaine et environ 300 fois par mois. Vous pouvez supprimer automatiquement les anciennes sauvegardes à l'aide de la fonctionnalité de gestion du cycle de vie des objets de Cloud Storage. Cette fonctionnalité vous permet d'indiquer au bucket Cloud Storage d'archiver ou de supprimer automatiquement les anciennes sauvegardes après un certain temps ou si de nouvelles sauvegardes sont disponibles.

Pour configurer le bucket Cloud Storage afin de supprimer automatiquement les sauvegardes, procédez comme suit :

  1. Ouvrez le navigateur Cloud Storage dans la console GCP :

    Accéder au navigateur Cloud Storage

  2. Dans la liste des buckets, localisez le bucket de sauvegardes Minecraft.

  3. Cliquez sur Aucun dans la colonne Cycle de vie du bucket. La page Afficher les règles de cycle de vie des objets apparaît.

  4. Cliquez sur Ajouter une règle.

  5. Dans la section Sélectionner les conditions de l'objet, sélectionnez Âge. Définissez l'âge sur 7 jours et cliquez sur Continuer.

  6. Dans la section Sélectionner une action, sélectionnez Supprimer et cliquez sur Continuer.

  7. Cliquez sur Enregistrer pour sauvegarder vos paramètres. Vous êtes redirigé vers la page Afficher les règles de cycle de vie des objets.

Chaque sauvegarde sera désormais supprimée une semaine après que votre script de sauvegarde l'a envoyée à Cloud Storage.

Fermer le serveur Minecraft

Si vous n'avez pas besoin d'exécuter le serveur Minecraft, vous devez le fermer afin d'éviter des frais inutiles.

Commencez par établir une connexion SSH avec l'instance depuis la page Instances de VM de la console GCP. Une fois le terminal ouvert, arrêtez le serveur Minecraft en transmettant une commande \stop au terminal screen dans lequel il s'exécute :

user@mc-server: sudo screen -r -X stuff '/stop\n'

Maintenant que vous avez arrêté le serveur Minecraft, vous pouvez fermer l'instance en toute sécurité. Sur la page Instances de VM, cliquez sur le nom de l'instance, puis sur le bouton Arrêter en haut de la page. Vous êtes alors déconnecté de votre session SSH.

Pour redémarrer votre instance, accédez à la page de l'instance, puis cliquez sur le bouton Démarrer en haut. Pour redémarrer le serveur Minecraft, vous pouvez établir une connexion SSH avec l'instance, réinstaller votre disque persistant, et démarrer votre serveur Minecraft dans le nouveau terminal screen, comme décrit à la section Exécuter le serveur Minecraft.

Automatiser les procédures de démarrage et de fermeture

Si vous envisagez de fermer régulièrement le serveur, pensez à ajouter des scripts de démarrage et d'arrêt à l'instance afin d'automatiser les procédures de démarrage et de fermeture courantes. Vous pouvez automatiser la procédure de démarrage comme suit :

  1. Accédez à la page "Instances de VM" de la console GCP.

    Accéder à la page Instances de VM

  2. Cliquez sur le nom de l'instance.

  3. Cliquez sur Modifier.

  4. Dans la section Métadonnées personnalisées, ajoutez une nouvelle clé nommée startup-script et copiez le script suivant dans le champ Valeur correspondant :

    #!/bin/bash
    mount /dev/disk/by-id/google-minecraft-disk /home/minecraft
    (crontab -l | grep -v -F "/home/minecraft/backup.sh" ; echo "0 */4 * * * /home/minecraft/backup.sh")| crontab -
    cd /home/minecraft
    screen -d -m -S mcs java -Xms1G -Xmx3G -d64 -jar server.jar nogui
    

Lors du redémarrage de l'instance, le script installe automatiquement le disque Minecraft dans le répertoire correspondant, réinstalle la tâche Cron si nécessaire, démarre le serveur Minecraft dans une session screen, puis détache la session.

Pour automatiser la procédure d'arrêt, ajoutez une autre clé nommée shutdown-script et copiez les éléments suivants dans le champ Valeur correspondant :

#!/bin/bash
/home/minecraft/backup.sh
sudo screen -r mcs -X stuff '/stop\n'

En bas de la page, cliquez sur Enregistrer pour valider vos modifications. Lors de l'arrêt de l'instance, le script crée une sauvegarde des données de jeu les plus récentes puis ferme le serveur Minecraft avant l'arrêt de l'instance.

Étapes suivantes

Accéder au wiki Minecraft

Le wiki Minecraft fournit de nombreuses ressources utiles aux joueurs de Minecraft comme aux administrateurs de serveur.

Essayer un autre serveur Minecraft

Le serveur vanilla Minecraft que vous avez installé dans ce tutoriel représente l'un des nombreux serveurs Minecraft disponibles. Rendez-vous sur la page Serveurs personnalisés du wiki Minecraft pour obtenir une liste de serveurs alternatifs optimisés en fonction du type de jeu, des exigences machine, des facilités de modification et plus encore.

Consulter d'autres tutoriels

Testez par vous-même d'autres fonctionnalités de Google Cloud Platform. Découvrez nos tutoriels.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…