Retour au blog

Réduire le lag de son serveur Minecraft en réglant server.properties

Réduisez le lag de votre serveur Minecraft gratuit : view-distance, simulation-distance, compression réseau, Paper et spark expliqués pas à pas.

Réduire le lag de son serveur Minecraft en réglant server.properties

Votre serveur Minecraft gratuit rame dès que quelques amis se connectent ? Bonne nouvelle : une bonne partie du lag se règle dans un seul fichier, server.properties. Ce guide vous explique quels paramètres modifier, quelles valeurs choisir et comment mesurer le résultat.

Pourquoi chaque réglage compte sur un serveur gratuit

Un serveur gratuit dispose de ressources limitées : peu de mémoire, une part de processeur partagée et un stockage restreint. Minecraft est pourtant exigeant : il calcule le monde 20 fois par seconde, charge des chunks en permanence et déplace des centaines d'entités. Les réglages par défaut sont pensés pour une machine confortable. En les adaptant à votre serveur, vous pouvez obtenir une partie fluide sans rien changer d'autre.

Lag serveur ou lag réseau : identifiez d'abord le problème

Avant de toucher à quoi que ce soit, il faut savoir de quel lag vous souffrez. Les deux n'ont ni les mêmes causes ni les mêmes solutions.

TypeSymptômesIndicateur
Lag serveurBlocs cassés qui réapparaissent, mobs figés, fours lents, tous les joueurs touchés en même tempsTPS sous 20, MSPT au-dessus de 50 ms
Lag réseauUn seul joueur saccade, retours en arrière (rubber-banding), actions qui arrivent en retardPing élevé (barres de connexion dans la liste Tab)

TPS et MSPT

Le serveur fait avancer le jeu par ticks. L'objectif est de 20 ticks par seconde (TPS), ce qui laisse un budget de 50 millisecondes par tick (MSPT). Tant que le MSPT reste sous 50 ms, le serveur tient ses 20 TPS. Au-delà, il prend du retard et tout le monde le ressent.

Sur Paper ou Purpur, deux commandes affichent ces valeurs directement en jeu :

/tps
/mspt

Le ping

Si les TPS restent à 20 mais qu'un joueur se plaint, le problème vient probablement de sa connexion ou de la distance qui le sépare du serveur. Les réglages de cet article n'y changeront pas grand-chose, à part la compression réseau.

Les réglages de server.properties qui comptent

Le fichier server.properties se trouve à la racine de votre serveur. Arrêtez le serveur avant de le modifier, puis redémarrez-le pour appliquer les changements.

CléDéfautConseillé sur un serveur gratuitEffet
view-distance106 à 8Rayon de chunks envoyés aux joueurs
simulation-distance104 à 6Rayon où le monde est simulé
max-players20Selon vos ressourcesJoueurs connectés en même temps
network-compression-threshold256256 ou 512Taille à partir de laquelle les paquets sont compressés
entity-broadcast-range-percentage10050 à 80Distance d'envoi des entités
sync-chunk-writestruetrue (false avec prudence)Écriture synchrone des chunks
max-tick-time6000060000Garde-fou contre un serveur bloqué

view-distance : la distance d'affichage

C'est le rayon, en chunks, de la zone envoyée à chaque joueur. C'est aussi le réglage le plus coûteux, car le nombre de chunks chargés augmente avec le carré de la distance. Avec une valeur de 10, chaque joueur charge une zone de 21 × 21 = 441 chunks. Avec 6, il n'en charge plus que 13 × 13 = 169, soit environ 2,6 fois moins.

view-distance=6

Les joueurs peuvent choisir une distance plus faible dans leurs options, mais jamais plus élevée que celle du serveur.

simulation-distance : la zone où le monde vit

Depuis Minecraft 1.18, la simulation est séparée de l'affichage. simulation-distance fixe le rayon dans lequel les entités bougent, les cultures poussent et la redstone fonctionne. Plus loin, les chunks restent visibles mais figés. Une valeur de 4 à 6 suffit pour la plupart des serveurs entre amis.

simulation-distance=4

Gardez en tête que les fermes automatiques ne tournent que si un joueur se trouve à portée de simulation.

max-players : un nombre de joueurs réaliste

Chaque joueur charge sa propre zone de chunks et ajoute des entités autour de lui. Mieux vaut 8 joueurs sur un serveur fluide que 20 joueurs sur un serveur qui rame. Fixez une limite réaliste par rapport aux ressources de votre serveur, puis augmentez-la si les TPS restent stables.

network-compression-threshold : la compression réseau

Ce réglage indique la taille, en octets, à partir de laquelle les paquets sont compressés. Compresser économise de la bande passante, mais consomme du processeur. Sur un serveur au processeur limité, une valeur plus élevée comme 512 réduit le travail de compression. La valeur -1 désactive complètement la compression : réservez-la aux serveurs placés derrière un proxy (BungeeCord, Velocity) sur le même réseau.

