Aller au contenu

Serveur Minecraft

Dans cet article

Information

Minecraft Server est un logiciel serveur qui vous permet de lancer un serveur Minecraft multijoueur pour le jeu en ligne.

Fonctionnalités de déploiement

  • Gameplay multijoueur - le serveur permet la connexion et le jeu simultanés de jusqu'à 255 joueurs ;
  • Monde de jeu personnalisable - l'administrateur peut créer des mondes uniques, installer des plugins et des mods ;
  • Gestion du contrôle d'accès - possibilité d'attribuer différents droits aux joueurs dans différentes parties du monde ;
  • Protection contre les griefers - outils pour protéger le monde contre le vandalisme des joueurs ;
  • Sauvegarde - sauvegarde automatique du monde du serveur pour prévenir la perte de données ;
  • Mondes multiples - en option, vous pouvez lancer plusieurs mondes différents sur un seul serveur ;
  • API - un ensemble d'interfaces permettant au serveur d'interagir avec d'autres applications ;
  • Surveillance - suivi des utilisateurs en ligne, de l'activité et des journaux d'événements ;
  • Performance - optimisé pour fonctionner sur un serveur dédié avec un grand nombre de joueurs.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
65 Minecraft: Java Edition Server Ubuntu 22.04 + + + - 1 1 - Non COMMANDER
  • Installation automatique de MCSMManager - un service de gestion de cluster pour les serveurs Minecraft qui vous permet de :
    • Démarrer, arrêter et redémarrer automatiquement les serveurs Minecraft ;
    • Surveiller l'état du serveur et recevoir des alertes ;
    • Gérer les plugins, mods et configurations sur les serveurs ;
    • Mettre à jour les versions du serveur et des plugins ;
  • Équilibrer la charge entre les serveurs du cluster ;
  • Effectuer des sauvegardes des mondes et des données du serveur ;
  • Restaurer les serveurs à partir de sauvegardes ;
  • Redimensionner le cluster en ajoutant ou supprimant des serveurs.
  • Après l'installation de MCSMManager, la structure de répertoires suivante est créée dans /opt/mcsmanager/ :
  • daemon/ - le catalogue du service daemon, incluant :
    • data/Config/global.json - le fichier des paramètres globaux du service.
  • web/ - le catalogue de l'interface web ;
  • start-daemon.sh - le script de démarrage du daemon ;
  • start-web.sh - le script de démarrage de l'interface web ;
  • usage.txt - documentation d'utilisation.
  • Des catalogues et fichiers supplémentaires sont utilisés pour configurer HTTPS et gérer les certificats :
  • /var/lib/docker/volumes/nginx_secrets - un coffre-fort pour les secrets, tels que les clés et certificats pour Nginx, organisé via Docker Volumes ;
  • /data/nginx - le catalogue principal pour le stockage de la configuration Nginx et des fichiers associés ;
    • user_conf.d/ - un sous-répertoire pour les configurations Nginx personnalisées ;
    • nginx-certbot.env - un fichier d'environnement contenant des variables pour Certbot afin d'interagir automatiquement avec Nginx ;
  • /root/nginx - un catalogue où peuvent se trouver des sauvegardes ou des paramètres Nginx supplémentaires gérés manuellement.

Remarque

Sauf indication contraire, nous installons la dernière version du logiciel depuis le site du développeur ou les dépôts du système d'exploitation.

Configuration système requise

Les exigences en ressources pour Minecraft augmentent avec le nombre de joueurs sur le serveur. Les grands groupes de joueurs nécessitent plus de RAM et d'espace disque. Configurations système recommandées pour un serveur Minecraft :

  • Processeur (CPU) : 2 cœurs ou plus, idéalement 2 GHz ou plus ;
  • RAM : minimum 2 Go pour 1-2 joueurs, 5 Go pour 3-6 joueurs, 8 Go pour 6+ joueurs ;
  • Système d'exploitation : Minecraft est disponible pour tous les OS populaires, mais l'OS nécessite des ressources supplémentaires ;
  • Espace disque : minimum 2 Go pour 1-2 joueurs, 18 Go pour 3-5 joueurs, 35 Go pour 6+ joueurs.

