Réduire le lag sur son serveur Minecraft — guide d'optimisation complet 2026
Le lag sur un serveur Minecraft se manifeste par des TPS bas (sous 20), des chunks qui se chargent lentement, des entités qui se téléportent ou des blocs qui réapparaissent. Ce guide couvre toutes les causes connues et leurs solutions, du plus simple au plus avancé.
Diagnostic : identifier la source du lag
Avant d'optimiser, il faut savoir ce qui lag. Il existe deux types de lag sur Minecraft :
| Type | Symptôme | Cause probable |
|---|---|---|
| Lag serveur (TPS) | Entités immobiles, blocs qui réapparaissent, mobs figés | CPU surchargé, trop d'entités, redstone |
| Lag réseau (ping) | Actions retardées, rubber banding, timeout | Latence réseau, paquet flood |
| Lag mémoire (GC) | Pics de lag réguliers toutes les X secondes | Garbage collector Java mal configuré |
Commencez par mesurer : /tps dans la console. Si les TPS sont stables à 20, le problème est réseau ou client. Si les TPS baissent, c'est serveur-side.
1. Réduire la view-distance et simulation-distance
C'est l'optimisation la plus impactante. Chaque chunk chargé = CPU + RAM. Réduire ces deux valeurs peut doubler vos TPS sur un serveur sous-dimensionné.
Dans server.properties :
# Valeurs recommandées selon votre RAM disponible
# 2 Go RAM → view-distance=4, simulation-distance=3
# 4 Go RAM → view-distance=6, simulation-distance=4
# 8 Go RAM → view-distance=8, simulation-distance=5
# 16 Go RAM → view-distance=10, simulation-distance=7
view-distance=8
simulation-distance=5
💡 simulation-distance est distinct de view-distance depuis Minecraft 1.18. Les joueurs voient jusqu'à view-distance, mais les entités et la redstone ne sont actives que dans simulation-distance. Réduire simulation-distance tout en gardant view-distance élevé = bon compromis visuel/performance.
2. Limiter les entités mobiles (mobs)
Les entités sont la première cause de lag CPU sur les serveurs Minecraft. Dans paper-world-defaults.yml :
entities:
spawning:
spawn-limits:
monsters: 50 # Défaut Vanilla : 70
animals: 8 # Défaut Vanilla : 10
water-animals: 3 # Défaut Vanilla : 5
axolotls: 3
underground-water-creature: 3
# Désactiver les entités trop lourdes sur les petits serveurs
per-player-mob-spawns: true # Spawn par joueur plutôt que par monde
Dans spigot.yml, augmentez les distances de despawn :
world-settings:
default:
mob-spawn-range: 5 # Réduire de 8 à 5
entity-activation-range:
animals: 12 # Désactiver les animaux loin des joueurs
monsters: 24
misc: 8
merge-radius:
item: 3.0 # Fusionner les items proches
exp: 4.0
3. Optimiser la redstone
Les circuits redstone complexes (horloges, usines automatiques) peuvent réduire les TPS à eux seuls. Paper offre des optimisations spécifiques :
# Dans paper-world-defaults.yml
redstone:
implementation: ALTERNATE_CURRENT # Algorithme alternatif, beaucoup plus rapide
# Ou : VANILLA (compatibilité maximale mais plus lent)
Si un joueur a une horloge redstone qui tourne en continu, utilisez la commande /paper mobcaps pour identifier les zones actives et intervenez manuellement si nécessaire.
4. Configurer le Garbage Collector Java
Les pics de lag réguliers (toutes les 30-60 secondes) sont souvent causés par le GC Java qui "pause" le serveur pour libérer la mémoire. La solution : utiliser Aikar's Flags, une configuration GC optimisée pour Minecraft.
Dans le panel Pterodactyl, champ Startup → modifiez les JVM flags :
-Xms2G -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
✅ Ces flags sont les mêmes qu'Aikar (mainteneur de Paper) recommande officiellement. Adaptez -Xms et -Xmx à votre plan RAM (minimum 2 Go alloués au serveur Minecraft).
5. Pré-générer le monde avec Chunky
La génération de nouveaux chunks à la demande est extrêmement coûteuse. Si votre serveur lag quand des joueurs explorent, c'est probablement la cause. La solution : pré-générer une zone de jeu avant l'ouverture.
# Installez Chunky (plugin) puis dans la console :
/chunky center 0 0 # Centre au spawn
/chunky radius 5000 # 5000 blocs de rayon = zone de 10km x 10km
/chunky start # Lance la génération (peut prendre 30-60 min)
/chunky progress # Surveiller
6. Utiliser Spark pour un diagnostic précis
Si le lag persiste après ces optimisations, Spark permet d'identifier précisément le coupable :
/spark profiler --timeout 60 # Lance un profiling de 60 secondes
# Ouvrez le lien généré dans votre navigateur
# Cherchez les méthodes qui consomment > 5% du temps CPU
Les coupables habituels identifiés par Spark : plugins de shop avec base de données mal indexée, plugins anti-cheat configurés trop agressivement, entités avec IA complexe (golems de fer, raids).
Foire aux questions
Mon serveur lag avec seulement 5 joueurs — est-ce normal ?
Non. Avec Paper correctement configuré, 5 joueurs devraient tourner sans problème sur 2 Go de RAM. Vérifiez si un joueur a une farm d'entités (poulets, vaches) ou un circuit redstone qui tourne. Un seul joueur peut créer 500+ entités sans s'en rendre compte.
Quelle quantité de RAM pour combien de joueurs ?
En règle générale avec Paper + plugins modérés : 2 Go pour 1-10 joueurs, 4 Go pour 10-30 joueurs, 8 Go pour 30-80 joueurs. Ces estimations varient selon les plugins installés (Dynmap + CoreProtect consomment beaucoup).
Les optimisations Paper cassent-elles la compatibilité vanilla ?
Certaines oui. L'algorithme redstone alternatif (ALTERNATE_CURRENT) peut casser des circuits précis. La fusion de mobs et les limites d'entités peuvent affecter les fermes d'XP automatisées. Testez en mode survie avec des joueurs beta avant d'ouvrir au public.
Articles liés
Publié le par l'Équipe OnPowered — hébergeur belge de serveurs Minecraft et VPS.