Le lag sur un serveur Minecraft se manifeste par des blocs qui réapparaissent, des mobs qui se téléportent ou un TPS (ticks par seconde) inférieur à 20. Voici les causes les plus courantes et comment les résoudre.
Votre propre serveur Minecraft ? Chez HostValues à partir de €2,80 par mois, en ligne en quelques minutes. Voir les offres →
Mesurer avant d'agir : Spark
Sous Paper 1.21 ou plus récent, Spark est déjà intégré. Sous Spigot, installez le plugin Spark dans plugins ; sous Fabric ou NeoForge, le mod Spark dans mods. Lancez un profil avec /spark profiler start, jouez normalement pendant quelques minutes, puis arrêtez avec /spark profiler stop. Spark génère un lien vers un rapport interactif qui montre exactement ce qui consomme du temps serveur. Commencez toujours par ce diagnostic ; corriger au hasard fait perdre du temps.
Comprendre le MSPT : la durée réelle d'un tick
À côté du TPS, une deuxième valeur en dit plus : le MSPT, millisecondes par tick. Minecraft calcule 20 ticks par seconde, chaque tick dispose donc de 50 millisecondes. Le MSPT est le temps dont votre serveur a réellement besoin pour un tick. Tant qu'il reste à 50 ou moins, le serveur tient 20 TPS. Le TPS ne fait donc aucune différence entre un serveur à 15 MSPT et un serveur à 45 MSPT ; le MSPT, si : il montre la marge qui reste avant que le TPS ne baisse.
- Nettement sous 50 ms : la marge est confortable, le TPS reste à 20.
- Juste sous 50 ms : le serveur est à la limite. Une nouvelle ferme ou quelques joueurs de plus suffisent pour qu'il décroche.
- Au-dessus de 50 ms : le serveur ne tient plus 20 ticks par seconde. Le TPS baisse et tout ralentit dans le monde : les cultures poussent moins vite, les mobs saccadent, la redstone devient peu fiable.
Ne regardez pas seulement la moyenne. Un serveur peut tourner à 30 MSPT en moyenne et connaître malgré tout des ticks de plusieurs centaines de millisecondes, par exemple quand de nouveaux chunks sont générés ou sauvegardés. Les joueurs ressentent ces pics comme de courts blocages. Vous les repérez à la valeur maximale et au 95e centile.
Pour mesurer le MSPT :
- Paper :
/msptaffiche la moyenne, le minimum et le maximum des 5, 10 et 60 dernières secondes,/tpsle TPS des 1, 5 et 15 dernières minutes. La documentation de Paper recommande désormais/sparkà la place de ces deux commandes. - Spark :
/spark tpsaffiche le TPS des 5 et 10 dernières secondes et des 1, 5 et 15 dernières minutes, ainsi que la durée des ticks (minimum, médiane, 95e centile et maximum) des 10 dernières secondes et de la dernière minute. - Vanilla, Fabric ou NeoForge sans Spark :
/tick query(depuis Minecraft 1.20.3, niveau d'opérateur 3) affiche le temps moyen par tick avec la cible de 50 ms, ainsi que les centiles P50, P95 et P99. - Console : le message
Can't keep up! Is the server overloaded?signifie que le serveur a pris du retard sur son rythme.
Si le MSPT est élevé, cherchez la cause avec le profileur de Spark plutôt que de deviner. Pour les pics courts, utilisez /spark profiler start --only-ticks-over 50 : Spark n'enregistre alors que les ticks qui durent plus de 50 ms. Les causes fréquentes sont les mobs en grand nombre, les entonnoirs, les gros circuits de redstone et une règle de jeu random_tick_speed (anciennement randomTickSpeed) trop élevée, sans oublier la génération de chunks et certains plugins.
Réduire la distance d'affichage
La valeur view-distance dans server.properties détermine combien de chunks le serveur charge autour de chaque joueur. La valeur par défaut est 10, mais la passer à 6 ou 7 réduit considérablement la charge. Réglez aussi simulation-distance dans server.properties (10 par défaut, 4 à 6 conviennent souvent) : cette valeur contrôle la zone dans laquelle les entités et la redstone sont actives, indépendamment de l'affichage.
Limiter les entités
Les fermes à mobs et les enclos surpeuplés sont souvent la première source de lag. Dans bukkit.yml, abaissez les limites de spawn sous spawn-limits :
monsters: 50 (au lieu de 70)animals: 8 (au lieu de 10)
Paper permet aussi de les régler par monde dans paper-world-defaults.yml, sous entities.spawning.spawn-limits : les clés s'y appellent monster et creature, et la valeur -1 reprend celle de bukkit.yml.
Demandez aussi à vos joueurs de ne pas accumuler des centaines d'animaux dans un même enclos.
Pré-générer le monde avec Chunky
Quand les joueurs explorent de nouvelles zones, le serveur génère des chunks en temps réel, ce qui provoque des pics de lag. Le plugin Chunky pré-génère le monde en avance. Installez-le, puis lancez :
/chunky radius 5000/chunky start
Laissez-le tourner pendant une période calme. Une fois terminé, l'exploration ne cause plus de ralentissement.
Autres réglages utiles
- Utilisez Paper plutôt que Spigot ou Vanilla : Paper intègre des dizaines d'optimisations par défaut.
- Évitez les plugins de particules ou d'effets visuels trop lourds.
- Mettez à jour vos plugins : les versions récentes corrigent souvent des fuites de mémoire.
Votre TPS reste bas malgré ces ajustements ? Passez à une offre supérieure ou ouvrez un ticket de support avec votre rapport Spark ; nous analyserons le problème avec vous.
Sources : documentation PaperMC (Commands, Profiling, World configuration), documentation de spark et Minecraft Wiki (Tick, Commands/tick). Consultées le 14 octobre 2026.