Premiers pas après le déploiement du serveur Minecraft

Après avoir payé votre commande, vous recevrez une notification à l'adresse e-mail avec laquelle vous vous êtes inscrit, vous informant que votre serveur est prêt à fonctionner. Elle contiendra l'adresse IP du VPS, ainsi qu'un nom d'utilisateur et un mot de passe pour la connexion. Les clients de notre entreprise gèrent le matériel dans le panneau de contrôle des serveurs et de l'APIInvapi.

Les données d'authentification que l'on peut trouver dans l'onglet Configuration >> Tags du panneau de contrôle du serveur ou dans l'e-mail sont les suivantes :

  • Lien : dans la balise webpanel ;
  • Login et Password arrivent dans un e-mail après le déploiement du logiciel lorsque votre serveur est prêt à fonctionner.

Gestion du compte et du serveur de jeu dans MCSMManager

La première fois que vous cliquez sur le lien de la balise webpanel, on vous demandera de configurer le panneau de contrôle et de créer un compte administrateur. Le processus de configuration initial comprend les étapes suivantes :

  1. Dans la fenêtre ouverte, cliquez sur le bouton Start.

  2. Créez un compte administrateur en remplissant les champs requis.

  3. Indiquez votre statut d'utilisateur :

    • Nouvel utilisateur (première utilisation du système)
    • Utilisateur existant
  4. Sélectionnez le type d'application à déployer (par exemple, serveur de jeu Minecraft Bedrock Edition).

Remarque

Par défaut, le système est installé avec Open JRE 17, ce qu'il faut prendre en compte lors du choix et du déploiement du serveur de jeu. Lors de l'installation des versions modernes de Minecraft, vous devez d'abord mettre à jour Java vers une version compatible.

  1. Spécifiez la machine cible pour l'installation de l'application.

  2. Définissez la méthode de déploiement :

    • Quick Minecraft installation
    • Deployment via Docker images
    • Other available options
  3. Sélectionnez la version du logiciel :

    • Minecraft 1.21.1
    • Minecraft 1.20.1
    • Forge 1.20.6
    • Other available versions
  4. Attendez la fin de l'installation.

Configuration du nœud distant

Une fois l'installation terminée, configurez le nœud distant :

  • Accédez à la section Nodes dans le menu latéral ;
  • Cliquez sur le bouton Add Node ou sélectionnez un nœud existant pour le modifier ;
  • Configurez la connexion au nœud distant :

    • Entrez le nom du nœud (par exemple, minecraft{SERVER_ID}) ;
    • Entrez l'adresse de connexion (wss://minecraft{SERVER_ID}.hostkey.com) ;
    • Définissez le port de connexion (12444) ;
    • Laissez le champ Remote Node Key vide sauf si des paramètres spéciaux sont requis.

  • Cliquez sur le bouton Save ou Update ;

  • En conséquence, l'état du nœud doit passer à Up :

