Comment installer le serveur Spigot Minecraft sur Ubuntu 20.04

Spigot est un logiciel serveur Minecraft modifié basé sur CraftBukkit. Il offre des optimisations de performances, des options de configuration et des fonctionnalités supplémentaires tout en maintenant la compatibilité avec tous les plugins et mods existants.

Dans ce tutoriel, tu apprendras comment construire et installer le serveur Spigot sur un serveur basé sur Ubuntu 20.04 et installer les plugins.

Conditions préalables

  • Un serveur fonctionnant sous Ubuntu 20.04 avec un minimum de 4 Go de RAM et 2 cœurs de CPU.

  • Un utilisateur non-root avec des privilèges sudo.

  • Tout est mis à jour.

    $ sudo apt update && sudo apt upgrade
    
  • Installe les paquets requis.

    $ sudo apt install wget apt-transport-https gnupg nano screen
    

Étape 1 – Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Ubuntu est livré avec ufw (Uncomplicated Firewall) par défaut.

Vérifie si le pare-feu est en cours d’exécution.

$ sudo ufw status

Tu devrais obtenir la sortie suivante.

Status: inactive

Autorise le port SSH pour empêcher le pare-feu de rompre la connexion en cours lors de son activation.

$ sudo ufw allow OpenSSH

Autorise le port 25565 pour que le serveur Spigot accepte les connexions.

$ sudo ufw allow 25565

Active le pare-feu

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Vérifie à nouveau l’état du pare-feu.

$ sudo ufw status

Tu devrais voir un résultat similaire.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
25565                      ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
25565 (v6)                 ALLOW       Anywhere (v6)

Étape 2 – Installe Java et Git

L’installateur de Spigot a besoin de Java et de Git pour fonctionner. Ubuntu 20.04 est livré avec OpenJDK 17, la dernière version disponible de Java. Exécute la commande suivante pour l’installer.

$ sudo apt install openjdk-17-jre-headless

Confirme la version.

$ java --version
openjdk 17.0.1 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing)

Installe Git.

$ sudo apt install git

Étape 3 – Crée un utilisateur Minecraft

L’étape suivante consiste à créer un utilisateur dédié pour faire fonctionner le serveur.

$ sudo adduser minecraft

Passe à l’utilisateur nouvellement créé.

$ sudo su - minecraft

Étape 4 – Télécharge et installe Spigot

Nous allons construire Spigot à l’aide de l’application BuildTools.jar. La première étape consiste à passer dans le répertoire personnel.

minecraft:$ cd ~

Crée un nouveau répertoire pour BuildTools et passe à celui-ci.

minecraft:$ mkdir buildtools && cd buildtools

Récupère le fichier BuildTools.jar.

minecraft:$ wget -O BuildTools.jar  https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

Construis la dernière version stable de Spigot.

minecraft:$ java -jar BuildTools.jar --rev latest

Selon les ressources disponibles du serveur, ce processus peut prendre du temps.

Vérifie le nom du fichier jar de Spigot créé.

minecraft:$ ls 
apache-maven-3.6.0  BuildData  BuildTools.jar  BuildTools.log.txt  Bukkit  CraftBukkit  Spigot  spigot-1.18.1.jar  work

Dans notre cas, le nom est.

Crée un autre répertoire pour ton serveur Spigot et passe à celui-ci.

minecraft:$ cd ~ && mkdir server && cd server

Déplace ton fichier jar Spigot dans le répertoire du serveur nouvellement créé.

minecraft:$ mv ~/buildtools/spigot-1.18.1.jar ~/server/spigot.jar

Étape 5 – Démarre le serveur Spigot

Pour démarrer le serveur Spigot, nous devons créer un script de démarrage qui nous permet de passer divers paramètres Java pour optimiser le serveur.

Crée et ouvre le script de démarrage pour Spigot.

minecraft:$ sudo nano spigotstart.sh

Colle le code suivant dans le fichier.

#!/bin/sh

java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar spigot.jar nogui

Le paramètre -Xms3G -Xmx3G configure l’espace de tas Java pour 4 Go de RAM. Dans notre cas, nous avons laissé 1 Go libre pour le système d’exploitation et tout autre élément pour lequel il a besoin de la RAM. Change ce paramètre pour la quantité de RAM que tu veux allouer au serveur Spigot. Si ton serveur a 16 Go de RAM, tu dois régler le paramètre pour occuper 14 ou 15 Go de RAM.

Une fois terminé, enregistre le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque tu y es invité.

Rends le script de démarrage exécutable.

minecraft:$ chmod +x spigotstart.sh

Démarre ton serveur Spigot pour la première fois.

minecraft:$ ./spigotstart.sh

Le serveur ne démarrera pas et se terminera à la place, en donnant le message suivant.

[14:14:21] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Ouvre eula.txt pour le modifier.

minecraft:$ nano eula.txt

Définis la valeur de la variable eula à true.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun Dec 26 13:29:15 UTC 2021
eula=true

Une fois terminé, enregistre le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque tu y es invité.

Avant de démarrer le serveur, configurons-le pour qu’il fonctionne comme un service en arrière-plan.

Étape 6 – Configurer Spigot en tant que service

Le serveur a besoin que le shell tourne en permanence pour fonctionner, ce qui n’est pas idéal. Nous devons créer un service pour que le serveur puisse démarrer automatiquement au démarrage et fonctionner en arrière-plan.

Sors de l’utilisateur minecraft.

minecraft:$ exit

Crée un fichier de service Spigot et ouvre-le pour le modifier.

$ sudo nano /etc/systemd/system/spigot.service

Colle le code suivant.

[Unit]
Description=SpigotMC
After=network.target

