Prérequis
- Un VPS ou serveur dédié avec Ubuntu/Debian ou AlmaLinux 9
- Minimum 2 Go de RAM (4 Go recommandé pour 10+ joueurs)
- Accès root en SSH
Créez votre propre serveur Minecraft Java Edition pour jouer avec vos amis. Ce guide couvre l'installation de base, la configuration et l'optimisation pour un serveur stable.
1. Installer Java
Minecraft nécessite Java 17 ou supérieur (Java 21 recommandé pour les versions récentes) :
# Mettre à jour les paquets
apt update
# Installer Java 21 (OpenJDK)
apt install openjdk-21-jdk -y
# Vérifier l'installation
java -version# Mettre à jour les paquets
dnf update -y
# Installer Java 21 (OpenJDK)
dnf install -y java-21-openjdk
# Vérifier l'installation
java -version2. Créer un utilisateur dédié
Pour des raisons de sécurité, ne lancez jamais Minecraft en root :
# Créer l'utilisateur
useradd -m -r -d /opt/minecraft minecraft
# Créer le dossier du serveur
mkdir -p /opt/minecraft/server
# Donner les droits
chown -R minecraft:minecraft /opt/minecraft3. Télécharger le serveur Minecraft
# Se connecter en tant que minecraft
su - minecraft
# Aller dans le dossier serveur
cd /opt/minecraft/server
# Télécharger la dernière version (vérifiez sur minecraft.net pour l'URL actuelle)
# Pour Minecraft 1.21.x :
wget https://piston-data.mojang.com/v1/objects/XXXX/server.jar -O server.jarTrouver l'URL du serveur
L'URL du serveur change à chaque version. Rendez-vous sur minecraft.net/download/server pour obtenir le lien de téléchargement actuel.
4. Premier lancement
# Premier lancement (va échouer, c'est normal)
java -Xmx1024M -Xms1024M -jar server.jar nogui
# Accepter l'EULA
echo "eula=true" > eula.txt5. Configurer le serveur
Éditez le fichier server.properties pour personnaliser votre serveur :
nano server.properties# Nom du serveur (affiché dans la liste)
motd=Mon Serveur Minecraft
# Nombre max de joueurs
max-players=20
# Mode de jeu (survival, creative, adventure, spectator)
gamemode=survival
# Difficulté (peaceful, easy, normal, hard)
difficulty=normal
# Activer le mode en ligne (true = comptes Minecraft officiels requis)
online-mode=true
# Port du serveur (par défaut 25565)
server-port=25565
# Activer le PVP
pvp=true
# Spawn protection (rayon en blocs)
spawn-protection=16
# Distance de rendu (chunks)
view-distance=10
# Simulation distance
simulation-distance=106. Créer un script de démarrage
cat > /opt/minecraft/server/start.sh << 'EOF'
#!/bin/bash
# Script de démarrage Minecraft
# Configuration mémoire (ajustez selon votre RAM disponible)
MIN_RAM="1G"
MAX_RAM="4G"
# Options Java optimisées
JAVA_OPTS="-Xms${MIN_RAM} -Xmx${MAX_RAM}"
JAVA_OPTS="${JAVA_OPTS} -XX:+UseG1GC"
JAVA_OPTS="${JAVA_OPTS} -XX:+ParallelRefProcEnabled"
JAVA_OPTS="${JAVA_OPTS} -XX:MaxGCPauseMillis=200"
JAVA_OPTS="${JAVA_OPTS} -XX:+UnlockExperimentalVMOptions"
JAVA_OPTS="${JAVA_OPTS} -XX:+DisableExplicitGC"
JAVA_OPTS="${JAVA_OPTS} -XX:G1NewSizePercent=30"
JAVA_OPTS="${JAVA_OPTS} -XX:G1MaxNewSizePercent=40"
JAVA_OPTS="${JAVA_OPTS} -XX:G1HeapRegionSize=8M"
JAVA_OPTS="${JAVA_OPTS} -XX:G1ReservePercent=20"
JAVA_OPTS="${JAVA_OPTS} -XX:G1HeapWastePercent=5"
JAVA_OPTS="${JAVA_OPTS} -XX:G1MixedGCCountTarget=4"
JAVA_OPTS="${JAVA_OPTS} -XX:InitiatingHeapOccupancyPercent=15"
JAVA_OPTS="${JAVA_OPTS} -XX:G1MixedGCLiveThresholdPercent=90"
JAVA_OPTS="${JAVA_OPTS} -XX:G1RSetUpdatingPauseTimePercent=5"
JAVA_OPTS="${JAVA_OPTS} -XX:SurvivorRatio=32"
JAVA_OPTS="${JAVA_OPTS} -XX:+PerfDisableSharedMem"
JAVA_OPTS="${JAVA_OPTS} -XX:MaxTenuringThreshold=1"
cd /opt/minecraft/server
java ${JAVA_OPTS} -jar server.jar nogui
EOF
chmod +x /opt/minecraft/server/start.sh7. Créer un service systemd
Créez un service pour démarrer automatiquement le serveur :
# Quitter l'utilisateur minecraft
exit
# Créer le fichier service
cat > /etc/systemd/system/minecraft.service << 'EOF'
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/opt/minecraft/server/start.sh
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure
RestartSec=10
# Sécurité
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
# Recharger systemd
systemctl daemon-reload
# Activer le démarrage automatique
systemctl enable minecraft
# Démarrer le serveur
systemctl start minecraft8. Commandes de gestion
# Démarrer le serveur
systemctl start minecraft
# Arrêter le serveur
systemctl stop minecraft
# Redémarrer le serveur
systemctl restart minecraft
# Voir le statut
systemctl status minecraft
# Voir les logs en direct
journalctl -u minecraft -f9. Ouvrir le port dans le pare-feu
# Autoriser le port Minecraft
ufw allow 25565/tcp
# Si vous utilisez un port différent
# ufw allow VOTRE_PORT/tcp
# Vérifier
ufw status# Autoriser le port Minecraft
firewall-cmd --permanent --add-port=25565/tcp
# Si vous utilisez un port différent
# firewall-cmd --permanent --add-port=VOTRE_PORT/tcp
# Appliquer les changements
firewall-cmd --reload
# Vérifier
firewall-cmd --list-ports10. Se connecter au serveur
- Lancez Minecraft Java Edition
- Cliquez sur 'Multijoueur'
- Cliquez sur 'Ajouter un serveur'
- Entrez un nom et l'adresse IP:PORT (ex: 123.45.67.89:25565)
- Cliquez sur 'Terminé' puis connectez-vous
11. Console du serveur
Pour accéder à la console Minecraft et exécuter des commandes :
# Installer screen
apt install screen -y
# Modifier le service pour utiliser screen
# Dans /etc/systemd/system/minecraft.service, changez ExecStart :
# ExecStart=/usr/bin/screen -DmS minecraft /opt/minecraft/server/start.sh
# Attacher la console
screen -r minecraft
# Pour détacher : Ctrl+A puis D# Installer screen
dnf install -y screen
# Modifier le service pour utiliser screen
# Dans /etc/systemd/system/minecraft.service, changez ExecStart :
# ExecStart=/usr/bin/screen -DmS minecraft /opt/minecraft/server/start.sh
# Attacher la console
screen -r minecraft
# Pour détacher : Ctrl+A puis DCommandes serveur utiles
# Donner OP à un joueur
op NomDuJoueur
# Retirer OP
deop NomDuJoueur
# Bannir un joueur
ban NomDuJoueur raison
# Kick un joueur
kick NomDuJoueur raison
# Whitelist (mode liste blanche)
whitelist on
whitelist add NomDuJoueur
# Changer le mode de jeu
gamemode survival NomDuJoueur
# Sauvegarder le monde
save-all
# Arrêter proprement le serveur
stopAlternatives au serveur Vanilla
- Paper : Serveur optimisé avec support des plugins Bukkit/Spigot (papermc.io)
- Purpur : Fork de Paper avec encore plus d'optimisations
- Fabric : Pour les mods Fabric
- Forge : Pour les mods Forge
# Télécharger Paper (vérifiez la version sur papermc.io)
cd /opt/minecraft/server
wget https://api.papermc.io/v2/projects/paper/versions/1.21/builds/XXX/downloads/paper-1.21-XXX.jar -O server.jarSauvegardes automatiques
cat > /opt/minecraft/backup.sh << 'EOF'
#!/bin/bash
BACKUP_DIR="/opt/minecraft/backups"
DATE=$(date +%Y-%m-%d_%H-%M)
mkdir -p $BACKUP_DIR
# Créer la sauvegarde
tar -czf $BACKUP_DIR/minecraft-$DATE.tar.gz /opt/minecraft/server/world*
# Garder seulement les 7 dernières sauvegardes
cd $BACKUP_DIR
ls -t | tail -n +8 | xargs -r rm
EOF
chmod +x /opt/minecraft/backup.sh
chown minecraft:minecraft /opt/minecraft/backup.sh
# Ajouter au cron (sauvegarde quotidienne à 4h)
(crontab -l 2>/dev/null; echo "0 4 * * * /opt/minecraft/backup.sh") | crontab -Serveur prêt !
Votre serveur Minecraft est maintenant opérationnel. Partagez l'adresse IP avec vos amis pour jouer ensemble !