Création et gestion d'un serveur de jeu

  1. Créez une instance de serveur :

    • Accédez à la section Instances dans le menu latéral ;
    • Cliquez sur le bouton Create Instance ;
    • Dans la fenêtre ouverte, sélectionnez :

      • Nœud : sélectionnez le nœud configuré précédemment :

      • Type de serveur : par exemple, MC Java Edition Server :

      • Nom de l'instance : entrez le nom souhaité (par exemple, minecraft{SERVER_ID}vanilla) :

    • Cliquez sur le bouton Ok ;

    • Après la création, l'instance apparaîtra dans la liste avec le nom spécifié.
  2. Configuration initiale du serveur :

    • Sélectionnez l'instance créée dans la liste ;
    • Accédez à l'onglet Configuration Files :

    • Trouvez et modifiez le fichier eula.txt :
      • Changez la valeur de eula=false en eula=true pour accepter l'accord de licence ;
      • Enregistrez les modifications :

    • Retournez à l'onglet Overview ou Console.
  3. Lancement et surveillance du serveur :

    • Cliquez sur le bouton Launch sur la page de l'instance :

    • Dans la console du serveur, suivez le processus de chargement ;
    • Portez une attention particulière aux messages d'erreur ou aux avertissements ;
    • Après le chargement complet, la console affichera le message Done avec le temps de chargement indiqué.
  4. Gestion d'un serveur en cours d'exécution :

    • Dans la section Basic Information, les éléments suivants sont affichés :
      • Nom du serveur ;
      • Heure de début du travail ;
      • Nombre de redémarrages ;
      • Encodage de sortie (UTF-8) ;
      • État du serveur (Online/Offline) ;
      • Utilisation des ressources (CPU, RAM).
  5. Configuration du serveur :

    • Accédez à l'onglet Configuration Files ;
    • Trouvez et modifiez le fichier server.properties :
      • gamemode : mode de jeu (survie, créatif, aventure) ;
      • difficulty : difficulté (pacifique, facile, normal, difficile) ;
      • pvp : activer/désactiver le PvP (true/false) ;
      • max-players : nombre maximum de joueurs ;
      • server-port : port du serveur ;
      • level-name : nom du monde ;
      • view-distance : distance de rendu ;
      • accepts-transfers : transfert de fichiers (true/false) ;
      • allow-flight : autoriser le vol (true/false) ;
      • allow-nether : accès au Nether (true/false) ;
      • broadcast-console-to-ops : envoyer les messages de console aux opérateurs (true/false) ;
      • broadcast-rcon-to-ops : envoyer les messages RCON aux opérateurs (true/false) ;
    • Enregistrez les modifications et redémarrez le serveur pour appliquer les paramètres.

Remarque

Des informations détaillées sur les paramètres principaux de MCSMManager sont disponibles dans la documentation du développeur.

Configuration d'un proxy inverse pour HTTPS

Attention

La configuration d'HTTPS est une tâche complexe qui nécessite des connaissances professionnelles en technologies réseau. Nous déconseillons fortement aux utilisateurs réguliers de tenter de configurer manuellement une connexion HTTPS. Avant de procéder, assurez-vous de bien comprendre l'architecture réseau du système et les principes de fonctionnement avec les certificats SSL. Une configuration incorrecte peut entraîner un fonctionnement instable du serveur ou une perte totale d'accès au panneau de contrôle.

La configuration d'un proxy inverse pour HTTPS est importante pour garantir la sécurité, les performances et la facilité de gestion du serveur. Il chiffre le trafic, empêchant l'interception de données, et achemine également les requêtes, fournissant un équilibrage de charge et une fiabilité. Le proxy centralise la gestion des certificats SSL, simplifie la configuration du serveur et peut mettre en cache les données, améliorant ainsi les performances. Cependant, si le système ne nécessite pas une haute sécurité, une charge élevée ou une infrastructure complexe (par exemple, pour des tests locaux ou de petits projets), vous pouvez vous passer de la configuration d'un proxy inverse.

Étape 1 : Préparation des certificats SSL

