Quand un éditeur ferme les serveurs d’un jeu, des millions de joueurs perdent du jour au lendemain l’accès à un titre qu’ils ont pourtant payé. C’est précisément ce constat qui a porté l’initiative citoyenne européenne Stop Killing Games, créditée de près de 1,3 million de signatures avant que la Commission européenne ne renonce, en 2026, à tout engagement législatif contraignant. La meilleure parade reste donc technique : reprendre le contrôle en hébergeant soi-même son infrastructure de jeu. Bonne nouvelle, c’est exactement ce que permet un serveur Minecraft auto-hébergé.
Avec plus de 300 millions d’exemplaires vendus (chiffre officiel Mojang, octobre 2023), Minecraft est le jeu le plus vendu de l’histoire, et l’un des rares dont le multijoueur repose entièrement sur des serveurs que n’importe qui peut faire tourner. Ce tutoriel publié le 26 juin 2026 vous explique, en 12 étapes et environ 30 minutes pour la base, comment créer un serveur Minecraft Java moderne, performant et surtout sécurisé sous Linux. Nous irons plus loin que les guides habituels : pare-feu, Fail2ban, anti-DDoS, conformité RGPD et sauvegardes automatisées, parce qu’un serveur exposé sur Internet est une cible, pas un simple jouet.
Ce que vous allez construire
À la fin de ce guide, vous disposerez d’un serveur Minecraft Java Edition complet, tournant sous Paper 26.2 avec Java 25, accessible par vos amis, protégé par un pare-feu et une whitelist, et sauvegardé automatiquement chaque nuit. Voici le périmètre exact du projet :
- Un serveur Paper 26.2 (fork hautes performances) tournant sous Java 25 ;
- Un fichier
server.propertiesdurci et une whitelist active ; - Un script de lancement optimisé avec les flags Aikar (réglage du ramasse-miettes G1GC) ;
- Un pare-feu UFW/iptables n’ouvrant que le port 25565 nécessaire ;
- Fail2ban et une protection anti-DDoS pour limiter les abus ;
- Des sauvegardes automatiques quotidiennes via
cron; - Une alternative conteneurisée avec Docker pour aller plus vite ;
- Un rappel des obligations RGPD lorsque vous hébergez les données d’autres joueurs.
Pourquoi héberger son propre serveur Minecraft en 2026
La première raison est la souveraineté. Un service d’hébergement clé en main peut fermer, augmenter ses tarifs ou supprimer votre monde sans préavis. En hébergeant vous-même, vous conservez l’intégralité de vos fichiers de sauvegarde, vos plugins et la configuration de votre serveur Minecraft. Cette logique rejoint directement le débat européen sur la préservation du jeu vidéo : tant que le code serveur reste accessible – ce qui est le cas pour Minecraft Java – une communauté peut maintenir un titre en vie indéfiniment, même si l’éditeur s’en désintéresse.
Ce n’est pas une hypothèse théorique : chaque année, des dizaines de jeux en ligne voient leurs serveurs officiels définitivement éteints, rendant injouables des titres pourtant achetés. Minecraft fait figure d’exception heureuse, parce que Mojang distribue librement le logiciel serveur. En l’exécutant vous-même, vous transformez un service dépendant d’un tiers en un bien que vous contrôlez réellement – et c’est tout l’enjeu de la préservation défendue à l’échelle européenne.
La deuxième raison est le contrôle technique. Auto-héberger, c’est choisir sa version exacte, ses mods, ses plugins, la difficulté, la liste blanche des joueurs et les règles de modération. C’est aussi la seule façon d’appliquer de vraies mesures de sécurité : un hébergeur mutualisé vous laisse rarement configurer un pare-feu ou installer Fail2ban. Or un serveur de jeu ouvert sur Internet subit en permanence des scans de ports, des tentatives de connexion automatisées et, régulièrement, des attaques par déni de service. Les administrateurs se souviennent encore de la faille Log4Shell (CVE-2021-44228), révélée fin 2021 : c’est précisément via des serveurs Minecraft que cette vulnérabilité critique de la bibliothèque Java Log4j a d’abord été exploitée à grande échelle, comme l’a documenté la fondation Apache.
La troisième raison est économique et pédagogique. Une vieille machine, un mini-PC ou un Raspberry Pi récent suffisent pour accueillir un petit groupe d’amis, pour un coût marginal. Et le projet est un excellent terrain d’apprentissage de l’administration système Linux : gestion de services, ouverture de ports, sécurisation SSH, supervision et sauvegardes. Les compétences acquises ici sont directement transférables à n’importe quel serveur de production. Avant de créer un serveur Minecraft, posons donc les bonnes fondations en choisissant le bon logiciel serveur.
Vanilla, Paper, Spigot, Fabric ou Forge : quel logiciel choisir
Le logiciel serveur officiel de Mojang, dit « Vanilla », est fonctionnel mais peu optimisé et ne supporte ni plugins ni mods. La communauté a donc développé des alternatives. Spigot est un fork historique ajoutant une API de plugins ; Paper est un fork de Spigot encore plus optimisé, devenu le standard de facto pour les serveurs multijoueurs grâce à ses gains de performances et à ses correctifs réguliers. Du côté des mods, Fabric est une chaîne d’outils légère et moderne, tandis que Forge (et son successeur NeoForge) reste la référence pour les gros packs de mods. Pour la majorité des serveurs entre amis, Paper est le meilleur choix : c’est celui que nous utiliserons.
| Logiciel | Type | Plugins | Mods | Performances | Idéal pour |
|---|---|---|---|---|---|
| Vanilla (Mojang) | Officiel | Non | Non | Moyennes | Tests, fidélité au jeu de base |
| Spigot | Fork Bukkit | Oui | Non | Bonnes | Serveurs à plugins classiques |
| Paper | Fork de Spigot | Oui | Non | Excellentes | La plupart des serveurs multijoueurs |
| Fabric | Chargeur de mods | Non | Oui | Excellentes | Mods légers et récents |
| Forge / NeoForge | Chargeur de mods | Non | Oui | Variables | Gros packs de mods (RPG, tech) |
Un détail crucial en 2026 : Mojang a abandonné la numérotation historique 1.21.x au profit d’un schéma annuel. La dernière version stable de Minecraft Java Edition est désormais 26.2 (vérifiable dans le manifeste officiel des versions), succédant à la branche 1.21.11. Paper suit cette numérotation et propose des builds 26.2 dès leur sortie. Choisissez toujours une version serveur identique à celle de vos clients : un client 26.2 ne peut pas se connecter à un serveur 1.21, et inversement.
L’autre intérêt majeur de Paper est son écosystème de plugins, qui permet d’ajouter protections anti-triche, gestion fine des permissions, économie en jeu ou journalisation des actions des joueurs, sans toucher au code source. Téléchargez-les uniquement depuis des plateformes reconnues comme Hangar (le dépôt officiel de PaperMC) ou Modrinth, et vérifiez que chaque plugin annonce la compatibilité avec votre version exacte. Un plugin abandonné ou issu d’une source douteuse constitue un risque de sécurité réel : il s’exécute avec les pleins droits de la JVM et peut donc lire ou modifier l’ensemble de votre serveur Minecraft.
Prérequis : matériel, système d’exploitation et versions
Ce tutoriel cible un serveur Linux (Ubuntu Server 24.04 LTS ou Debian 12), la plateforme la plus économique et la plus sécurisable pour héberger un service en continu. Les commandes Windows et macOS sont brièvement évoquées, mais l’essentiel des bonnes pratiques de sécurité décrites ici suppose Linux. Côté logiciel, deux versions sont non négociables et doivent correspondre à votre version de Minecraft.
| Composant | Version recommandée (juin 2026) | Rôle |
|---|---|---|
| Minecraft Java Edition | 26.2 (dernière stable) | Version cible du serveur et des clients |
| Paper | 26.2 (dernier build) | Logiciel serveur hautes performances |
| Java (JDK) | Java 25 (LTS) minimum | Exécution du serveur – requis par 26.2 |
| Système | Ubuntu Server 24.04 LTS / Debian 12 | OS hôte |
| Port réseau | 25565 / TCP (par défaut) | Port d’écoute du serveur |
Attention à un piège très courant : la version de Java. Les éditions récentes de Minecraft ont relevé leurs exigences. D’après l’API officielle de PaperMC, Minecraft 26.2 requiert Java 25 au minimum ; un Java 21, longtemps suffisant pour la branche 1.21, ne lancera tout simplement pas le serveur. Installez donc explicitement un JDK 25, idéalement la distribution Eclipse Temurin d’Adoptium. Côté matériel, le facteur limitant est la mémoire vive (RAM), pas le processeur. Le tableau suivant donne des ordres de grandeur réalistes.
| Profil de serveur | Joueurs simultanés | RAM conseillée | CPU |
|---|---|---|---|
| Vanilla / Paper sans plugin | 2 à 5 | 2 Go | 2 cœurs |
| Paper + quelques plugins | 5 à 10 | 4 Go | 2 à 4 cœurs |
| Paper + nombreux plugins | 10 à 20 | 6 Go | 4 cœurs |
| Pack de mods (Forge/Fabric) | 5 à 10 | 6 à 8 Go | 4 cœurs rapides |
Ces valeurs sont des recommandations générales : un monde très étendu, de nombreuses entités ou des plugins gourmands feront grimper les besoins. Prévoyez toujours un peu de RAM libre pour le système d’exploitation lui-même – n’allouez jamais 100 % de la mémoire de la machine au serveur Minecraft, sous peine de plantages par manque de mémoire.
Maison, VPS ou Raspberry Pi : où héberger votre serveur
Trois options s’offrent à vous. Héberger à la maison sur un PC dédié ou un mini-PC est la solution la moins chère et la plus souveraine, mais elle expose votre connexion personnelle et votre adresse IP, et dépend de la qualité de votre débit montant. Un Raspberry Pi 5 suffit pour un petit serveur vanilla entre deux ou trois joueurs, à condition d’utiliser un stockage SSD plutôt qu’une carte microSD, vite usée par les écritures du monde. Enfin, un VPS (serveur privé virtuel) loué chez un hébergeur européen offre une bande passante stable, une adresse IP fixe et une meilleure protection anti-DDoS, pour quelques euros par mois – c’est le meilleur compromis dès que des inconnus rejoignent le serveur. Quel que soit votre choix, les étapes de sécurisation décrites plus bas restent identiques.
Étapes 1 et 2 : préparer le système et installer Java 25
Connectez-vous à votre serveur en SSH (idéalement par clé, jamais par mot de passe – voir la section sécurité). Première règle d’hygiène : ne lancez jamais un serveur de jeu en tant que root. Créez un utilisateur dédié, sans privilèges, qui hébergera le service. Mettez ensuite le système à jour, puis installez le JDK 25.
# Étape 1 – Mise à jour et utilisateur dédié (Ubuntu/Debian)
sudo apt update && sudo apt upgrade -y
sudo adduser --disabled-password --gecos "" minecraft
sudo mkdir -p /opt/minecraft && sudo chown minecraft:minecraft /opt/minecraft
# Étape 2 – Installer Java 25 (Eclipse Temurin / Adoptium)
sudo apt install -y wget apt-transport-https gnupg
sudo mkdir -p /etc/apt/keyrings
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor -o /etc/apt/keyrings/adoptium.gpg
echo "deb [signed-by=/etc/apt/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(. /etc/os-release; echo $VERSION_CODENAME) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update && sudo apt install -y temurin-25-jdk
Vérifiez ensuite que la bonne version est active. C’est l’erreur numéro un des débutants : une autre version de Java est parfois déjà installée et prioritaire dans le PATH, ce qui provoque un plantage immédiat au lancement.
java -version
# Sortie attendue (extrait) :
# openjdk version "25" 2025-09-16
# OpenJDK Runtime Environment Temurin-25 ...
# OpenJDK 64-Bit Server VM Temurin-25 ...
# Si une mauvaise version s'affiche, sélectionnez-la :
sudo update-alternatives --config java
Si java -version renvoie « command not found », c’est que le paquet n’est pas installé ou que le dépôt Adoptium n’a pas été pris en compte ; relancez sudo apt update et vérifiez l’absence d’erreur. Tant que ce point n’est pas réglé, inutile de poursuivre : tout le reste en dépend.
Étapes 3 et 4 : télécharger Paper et préparer le dossier
Récupérez maintenant le dernier build de Paper 26.2 depuis le site officiel papermc.io. Vous pouvez télécharger le fichier JAR à la main, ou interroger l’API publique de PaperMC pour automatiser l’obtention du dernier build stable, ce qui est plus propre pour scripter les mises à jour ultérieures de votre serveur Minecraft Java.
# Étape 3 – Se placer dans le dossier dédié en tant qu'utilisateur minecraft
sudo su - minecraft
cd /opt/minecraft
# Étape 4 – Récupérer le dernier build de Paper pour la version 26.2 via l'API
VERSION="26.2"
BUILD=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${VERSION}/builds" \
| python3 -c "import sys,json;d=json.load(sys.stdin);print(d['builds'][-1]['build'])")
curl -s -o server.jar \
"https://api.papermc.io/v2/projects/paper/versions/${VERSION}/builds/${BUILD}/downloads/paper-${VERSION}-${BUILD}.jar"
ls -lh server.jar
Vous obtenez un fichier server.jar de quelques dizaines de mégaoctets. Si le téléchargement renvoie un fichier de quelques octets ou une erreur, c’est généralement que le numéro de build n’existe pas pour cette version : vérifiez la valeur de VERSION. Gardez ce dossier /opt/minecraft propre – il contiendra bientôt le monde, la configuration, les journaux et les sauvegardes.
Étapes 5 et 6 : premier lancement et acceptation de l’EULA
Lancez le serveur une première fois. Ce démarrage initial va échouer volontairement : il génère les fichiers de configuration, dont le fameux eula.txt, puis s’arrête. C’est le comportement normal et attendu lors de la création d’un serveur Minecraft.
# Étape 5 – Premier lancement (génère eula.txt puis s'arrête)
cd /opt/minecraft
java -Xms2G -Xmx2G -jar server.jar nogui
# Sortie attendue :
# [ServerMain/WARN] Failed to load eula.txt
# [ServerMain/INFO] You need to agree to the EULA in order to run the server.
# Go to eula.txt for more info.
Le serveur refuse de démarrer tant que vous n’avez pas accepté le contrat de licence utilisateur (EULA) de Mojang. Cette acceptation est une obligation légale : en passant eula à true, vous confirmez avoir lu et accepté les conditions, notamment l’interdiction de revendre l’accès au jeu de base. Modifiez le fichier généré :
# Étape 6 – Accepter l'EULA
sed -i 's/eula=false/eula=true/' eula.txt
cat eula.txt
# eula=true
Ne modifiez jamais cette valeur par script automatisé sans avoir réellement pris connaissance de l’EULA : c’est un engagement contractuel. Une fois eula=true enregistré, votre serveur acceptera de démarrer. Avant de le relancer, prenons le temps de le configurer correctement, car les réglages par défaut sont rarement adaptés à un serveur exposé.
Étape 7 : configurer server.properties en profondeur
Le fichier server.properties est le cœur de la configuration. La documentation de référence du wiki Minecraft recense toutes les clés disponibles ; nous nous concentrons ici sur celles qui ont un impact direct sur la sécurité et les performances. Le tableau ci-dessous résume les réglages les plus importants pour un serveur privé et durci.
| Clé | Valeur conseillée | Pourquoi |
|---|---|---|
| server-port | 25565 | Port d’écoute (TCP). Peut être changé pour brouiller les scans |
| white-list | true | N’autorise que les joueurs explicitement listés |
| enforce-whitelist | true | Expulse immédiatement tout joueur retiré de la liste |
| online-mode | true | Vérifie l’authenticité des comptes via Mojang (anti-usurpation) |
| enable-command-block | false | Réduit la surface d’abus par blocs de commande |
| view-distance | 8 à 10 | Limite la charge CPU/RAM par joueur |
| simulation-distance | 6 à 8 | Réduit les calculs d’entités lointaines |
| max-players | 10 | Plafonne l’usage des ressources |
| spawn-protection | 16 | Protège la zone d’apparition des non-opérateurs |
Le réglage le plus important pour la sécurité est online-mode=true. En mode hors ligne (false), n’importe qui peut se connecter en usurpant le pseudo d’un autre joueur, y compris celui d’un opérateur : c’est une porte ouverte au piratage de votre monde. Ne désactivez ce mode que si vous savez exactement pourquoi (par exemple derrière un proxy d’authentification dédié). Voici un exemple de configuration appliquée directement :
# Étape 7 – Extrait de /opt/minecraft/server.properties
motd=Serveur prive - acces sur whitelist uniquement
server-port=25565
white-list=true
enforce-whitelist=true
online-mode=true
enable-command-block=false
view-distance=10
simulation-distance=8
max-players=10
spawn-protection=16
difficulty=normal
allow-flight=false
Piège fréquent : laisser white-list=true sans avoir ajouté le moindre joueur. Le serveur démarrera, mais personne ne pourra entrer, pas même vous. Nous remplirons la whitelist à l’étape 9. Notez aussi que toute modification de server.properties exige un redémarrage du serveur pour être prise en compte.
Étape 8 : script de lancement optimisé avec les flags Aikar
Lancer le serveur avec un simple -Xmx fonctionne, mais provoque des micro-saccades (« lag spikes ») lors des passages du ramasse-miettes Java. La communauté utilise depuis des années un jeu d’options JVM optimisant le collecteur G1GC, popularisé sous le nom de « flags Aikar » et recommandé officiellement par la documentation de PaperMC. Créez un script de lancement réutilisable :
# Étape 8 – /opt/minecraft/start.sh (adaptez -Xms/-Xmx à votre RAM)
#!/bin/bash
java -Xms4G -Xmx4G \
-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 \
-jar server.jar nogui
Rendez le script exécutable (chmod +x start.sh) et conservez -Xms égal à -Xmx pour éviter le redimensionnement coûteux du tas mémoire. Pour que le serveur survive à une déconnexion SSH et redémarre automatiquement après un reboot, transformez-le en service systemd plutôt que de l’attacher à votre session.
# /etc/systemd/system/minecraft.service
[Unit]
Description=Serveur Minecraft Paper
After=network.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# Activer et démarrer
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
Vous suivez désormais les journaux avec journalctl -u minecraft -f. Le serveur redémarre seul en cas de plantage, ce qui est indispensable pour un service que vous laissez tourner en permanence.
Étape 9 : whitelist, opérateurs et gestion des joueurs
La whitelist est votre première ligne de défense contre les intrus. Une fois le serveur démarré, tapez les commandes directement dans la console (ou en jeu si vous êtes opérateur). Sur un serveur en online-mode=true, ajoutez les joueurs par leur pseudo Mojang exact.
# Étape 9 – Commandes console (sans le slash en console)
whitelist on
whitelist add Pseudo_Joueur1
whitelist add Pseudo_Joueur2
whitelist reload
whitelist list
# Donner les droits d'opérateur (avec parcimonie !)
op Pseudo_Admin
# Retirer les droits
deop Pseudo_Admin
Limitez le nombre d’opérateurs au strict minimum : un compte « op » compromis donne un contrôle total sur le monde. Le niveau d’opérateur se règle dans server.properties via op-permission-level (de 1 à 4). Pour bannir un fauteur de troubles, utilisez ban Pseudo ou ban-ip ; la liste des bannissements est stockée dans banned-players.json et banned-ips.json, que vous pouvez auditer à tout moment. Gardez à l’esprit qu’un bannissement par pseudo est contournable si vous passez un jour en mode hors ligne – raison de plus pour conserver online-mode=true.
Étape 10 : ouvrir le port et se connecter
Pour jouer depuis le même ordinateur, l’adresse localhost suffit. Sur le réseau local (LAN), vos amis se connectent à l’adresse IP privée de la machine (du type 192.168.1.x) sur le port 25565. Pour un accès depuis Internet, il faut rediriger le port 25565 de votre box/routeur vers l’IP locale du serveur : c’est l’étape de « port forwarding », à réaliser dans l’interface d’administration de votre routeur.
| Scénario | Adresse à communiquer | Configuration requise |
|---|---|---|
| Même PC | localhost | Aucune |
| Réseau local (LAN) | IP privée (192.168.x.x:25565) | Pare-feu local ouvert |
| Internet (port forwarding) | IP publique:25565 | Redirection de port + pare-feu |
| Internet (sans ouvrir de port) | Adresse du tunnel (ex. Playit/VPN) | Tunnel ou VPN type WireGuard |
Avertissement de sécurité : ouvrir un port vers Internet expose directement votre serveur. Si vous ne souhaitez pas exposer votre adresse IP publique ou ouvrir un port sur votre box, une excellente alternative consiste à faire passer le trafic par un VPN privé (par exemple WireGuard) ou un service de tunnel : seuls les joueurs connectés au tunnel atteignent le serveur. Après avoir ouvert l’accès, vérifiez ce qui est réellement exposé avec un scan de ports – un réflexe que nous détaillons dans notre guide Nmap pour scanner un réseau. Si le port apparaît « filtered » alors qu’il devrait être ouvert, c’est souvent le pare-feu de l’étape suivante qui n’est pas encore configuré.
Gérer une adresse IP publique dynamique
La plupart des connexions résidentielles utilisent une adresse IP publique dynamique, qui change régulièrement : vos amis devraient alors se reconnecter à une nouvelle adresse à chaque changement. La solution est un service de DNS dynamique (DynDNS) : un petit client installé sur le serveur met à jour automatiquement un nom de domaine fixe (par exemple monserveur.exemple.net) vers votre adresse IP du moment. Vos joueurs saisissent toujours le même nom, et la résolution suit les changements d’adresse de façon transparente. C’est aussi plus propre que de communiquer une adresse IP brute, et cela évite de divulguer inutilement votre adresse réelle à tout le groupe.
Étape 11 : sécuriser le serveur (pare-feu, Fail2ban, anti-DDoS)
C’est l’étape que la plupart des tutoriels oublient, et c’est pourtant la plus importante dès lors que votre serveur Minecraft est accessible depuis Internet. Le principe directeur est le moindre privilège : n’ouvrir que ce qui est strictement nécessaire. Commencez par un pare-feu. UFW (Uncomplicated Firewall) est l’interface la plus simple ; sous le capot, c’est iptables, dont nous détaillons la logique dans notre tutoriel iptables pour sécuriser un serveur Linux.
# Étape 11a – Pare-feu : n'ouvrir que SSH et Minecraft
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH (restreignez à votre IP si possible)
sudo ufw allow 25565/tcp # Minecraft Java
sudo ufw enable
sudo ufw status verbose
Sécurisez ensuite l’accès SSH lui-même, car c’est la porte d’entrée de toute l’administration. Désactivez l’authentification par mot de passe au profit des clés, ce que nous expliquons pas à pas dans notre guide Clé SSH sous Linux. Installez enfin Fail2ban, qui bannit automatiquement les adresses IP multipliant les tentatives de connexion échouées – un complément indispensable détaillé dans notre tutoriel Fail2ban.
# Étape 11b – Fail2ban contre le bruteforce SSH
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Reste la menace la plus difficile à contrer pour un particulier : le déni de service distribué (DDoS). Un pare-feu ne suffit pas contre une saturation de bande passante. Les parades réalistes sont de limiter le débit de connexions, d’utiliser un proxy filtrant (comme certains proxys Minecraft tels que Velocity), ou de placer le serveur derrière un service de mitigation. Pour comprendre les différentes approches de filtrage applicatif, comparez les pare-feu applicatifs web dans notre analyse Cloudflare WAF vs AWS WAF vs ModSecurity. Enfin, maintenez toujours Java et vos plugins à jour : la leçon de Log4Shell est qu’une dépendance non corrigée transforme un serveur de jeu en point d’entrée vers tout votre réseau.
Deux mesures complémentaires renforcent encore la posture du serveur. D’abord, changer le port d’écoute par défaut : remplacer 25565 par un port moins évident dans server.properties n’arrête pas un attaquant déterminé, mais élimine le bruit des scanners automatisés qui ne ciblent que le port standard. Ensuite, limiter le débit de nouvelles connexions au niveau du pare-feu – par exemple via le module limit d’iptables – pour amortir les tentatives de connexion en rafale. Surveillez enfin régulièrement logs/latest.log et la sortie de fail2ban-client status : un pic de connexions refusées est souvent le premier signe d’une attaque en cours.
Étape 12 : sauvegardes automatiques et préservation
Un serveur sans sauvegarde est une catastrophe en attente : corruption de monde, suppression accidentelle, ransomware ou simple panne de disque. Au-delà de la sécurité, la sauvegarde est l’acte de préservation par excellence – celui qui garantit que votre monde survivra, exactement l’esprit du mouvement de conservation du jeu vidéo. Automatisez une sauvegarde quotidienne compressée avec une rétention de sept jours, déclenchée par cron.
# Étape 12 – /opt/minecraft/backup.sh
#!/bin/bash
SRC="/opt/minecraft"
DEST="/opt/backups/minecraft"
STAMP=$(date +%Y-%m-%d_%H%M)
mkdir -p "$DEST"
# Archiver le monde et la configuration
tar -czf "$DEST/mc_$STAMP.tar.gz" -C "$SRC" world world_nether world_the_end server.properties
# Conserver uniquement les 7 dernières sauvegardes
ls -1t "$DEST"/mc_*.tar.gz | tail -n +8 | xargs -r rm --
echo "Sauvegarde terminee : mc_$STAMP.tar.gz"
# Planifier la sauvegarde tous les jours à 4h du matin
chmod +x /opt/minecraft/backup.sh
crontab -e
# Ajouter la ligne suivante :
0 4 * * * /opt/minecraft/backup.sh >> /opt/minecraft/backup.log 2>&1
Règle d’or : une sauvegarde qui réside sur le même disque que le serveur n’est pas une vraie sauvegarde. Copiez régulièrement vos archives vers un stockage externe ou distant (autre machine, NAS, stockage objet chiffré). Pour les serveurs très actifs, déclenchez idéalement la sauvegarde après avoir exécuté la commande save-off puis save-all en console, afin d’éviter d’archiver un monde en cours d’écriture.
Surtout, testez vos restaurations. Une sauvegarde jamais restaurée est une hypothèse, pas une garantie : au moins une fois, décompressez une archive dans un dossier temporaire et lancez-y un serveur de test pour confirmer que le monde se charge correctement. C’est le seul moyen de découvrir un éventuel problème avant le jour où vous en aurez réellement besoin, dans l’urgence.
Astuce avancée : déploiement express avec Docker
Si vous préférez l’isolation et la reproductibilité, l’image communautaire itzg/docker-minecraft-server est la référence pour conteneuriser un serveur Minecraft. Elle gère automatiquement le téléchargement de la bonne version, le type de serveur (Paper, Fabric, Forge…) et l’acceptation de l’EULA via une variable d’environnement. Voici un fichier docker-compose.yml minimal et durci.
# docker-compose.yml – serveur Paper conteneurisé
services:
mc:
image: itzg/minecraft-server:java25
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "PAPER"
VERSION: "26.2"
MEMORY: "4G"
ENABLE_WHITELIST: "true"
ONLINE_MODE: "true"
ENFORCE_WHITELIST: "true"
volumes:
- ./data:/data
restart: unless-stopped
stdin_open: true
tty: true
Lancez ensuite docker compose up -d, puis suivez les journaux avec docker compose logs -f. La persistance du monde est assurée par le volume ./data. Cette approche simplifie énormément les mises à jour : il suffit de changer la valeur de VERSION et de recréer le conteneur. Conservez néanmoins le pare-feu de l’hôte : Docker peut, selon sa configuration, contourner UFW en manipulant directement iptables, un piège classique qu’il faut vérifier avec un scan de ports externe.
RGPD et vie privée : héberger les données de vos joueurs
Point souvent ignoré en France et en Europe : dès lors que vous hébergez un serveur accueillant d’autres personnes, vous traitez des données personnelles. Adresses IP, pseudonymes, journaux de connexion et, si vous installez un plugin de discussion vocale, parfois davantage. Pour un serveur strictement privé, entre amis, le « cadre domestique » du RGPD s’applique généralement et vos obligations restent légères. Mais dès que le serveur devient public ou communautaire, vous endossez un rôle de responsable de traitement.
Concrètement, cela implique quelques bonnes pratiques : informer les joueurs des données collectées (notamment les adresses IP dans vos journaux), limiter la durée de conservation des logs, sécuriser les sauvegardes contenant ces données, et ne pas transmettre ces informations à des tiers sans base légale. La CNIL, autorité française de protection des données, publie des guides accessibles sur la minimisation et la conservation des données. Le bon réflexe technique rejoint ici le bon réflexe juridique : moins vous conservez de journaux longtemps, moins vous exposez vos joueurs en cas de fuite.
Cette dimension n’est pas accessoire : elle illustre pourquoi l’auto-hébergement responsable est plus exigeant qu’un simple « créer un serveur Minecraft » en cinq minutes. Vous gagnez en souveraineté, mais vous héritez aussi de la responsabilité des données que vous traitez.
Erreurs fréquentes et dépannage
Voici les problèmes les plus courants rencontrés lors de la création d’un serveur Minecraft, et leur résolution. Conservez ce tableau sous la main : il couvre la grande majorité des messages d’erreur que vous croiserez.
| Symptôme | Cause probable | Solution |
|---|---|---|
| « Unsupported Java » / crash immédiat | Mauvaise version de Java | Installer Java 25 et vérifier avec java -version |
| « You need to agree to the EULA » | eula.txt non accepté | Passer eula=true dans eula.txt |
| Personne ne peut se connecter | Whitelist vide ou activée | Ajouter les pseudos via whitelist add |
| « Failed to bind to port » | Port 25565 déjà utilisé | Arrêter l’autre instance ou changer server-port |
| Connexion impossible depuis Internet | Port non redirigé / pare-feu | Configurer le port forwarding et ufw allow 25565/tcp |
| « Outdated client/server » | Versions client/serveur différentes | Aligner la version exacte (ex. 26.2 des deux côtés) |
| Saccades, TPS qui chute | RAM insuffisante / GC mal réglé | Augmenter -Xmx et appliquer les flags Aikar |
| OutOfMemoryError | -Xmx trop élevé pour la machine | Laisser de la RAM au système, réduire view-distance |
| Monde corrompu après coupure | Arrêt brutal pendant l’écriture | Restaurer la dernière sauvegarde, arrêter proprement (stop) |
| Connexions suspectes répétées | Scan/bruteforce automatisé | Activer Fail2ban et restreindre SSH par clé |
Si un problème persiste, les journaux sont votre meilleur allié : journalctl -u minecraft -f pour le service systemd, ou le fichier logs/latest.log dans le dossier du serveur. La quasi-totalité des erreurs y sont explicitées avec une pile d’appels Java qui pointe la cause exacte.
Conseils avancés pour un serveur durable
- Pré-générez le monde avec un plugin de pré-génération de chunks : cela évite les saccades quand les joueurs explorent de nouvelles zones et lisse la charge disque.
- Utilisez un proxy (Velocity) si vous prévoyez plusieurs serveurs reliés : il centralise l’authentification et filtre une partie des connexions abusives.
- Surveillez les performances : la commande
/tps(sous Paper) ou un plugin comme Spark révèlent les baisses de fréquence de tick (TPS) et leurs causes. - Auditez vos plugins : ne téléchargez que depuis des sources fiables. Un plugin malveillant a les pleins pouvoirs sur la JVM – c’est le vecteur d’attaque le plus sous-estimé.
- Automatisez les mises à jour de Paper via l’API, mais testez toujours une nouvelle version sur une copie avant de l’appliquer en production.
- Documentez votre configuration : versionnez
server.propertieset vos scripts dans un dépôt Git privé pour reconstruire le serveur en cas de perte totale.
Related Coverage
- Stop Killing Games : 1,3M de voix, l’UE dit non [2026]
- iptables Linux : sécuriser un serveur en 12 étapes [2026]
- Fail2ban : protéger un serveur Linux en 12 étapes [2026]
- Clé SSH Linux : 12 étapes, 30 min [2026]
- Nmap : scanner un réseau en 12 étapes, 30 min [2026]
- Cloudflare WAF vs AWS WAF vs ModSecurity [2026]
- Toute notre rubrique Jeux Vidéo
FAQ : créer un serveur Minecraft
Quelle version de Java faut-il pour un serveur Minecraft en 2026 ?
La version 26.2 de Minecraft Java Edition requiert Java 25 au minimum, d’après l’API officielle de PaperMC. Les versions plus anciennes (branche 1.21) fonctionnaient avec Java 21. Installez toujours le JDK correspondant à votre version exacte de serveur Minecraft, idéalement la distribution Eclipse Temurin.
Combien de RAM faut-il pour un petit serveur entre amis ?
Pour 5 à 10 joueurs en Paper avec quelques plugins, 4 Go de RAM constituent une base confortable. Un serveur vanilla pour 2 à 5 joueurs tourne sur 2 Go, tandis qu’un pack de mods peut exiger 6 à 8 Go. Laissez toujours de la mémoire libre pour le système d’exploitation.
Faut-il ouvrir le port 25565 pour jouer entre amis ?
Seulement pour un accès depuis Internet. Sur le même réseau local, vos amis utilisent l’IP privée sans rien ouvrir. Pour un accès distant sans exposer votre IP publique, un VPN privé (WireGuard) ou un service de tunnel est une alternative plus sûre que le port forwarding classique.
Paper, Spigot ou Vanilla : lequel choisir ?
Paper est recommandé pour la quasi-totalité des serveurs multijoueurs : il offre les meilleures performances et supporte les plugins. Vanilla convient pour rester fidèle au jeu de base sans extension, et Fabric ou Forge s’imposent uniquement si vous voulez des mods.
Mon serveur Minecraft est-il une cible pour les pirates ?
Oui, dès qu’il est exposé sur Internet. Les serveurs de jeu subissent scans de ports, tentatives de connexion automatisées et attaques DDoS. La faille Log4Shell de 2021 a d’abord été exploitée via des serveurs Minecraft. D’où l’importance du pare-feu, de Fail2ban, des mises à jour et de la whitelist.
Est-ce légal d’héberger soi-même un serveur Minecraft ?
Oui, à condition d’accepter l’EULA de Mojang et de ne pas revendre l’accès au jeu de base. Si votre serveur accueille du public, vous traitez des données personnelles et devez respecter le RGPD : information des joueurs, minimisation et conservation limitée des journaux, conformément aux recommandations de la CNIL.
Comment mettre à jour mon serveur sans tout casser ?
Sauvegardez d’abord le monde, puis remplacez le fichier server.jar par le nouveau build Paper de la version cible. Testez idéalement sur une copie avant la production. Vérifiez la compatibilité de chaque plugin avec la nouvelle version, car c’est la première source de plantage après une montée de version.
Puis-je héberger un serveur Minecraft sur un Raspberry Pi ?
Oui, pour un petit serveur vanilla ou Paper léger à deux ou trois joueurs, un Raspberry Pi 5 suffit. Utilisez impérativement un stockage SSD plutôt qu’une carte microSD, allouez 2 à 3 Go de RAM et limitez la view-distance. Pour davantage de joueurs ou des mods, un mini-PC ou un VPS sera nettement plus confortable et plus stable dans la durée.
Conclusion : la souveraineté par l’auto-hébergement
Vous savez désormais comment créer un serveur Minecraft moderne, performant et sécurisé : Paper 26.2 sous Java 25, configuration durcie, whitelist, pare-feu, Fail2ban, sauvegardes automatiques et conformité RGPD. Au-delà du plaisir de jouer entre amis, ce projet incarne une idée plus large, au cœur du débat européen sur la préservation du jeu vidéo : tant que nous gardons la capacité technique de faire tourner nos propres serveurs, aucun éditeur ne peut totalement « tuer » un jeu. L’auto-hébergement n’est pas seulement une compétence, c’est une forme de résilience numérique. À vous de jouer.