entity-broadcast-range-percentage : la portée des entités

Ce pourcentage règle la distance à laquelle les entités (mobs, animaux, objets au sol, cadres) sont envoyées aux joueurs. Le baisser entre 50 et 80 réduit les données à transmettre sur les serveurs remplis d'animaux ou de décorations. Les joueurs voient simplement les entités apparaître un peu plus près d'eux.

sync-chunk-writes : l'écriture des chunks

Activé par défaut, ce réglage fait écrire les chunks sur le disque de façon synchrone. Cela protège le monde contre la corruption en cas de crash, mais peut ralentir les sauvegardes sur un stockage lent. Le passer à false peut fluidifier le serveur, au prix d'un risque de perdre les dernières modifications si le serveur plante. Ne le faites que si vous sauvegardez régulièrement votre monde.

max-tick-time : un garde-fou, pas un réglage de performance

Cette valeur, en millisecondes, est la durée maximale d'un tick avant que le serveur considère qu'il est bloqué et s'arrête de lui-même. Par défaut, 60000, soit une minute. Ce réglage ne réduit pas le lag. Laissez la valeur par défaut : avec -1, la protection est désactivée et un serveur figé reste bloqué au lieu de s'arrêter.

Exemple de configuration pour un serveur gratuit

view-distance=6
simulation-distance=4
max-players=10
network-compression-threshold=256
entity-broadcast-range-percentage=75
sync-chunk-writes=true
max-tick-time=60000

Partez de ces valeurs, jouez quelques sessions avec vos amis, puis augmentez view-distance d'un cran si le serveur reste stable.

Pré-générer le monde

Générer de nouveaux chunks est l'une des tâches les plus lourdes pour un serveur, surtout quand les joueurs explorent vite en elytra. Pré-générer la carte avant d'ouvrir le serveur supprime ces pics : notre guide complet sur le plugin Chunky explique comment faire.

Pensez aussi à limiter la taille du monde avec une bordure, pour éviter de remplir votre espace de stockage :

/worldborder center 0 0
/worldborder set 6000

Aller plus loin avec Paper

Si votre serveur tourne encore en vanilla, passer à Paper (ou à Purpur, qui est basé sur Paper) est souvent le gain le plus important. Ce logiciel optimise de nombreuses parties du jeu tout en restant compatible avec la plupart des plugins Spigot. Il ajoute aussi des fichiers de configuration avancés, dont config/paper-world-defaults.yml, qui s'applique à tous vos mondes.

Voici quelques réglages souvent utilisés. Leurs noms peuvent changer d'une version à l'autre : vérifiez-les dans la documentation de votre version de Paper.

environment:
  optimize-explosions: true   # calcul des explosions plus léger
hopper:
  cooldown-when-full: true    # un entonnoir plein attend avant de réessayer
  disable-move-event: false   # true allège les entonnoirs, mais peut gêner certains plugins de protection
entities:
  armor-stands:
    tick: false               # supports d'armure moins coûteux, mais moins réactifs

Modifiez un seul réglage à la fois et mesurez son effet avant de passer au suivant. Sinon, impossible de savoir ce qui a vraiment aidé.

Mesurer avec spark

spark est un outil de profilage gratuit qui montre précisément ce qui consomme les ressources de votre serveur. Selon votre version de Paper, il peut déjà être intégré ; sinon, installez-le comme un plugin depuis Modrinth ou SpigotMC.

CommandeUtilité
/spark tpsTPS, MSPT et utilisation du processeur
/spark healthÉtat général : mémoire, disque, TPS
/spark profiler startDémarre l'analyse
/spark profiler stopArrête l'analyse et génère un lien vers le rapport

Lancez le profileur pendant un moment de lag, laissez-le tourner quelques minutes, puis ouvrez le rapport. Vous verrez si le temps est passé dans les entités, la génération de chunks ou un plugin en particulier.

Récapitulatif

  1. Vérifiez d'abord s'il s'agit de lag serveur (TPS, MSPT) ou de lag réseau (ping).
  2. Réduisez view-distance et simulation-distance.
  3. Fixez un nombre de joueurs adapté à vos ressources.
  4. Ajustez la compression réseau et la portée des entités.
  5. Pré-générez votre monde et posez une bordure.
  6. Passez à Paper et mesurez chaque changement avec spark.

Conclusion

Un serveur Minecraft gratuit peut être parfaitement fluide si ses réglages sont adaptés à ses ressources. Commencez par la distance d'affichage et de simulation, qui apportent le gain le plus visible, puis affinez avec Paper et spark. Avancez par petites étapes : c'est la mesure, et non l'intuition, qui doit guider vos choix.