[Service]
Type=forking
User=minecraft
Group=minecraft
ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh
ExecStop=/usr/bin/screen -S minecraft -p 0 -X stuff "stop$(printf \\r)"
WorkingDirectory=/home/minecraft/server

[Install]
WantedBy=multi-user.target

Une fois terminé, enregistre le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque tu y es invité.

Recharge le démon de service.

$ sudo systemctl daemon-reload

Active le service.

$ sudo systemctl enable spigot

Démarre le service Spigot.

$ sudo systemctl start spigot

Vérifie l’état du service.

$ sudo systemctl status spigot
? spigot.service - SpigotMC
     Loaded: loaded (/etc/systemd/system/spigot.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-12-27 09:15:25 UTC; 6s ago
    Process: 32011 ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh (code=exited, sta>
   Main PID: 32012 (screen)
      Tasks: 25 (limit: 4691)
     Memory: 3.2G
     CGroup: /system.slice/spigot.service
             ??32012 /usr/bin/SCREEN -d -m -S minecraft /home/minecraft/server/spigotstart.sh
             ??32013 /bin/sh /home/minecraft/server/spigotstart.sh
             ??32014 java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockEx>

Dec 27 09:15:25 spigot systemd[1]: Starting SpigotMC...
Dec 27 09:15:25 spigot systemd[1]: Started SpigotMC.

Étape 7 – Connecte-toi à Minecraft

Maintenant que notre serveur est opérationnel, il est temps de se connecter à Minecraft. Lance ton jeu Minecraft.

Jeu Minecraft

Clique sur le bouton Multiplayer et ignore l’avertissement pour l’avenir en cochant la case, Ne plus afficher cet écran.

Avertissement sur Minecraft Multiplayer

Clique sur le bouton Ajouter un serveur sur la page suivante.

Minecraft Ajouter un serveur

Saisis l’adresse IP publique et le nom de ton serveur. Clique sur Done quand tu as terminé.

Ton serveur apparaît maintenant dans la liste.

Liste des serveurs Minecraft

Clique sur le nom de ton serveur et appuie sur le bouton Join Server pour démarrer le serveur. Ton jeu va bientôt commencer.

Jeu de serveur Minecraft

Tu peux demander à tes amis de rejoindre ton serveur et jouer avec eux.

Étape 8 – Personnaliser les propriétés du serveur

Tu peux personnaliser ton serveur en modifiant le fichier /home/minecraft/server/server.properties. Nous allons passer en revue certaines des propriétés ci-dessous.

  • Active les blocs de commande : Les valeurs disponibles sont true et false.

    enable-command-block=false
    
  • Gamemode: Les valeurs disponibles sont la survie, la créativité, l’aventure et le spectateur. Elles peuvent aussi être définies par des nombres entiers commençant par 0 pour survie, 1 pour créatif, 2 pour aventure et 3 pour spectateur.

    gamemode=survival
    
  • Difficulté: Les valeurs disponibles sont paisible, facile, normal et difficile. Elles peuvent aussi être définies par des nombres entiers commençant par 0 pour paisible, 1 pour facile, 2 pour normal et 3 pour difficile.

    difficulty=easy
    
  • MOTD: Signifie Message Of The Day. Il s’agit du message qui s’affiche sur la page de la liste des serveurs. Accepte une valeur de type chaîne. Prend en charge la couleur, les caractères spéciaux et les codes de formatage. Il ne doit pas dépasser 59 caractères.

    motd=A Minecraft Server
    
  • PVP: Active le mode Joueur contre Joueur. Les valeurs disponibles sont true et false.

    pvp=true
    
  • Port du serveur: Définit le port sur lequel le serveur Minecraft écoute. La valeur par défaut est 25565.

    server-port=25565
    

    Si tu changes la valeur du port en quelque chose d’autre, tu devras l’activer dans le pare-feu ; sinon, les joueurs ne pourront pas se connecter.

  • Voir le wiki Minecraft pour plus de propriétés.

Tu devras redémarrer ton serveur Spigot après avoir apporté des modifications à ces propriétés pour qu’elles prennent effet.

$ sudo systemctl restart spigot

Étape 9 – Installe les plugins

Tu peux télécharger les plugins à partir des pages Ressources Spigot ou Plugin Bukkit.

Si tu télécharges le plugin depuis Spigot, la méthode suivante ne fonctionnera pas car elle a été bloquée. Tu devras télécharger manuellement le fichier Jar et le déplacer sur le serveur. Mais si tu télécharges depuis Bukkit, utilise la méthode suivante pour télécharger directement sur ton serveur.

Télécharge le fichier .jar du plugin depuis les pages ci-dessus dans le répertoire /home/minecraft/server/plugins.

$ sudo wget -P /home/minecraft/server/plugins/ --content-disposition <plugin url>

Le drapeau --content-disposition garantit que le fichier est téléchargé avec le nom de fichier correct en utilisant les en-têtes Content-Disposition.

Par exemple, si tu télécharges le plugin WorldEdit, voici comment tu le téléchargeras.

$ sudo wget -P /home/minecraft/server/plugins --content-disposition https://dev.bukkit.org/projects/world
edit/files/latest

Pour recharger le plugin, redémarre ton serveur Spigot.

$ sudo systemctl restart spigot

Étape 10 – Mise à jour de Spigot

Pour mettre à jour Spigot, tu devras répéter l’étape 4 de ce guide pour récupérer la dernière version du fichier BuildTools.jar, puis créer un nouveau fichier spigot.jar. Assure-toi de sauvegarder les anciens fichiers jar et d’arrêter le serveur avant de faire cela.

Conclusion

Ceci conclut notre tutoriel sur l’installation et la configuration du serveur Spigot Minecraft sur un système basé sur Ubuntu 20.04. Si tu as des questions, poste-les dans les commentaires ci-dessous.

Vous aimerez aussi...