Table des matières
Comment héberger un serveur Minecraft sur Debian
Introduction
Héberger son propre serveur Minecraft sur Debian offre un contrôle total sur l'expérience de jeu, les performances et les modifications. Ce guide vous accompagne étape par étape dans l'installation et la configuration d'un serveur Minecraft sur Debian 11/12.
Prérequis
Configuration minimale recommandée
- RAM : 4 GB minimum (8 GB recommandé pour 10+ joueurs)
- CPU : 2 cœurs minimum (4 cœurs recommandé)
- Stockage : 10 GB d'espace libre
- Connexion : Bande passante stable avec ports ouverts
- Système : Debian 11 (Bullseye) ou Debian 12 (Bookworm)
Étape 1 : Mise à jour du système
Commencez par mettre à jour votre système Debian pour garantir que tous les paquets sont à jour.
sudo apt update && sudo apt upgrade -y
Étape 2 : Installation de Java
Minecraft nécessite Java pour fonctionner. La version de Java dépend de la version de Minecraft que vous souhaitez installer.
Pour Minecraft 1.20+ (Java 17 ou supérieur)
sudo apt install openjdk-17-jre-headless -y
Pour Minecraft 1.17-1.19 (Java 16 ou 17)
sudo apt install openjdk-17-jre-headless -y
Pour Minecraft 1.12-1.16 (Java 8 ou 11)
sudo apt install openjdk-11-jre-headless -y
Vérifiez l'installation de Java :
java -version
Étape 3 : Création d'un utilisateur dédié
Pour des raisons de sécurité, créez un utilisateur système dédié pour exécuter le serveur Minecraft.
sudo adduser --system --home /opt/minecraft --shell /bin/bash minecraft
sudo mkdir -p /opt/minecraft/server
sudo chown -R minecraft:nogroup /opt/minecraft
Étape 4 : Installation du serveur Minecraft
Option A : Serveur Vanilla (officiel)
Connectez-vous en tant qu'utilisateur minecraft :
sudo su - minecraft
cd /opt/minecraft/server
Téléchargez la dernière version du serveur depuis le site officiel :
wget https://piston-data.mojang.com/v1/objects/[HASH]/server.jar -O minecraft_server.jar
Note : Remplacez [HASH] par le hash actuel disponible sur minecraft.net/download/server
Option B : Serveur Paper (optimisé)
Paper est une version optimisée de Spigot offrant de meilleures performances :
wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/365/downloads/paper-1.20.4-365.jar -O paper_server.jar
Étape 5 : Configuration initiale
Acceptation de l'EULA
Lancez le serveur une première fois pour générer les fichiers de configuration :
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Le serveur va s'arrêter. Acceptez l'EULA :
sed -i 's/eula=false/eula=true/g' eula.txt
Configuration du serveur
Éditez le fichier server.properties
:
nano server.properties
Paramètres importants à configurer :
# Port du serveur (par défaut 25565)
server-port=25565
# Nombre maximum de joueurs
max-players=20
# Mode de jeu (survival, creative, adventure, spectator)
gamemode=survival
# Difficulté (peaceful, easy, normal, hard)
difficulty=normal
# Message d'accueil
motd=Mon Serveur Minecraft sur Debian
# Activer la whitelist
white-list=false
# Distance de rendu en chunks
view-distance=10
# Protection spawn
spawn-protection=16
Étape 6 : Script de démarrage
Créez un script de démarrage pour faciliter la gestion du serveur :
nano /opt/minecraft/server/start.sh
Ajoutez le contenu suivant :
#!/bin/bash
# Script de démarrage du serveur Minecraft
# Configuration de la mémoire
MIN_RAM="1G"
MAX_RAM="4G"
# Nom du jar
JAR_FILE="minecraft_server.jar"
# Démarrage du serveur
java -Xms${MIN_RAM} -Xmx${MAX_RAM} \
-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 ${JAR_FILE} nogui
Rendez le script exécutable :
chmod +x /opt/minecraft/server/start.sh
Étape 7 : Service systemd
Créez un service systemd pour gérer automatiquement le serveur :
sudo nano /etc/systemd/system/minecraft.service
Contenu du fichier :
[Unit]
Description=Serveur Minecraft
After=network.target
[Service]
Type=simple
User=minecraft
Group=nogroup
WorkingDirectory=/opt/minecraft/server
ExecStart=/opt/minecraft/server/start.sh
ExecStop=/usr/bin/pkill -f minecraft_server.jar
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Activez et démarrez le service :
sudo systemctl daemon-reload
sudo systemctl enable minecraft.service
sudo systemctl start minecraft.service
Étape 8 : Configuration du pare-feu
Avec UFW
sudo ufw allow 25565/tcp
sudo ufw allow 25565/udp
Avec iptables
sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 25565 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4
Étape 9 : Commandes de gestion
Commandes systemd essentielles
# Démarrer le serveur
sudo systemctl start minecraft
# Arrêter le serveur
sudo systemctl stop minecraft
# Redémarrer le serveur
sudo systemctl restart minecraft
# Vérifier le statut
sudo systemctl status minecraft
# Voir les logs
sudo journalctl -u minecraft -f
Accès à la console du serveur
Pour interagir avec la console Minecraft, utilisez screen ou tmux :
# Installation de screen
sudo apt install screen -y
# Modifier le script de démarrage pour utiliser screen
nano /opt/minecraft/server/start.sh
Version modifiée avec screen :
#!/bin/bash
screen -dmS minecraft java -Xms1G -Xmx4G -jar minecraft_server.jar nogui
Accéder à la console :
screen -r minecraft
Détacher de la console : Ctrl+A
puis D
Étape 10 : Sauvegardes automatiques
Créez un script de sauvegarde :
sudo nano /opt/minecraft/backup.sh
#!/bin/bash
# Script de sauvegarde Minecraft
BACKUP_DIR="/opt/minecraft/backups"
SERVER_DIR="/opt/minecraft/server"
DATE=$(date +%Y%m%d_%H%M%S)
# Créer le répertoire de sauvegarde
mkdir -p $BACKUP_DIR
# Arrêter le serveur
systemctl stop minecraft
# Créer la sauvegarde
tar -czf $BACKUP_DIR/minecraft_backup_$DATE.tar.gz -C $SERVER_DIR world world_nether world_the_end
# Redémarrer le serveur
systemctl start minecraft
# Supprimer les sauvegardes de plus de 7 jours
find $BACKUP_DIR -type f -mtime +7 -delete
Ajoutez une tâche cron pour les sauvegardes automatiques :
sudo crontab -e
Ajoutez cette ligne pour une sauvegarde quotidienne à 3h du matin :
0 3 * * * /opt/minecraft/backup.sh
Optimisations et conseils
Optimisation de la JVM
Pour de meilleures performances, ajustez les paramètres JVM selon votre RAM disponible :
- 4GB RAM :
-Xms2G -Xmx3G
- 8GB RAM :
-Xms4G -Xmx6G
- 16GB RAM :
-Xms8G -Xmx12G
Monitoring des ressources
Installez htop pour surveiller les ressources :
sudo apt install htop -y
Plugins recommandés (pour Paper/Spigot)
Si vous utilisez Paper ou Spigot, voici quelques plugins essentiels :
- EssentialsX : Commandes essentielles
- LuckPerms : Gestion des permissions
- WorldEdit : Édition du monde
- WorldGuard : Protection des zones
- CoreProtect : Système de rollback
Configuration de la whitelist
Pour un serveur privé, activez la whitelist :
# Dans server.properties
white-list=true
# Ajouter des joueurs (depuis la console)
whitelist add NomDuJoueur
Dépannage
Le serveur ne démarre pas
- Vérifiez les logs :
journalctl -u minecraft -n 50
- Vérifiez la version de Java :
java -version
- Assurez-vous que l'EULA est accepté :
cat eula.txt
Problèmes de performance
- Réduisez la distance de rendu dans
server.properties
- Désactivez les spawners de mobs inutiles
- Utilisez Paper au lieu du serveur Vanilla
- Augmentez la RAM allouée
Connexion impossible
- Vérifiez que le port 25565 est ouvert
- Vérifiez l'adresse IP du serveur
- Désactivez temporairement le pare-feu pour tester
Conclusion
Votre serveur Minecraft est maintenant opérationnel sur Debian ! N'oubliez pas de :
- Effectuer des sauvegardes régulières
- Maintenir le serveur à jour
- Surveiller les performances
- Configurer les permissions appropriées
- Documenter vos modifications
Pour se connecter au serveur depuis Minecraft, utilisez l'adresse IP de votre serveur Debian et le port configuré (par défaut 25565).