Si vous possédez déjà un certificat SSL (par exemple, un certificat autosigné ou provenant d'une autorité de certification externe), vous pouvez l'utiliser. Sinon, suivez ces étapes :

  1. Obtention du certificat :

    • Pour un certificat autosigné, utilisez la commande :

      openssl req -x509 -newkey rsa:4096 -keyout /data/nginx/ssl/domain.key -out /data/nginx/ssl/domain.crt -sha256 -days 365
      
      Si le certificat a été obtenu auprès de Let's Encrypt ou d'une autre autorité de certification, assurez-vous que les fichiers .crt et .key se trouvent dans le répertoire /data/nginx/ssl/.

Remarque

Le processus d'émission de certificats SSL pour un serveur dans MCSMManager repose sur l'utilisation d'un conteneur Docker et de l'outil Certbot pour l'obtention automatique de certificats auprès de Let’s Encrypt. Plus de détails sur l'obtention et la mise à jour instantanées des certificats SSL auprès de Let's Encrypt sont décrits dans l'article Free Domain Certbot

  1. Préparation du répertoire de stockage des certificats :
    • Assurez-vous que les certificats se trouvent dans un répertoire sécurisé, par exemple :

      mkdir -p /data/nginx/ssl
      cp /path/to/certificate/domain.crt /data/nginx/ssl/
      cp /path/to/certificate/domain.key /data/nginx/ssl/
      

Étape 2 : Préparation de la configuration Nginx

  1. Création de la configuration pour le daemon :

    Dans le répertoire où se trouvent les fichiers de configuration Nginx (/data/nginx/user_conf.d ou similaire), créez un fichier de configuration pour le daemon.

    Exemple de configuration pour le daemon (daemon_https.conf) :

    ```nginx server { listen 12444 ssl http2; listen [::]:12444 ssl http2;

    ssl_certificate /data/nginx/ssl/domain.crt; ssl_certificate_key /data/nginx/ssl/domain.key;

    location / { proxy_pass http://127.0.0.1:24444; proxy_set_header Host $host; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; } }

     **Création de la configuration pour le panneau** :
    
     Exemple de configuration pour le panneau (`web_https.conf`) :
     ```nginx
     server {
       listen 12333 ssl http2;
       listen [::]:12333 ssl http2;
    
    
       ssl_certificate /data/nginx/ssl/domain.crt;
       ssl_certificate_key /data/nginx/ssl/domain.key;
    
    
       location / {
           proxy_pass http://127.0.0.1:23333;
           proxy_set_header Host $host;
           proxy_set_header X-Real-Ip $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
       }
    }
    

  2. Activation des configurations :

    Pour que Nginx utilise ces configurations, créez des liens symboliques dans le répertoire /data/nginx/user_conf.d/ (ou un autre où les configurations actives sont stockées) :

    ln -s /data/nginx/user_conf.d/daemon_https.conf /etc/nginx/sites-enabled/
    ln -s /data/nginx/user_conf.d/web_https.conf /etc/nginx/sites-enabled/
    

    Ou, si vous souhaitez ajouter les configurations directement au fichier nginx.conf, ouvrez-le et ajoutez les blocs de configuration avant la dernière accolade fermante } :

    nano /etc/nginx/nginx.conf
    

Étape 3 : Vérification et redémarrage de Nginx

  1. Vérification de la configuration :

    Avant de redémarrer Nginx, assurez-vous que la configuration est correcte, utilisez la commande :

    sudo nginx -t
    

    Si tout est correct, vous verrez le message :

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

  2. Redémarrage de Nginx :

    Après avoir vérifié avec succès la configuration, redémarrez Nginx pour appliquer les modifications :

    sudo systemctl reload nginx
    

Étape 4 : Configuration de la redirection automatique de HTTP vers HTTPS

Pour garantir que toutes les requêtes HTTP sont automatiquement redirigées vers HTTPS, créez une configuration supplémentaire pour la redirection :

  1. Configuration de la redirection HTTP vers HTTPS :

    Dans la configuration Nginx, ajoutez un serveur qui écoutera sur le port 80 (HTTP) et redirigera toutes les requêtes vers HTTPS :

    server {
     listen 80;
     server_name your-domain.com;
    
    
     location / {
         return 301 https://$host$request_uri;
     }
    }
    

Étape 5 : Connexion et vérification

  1. Connexion via HTTPS :

    Après le rechargement de Nginx, vérifiez la disponibilité de vos services via HTTPS :

    • Panneau de contrôle : https://your-domain.com:12333/
    • Daemon : https://your-domain.com:12444/
  2. Configuration de WebSocket :

    Si votre application utilise WebSocket pour interagir avec les daemons, assurez-vous que vos configurations de proxy prennent correctement en charge WebSocket :

    Dans la configuration Nginx, ajoutez :

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    
  3. Vérification de la connexion :

    Si tout est correctement configuré, vous devriez voir des connexions HTTPS fonctionnant correctement. Le panneau de contrôle affichera la page de connexion, et le daemon affichera le statut "OK".

    Remarque

    Des informations détaillées sur la configuration d'un proxy inverse pour HTTPS sont disponibles dans la documentation du développeur.

Commander un serveur Minecraft via l'API