Rédaction en cours
Aujourd'hui, il est devenu important de bien savoir optimiser son serveur Minecraft. Nous allons donc dans ce tutoriel écrit vous montrer comment améliorer les performances de votre serveur Minecraft OuiHeberg ( 📹️ Tuto vidéo )
Spigot et Paper proposent des paramètres qui améliorent considérablement les performances. Ce guide présente les valeurs suggérées qui permettent de tirer le meilleur parti de votre serveur sans compromettre la jouabilité.
Ce tutoriel est donc pour les versions Spigot / Paper
⚠️ Les optimisations suivantes ont été inspirés d'un guide disponible sur SpigotMC
GÉNÉRATION DE LA MAP.
La pré-génération de cartes est essentielle à la suppression du décalage. Faites-le avant même de toucher aux fichiers de votre serveur.
1- Téléchargez le plugin Chunky (c'est gratuit) (https://www.spigotmc.org/resources/81534/)
2- Installez le plugin sur votre serveur Minecraft puis relancer votre serveur.
3- Exécuter les commandes suivantes:
3a- /chunky radius 5000 (directement depuis votre console)
3b- /chunky start (permet de lancer la génération des chunks / map)
ℹ️ Nous vous déconseillons de jouer durant la prégénération de votre map !
ℹ️ Plus vous laissez votre serveur Minecraft pré-générer la map, plus votre serveur sera lourd, mais généré 🙂
FICHIER BUKKIT.YML.
spawn-limits
❌ Valeur par défaut: monsters:70, animals:10, water-animals:15, water-ambient:20, ambient:15
✅ Valeur optimisé: monsters:50, animals:8, water-animals:7, water-ambient:10, ambient:1
🔥 Impact sur les performances : IMPORTANT
❓ Information: Bien qu'il y ait plus que le nombre de "mobs par joueur", des valeurs plus basses signifient moins de mobs. Évitez d'aller trop bas ou la pénurie de mobs sera perceptible. Les valeurs suivantes du guide rendront la réduction moins perceptible.
chunk-gc.period-in-ticks
❌ Valeur par défaut: 600
✅ Valeur optimisé: 400
🔥 Impact sur les performances : MOYEN
❓ Information: Cela permet de décharger plus rapidement les morceaux vacants. Si l'on utilise moins de morceaux, on consomme moins de TPS.
ticks-per.(type)-spawns
❌ Valeur par défaut: monster:1, water:1, water-ambient:1, ambient:1
✅ Valeur optimisé: monster:5, water:11, water-ambient:21, ambient:31
🔥 Impact sur les performances : MOYEN
❓ Information: Ce paramètre définit la fréquence (en ticks) à laquelle le serveur tente de faire apparaître des entités. Augmenter le temps entre les tentatives de spawn ne devrait pas avoir d'impact sur le gameplay. Le fait de compenser les taux de ticks les répartit davantage.
Note : N'augmentez que si vous avez une perte significative de tics pour la tâche mobSpawn.
autosave
❌ Valeur par défaut: 6000 (généralement)
✅ Valeur optimisé: 6000
🔥 Impact sur les performances : N/A
❓ Information: Ceci active la sauvegarde du monde de Bukkit et la fréquence de son exécution (en ticks). Il devrait être de 6000 par défaut, vérifiez simplement qu'il n'est pas à 0 (désactivé).
Note : Si vous utilisez votre serveur ou un plugin pour exécuter les sauvegardes, STOP ! Ils ne font qu'exécuter la très obsolète commande /save-all.
FICHIER SPIGOT.YML.
save-user-cache-on-stop-only
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : MOYEN
❓ Information: Le serveur doit-il sauvegarder constamment les données de l'utilisateur (false) ou retarder cette tâche jusqu'à un arrêt/redémarrage (true) ? C'est une belle économie de TPS sur Spigot (moins sur Paper car il est plus efficace).
Note : Faites des sauvegardes régulières pour éviter la perte de données dans le cas rare d'un crash fatal.
max-tick-time
❌ Valeur par défaut: tile:50, entity:50
✅ Valeur optimisé: tile:1000, entity:1000
🔥 Impact sur les performances : N/A
❓ Information: 1000 désactive cette fonction. La petite économie de TPS ne vaut pas les dommages potentiels.
mob-spawn-range
❌ Valeur par défaut: 8
✅ Valeur optimisé: 6
🔥 Impact sur les performances : N/A
❓ Information: Ceci définit la distance maximale d'apparition des monstres (dans un chunk) par rapport aux joueurs. Après avoir limité les spawns dans Bukkit, ceci condensera les mobs pour imiter l'apparence des taux normaux.
Attention : Si votre distance de vue est de 6 ou moins, définissez une plage de spawn 1 en dessous de cette valeur (ex. Si la distance de vue est de 5, définissez la plage de spawn de mob à 4).
entity-activation-range
❌ Valeur par défaut: animals:32, monsters:32, raiders: 48, misc:16
✅ Valeur optimisé: animals:16, monsters:24, raiders: 48, misc:8
🔥 Impact sur les performances : MOYEN
❓ Information: Les entités situées au-delà de cette fourchette seront cochées moins souvent. Évitez de régler ce paramètre trop bas ou vous pourriez briser le comportement de la foule (aggro mob, raids, etc).
Note : Les villageois doivent être laissés seuls (si possible) pour protéger la mécanique.
tick-inactive-villagers
❌ Valeur par défaut: true
✅ Valeur optimisé: false
🔥 Impact sur les performances : MOYEN
❓ Information: Cette option empêche le serveur de marquer les villageois en dehors de la plage d'activation.
Remarque : le comportement de la version classique consiste à activer tous les villageois par blocs chargés. Activez l'option "villagers-active-for-panic" pour éviter de casser certaines fermes de fer.
merge-radius
❌ Valeur par défaut: item:2.5, exp:3.0
✅ Valeur optimisé: item:4.0, exp:6.0
🔥 Impact sur les performances : MOYEN
❓ Information: La fusion d'éléments signifie moins de ticking d'éléments au sol. Des valeurs plus élevées permettent de balayer plus d'éléments en piles.
Remarque : la fusion donnera l'illusion que les objets disparaissent lorsqu'ils fusionnent ensemble. Un inconvénient mineur.
nerf-spawner-mobs
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : SITUATIONNEL
❓ Information: Lorsque cette option est activée, les monstres provenant des spawners n'auront pas d'IA (ils ne nageront pas, n'attaqueront pas et ne se déplaceront pas). C'est une grande économie de TPS pour les fermes massives de mobs, mais cela perturbe aussi le comportement. Un plugin de limitation de ferme pourrait être une meilleure solution.
Note : Paper dispose d'une option pour forcer les mobs nerfed à sauter/nager. Cela corrige les fermes de poussée d'eau.
arrow-despawn-rate
❌ Valeur par défaut: 1200
✅ Valeur optimisé: 300
🔥 Impact sur les performances : MINEUR
❓ Information: Similaire à item-despawn-rate, mais pour les flèches. Certains serveurs peuvent vouloir garder les flèches au sol plus longtemps, mais la plupart n'auront pas à se plaindre si elles sont retirées plus rapidement.
Remarque : Paper dispose de paramètres permettant de réduire l'impact du retrait des flèches sur le gameplay. Laissez cette option par défaut si vous utilisez les options de flèches de Paper.
FICHIER PAPER.YML.
max-auto-save-chunks-per-tick
❌ Valeur par défaut: 24
✅ Valeur optimisé: 6
🔥 Impact sur les performances : IMPORTANT
❓ Information: Cela ralentit la sauvegarde incrémentale des morceaux pendant la tâche de sauvegarde du monde. Ceci est incroyablement important pour les serveurs modernes (la sauvegarde du monde craint).
Note : Un réglage trop bas peut résulter en des chunks non sauvegardés, donc évitez d'aller plus bas.
optimize-explosions
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : MINEUR
❓ Information: Paper dispose d'un algorithme très efficace pour les explosions, sans impact sur le gameplay.
mob-spawner-tick-rate
❌ Valeur par défaut: 1
✅ Valeur optimisé: 2
🔥 Impact sur les performances : MINEUR
❓ Information: C'est le délai (en ticks) avant qu'un spawner actif ne tente de frayer. Doubler le délai n'aura pas d'impact sur les taux de frai. N'augmentez le délai que si vous avez une perte significative de ticks à cause de frayeurs qui s'activent.
disable-chest-cat-detection
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : MINEUR
❓ Information: Les coffres sont analysés lorsqu'un chat se trouve au-dessus d'eux lorsqu'ils sont ouverts par un joueur. Bien que l'activation de cette fonction élimine le comportement de la vanille (les chats bloquent les coffres), avez-vous vraiment besoin de cette mécanique ?
container-update-tick-rate
❌ Valeur par défaut: 1
✅ Valeur optimisé: 3
🔥 Impact sur les performances : MINEUR
❓ Information: Ceci modifie la fréquence (en ticks) à laquelle les inventaires sont rafraîchis lorsqu'ils sont ouverts. Ne dépassez pas 4 pour éviter les problèmes visuels.
max-entity-collisions (dans Spigot.yml dans certains builds / versions)
❌ Valeur par défaut: 8
✅ Valeur optimisé: 2
🔥 Impact sur les performances : MOYEN
❓ Information: Les entités entassées (grinders, fermes, etc.) se heurteront moins et consommeront moins de TPS dans le processus.
grass-spread-tick-rate
❌ Valeur par défaut: soft: 32, hard: 128
✅ Valeur optimisé: soft: 28, hard: 96
🔥 Impact sur les performances : MINEUR
❓ Information: Soft = La distance (en blocs) d'un joueur où les mobs seront périodiquement retirés.
Hard= La distance où les mobs sont retirés instantanément.
Des plages plus basses effacent les mobs d'arrière-plan et permettent d'en frayer davantage dans les zones de trafic de joueurs. Cela réduit encore l'impact sur le gameplay de la réduction du frai (bukkit.yml).
hopper.disable-move-event
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : IMPORTANT
❓ Information: Cela réduira considérablement le décalage de la trémie en empêchant l'appel de l'InventoryMoveItemEvent pour CHAQUE emplacement dans un conteneur.
non-player-arrow-despawn-rate
❌ Valeur par défaut: 1 (utilise Spigot arrow-despawn-rate)
✅ Valeur optimisé: 60 (3 secondes)
🔥 Impact sur les performances : MINEUR
❓ Information: Similaire au taux de désapparition des flèches de Spigot, mais cible les flèches tirées par les squelettes. Comme les joueurs ne peuvent pas récupérer les flèches de la foule, il s'agit uniquement d'un changement cosmétique.
creative-arrow-despawn-rate
❌ Valeur par défaut: -1 (Taux de désenfouissement de la flèche)
✅ Valeur optimisé: 60 (3 secondes)
🔥 Impact sur les performances : MINEUR
❓ Information: Comme le paramètre ci-dessus, mais pour les flèches tirées par les joueurs qui ne peuvent être récupérées (arcs infinis).
prevent-moving-into-unloaded-chunks
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : MOYEN
❓ Information: Empêche les joueurs d'entrer dans un chunk non chargé (à cause du lag), ce qui cause plus de lag. Le paramètre vrai les ramènera à un endroit sûr à la place.
Note : Si vous n'avez pas pré-généré votre monde, ce paramètre est essentiel.
use-faster-eigencraft-redstone
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : IMPORTANT
❓ Information: Ce paramètre réduit les mises à jour redondantes de redstone jusqu'à 95% sans casser les appareils vanille. Des tests empiriques montrent une accélération allant jusqu'à 10x !
Note : Si vous utilisez un plugin pour modifier les algorithmes de redstone, envisagez de le remplacer par cette option car les plugins ont tendance à casser le comportement de redstone.
armor-stands-tick
❌ Valeur par défaut: true
✅ Valeur optimisé: false
🔥 Impact sur les performances : MINEUR
❓ Information: Certains objets sont considérés comme des entités (nécessitant un ticking) car ils interagissent avec le monde. Les supports d'armure non cochés ne seront pas poussés par l'eau (cela vous intéresse-t-il ?).
Note : Paper décale également le ticking des frames des objets au lieu de ticker toutes les frames en même temps. Ceci n'est pas configurable, profitez simplement de l'économie de TPS sans impact sur le gameplay.
per-player-mob-spawns
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : MINEUR
❓ Information: Ceci implémente un comportement de frai solo au lieu des algorithmes aléatoires de Bukkit. Cela empêche les actions des autres (par exemple, les fermes massives) d'avoir un impact sur les taux de spawn du serveur.
Note : Si vous avez baissé les limites de spawn dans Bukkit et que vous remarquez des pénuries d'animaux et de monstres, pensez à les remonter jusqu'à ce que vous trouviez votre bonheur.
alt-item-despawn-rate
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : MOYEN
❓ Information: Supprimez certains objets plus rapidement (ou plus lentement) que la vitesse de désapparition des objets définie dans Spigot. Cela vous permet d'éviter de cocher des tas massifs d'ordures.
no-tick-view-distance
❌ Valeur par défaut: -1
✅ Valeur optimisé: # > réglage de la distance de vue
🔥 Impact sur les performances : N/A
❓ Information: Il s'agit de la distance à laquelle les morceaux sont chargés, mais ne seront toujours pas cochés en dehors de votre distance de vue.
Remarque : si vous avez dû régler votre distance de visualisation très basse (comme 3 ou 4), vous pouvez la régler sur 5 ou 6 pour améliorer votre expérience de jeu.
anti-xray.enabled
❌ Valeur par défaut: false
✅ Valeur optimisé: true
🔥 Impact sur les performances : N/A
❓ Information: Bien que ce réglage coûte des TPS, l'anti-rayons de Paper est le plus efficace qui soit ! Le mode 1 est peut-être moins lourd (principalement pour les clients), mais le mode 2 est de loin plus efficace.
FICHIER SERVER.PROPERTIES.
view-distance
❌ Valeur par défaut: 24
✅ Valeur optimisé: 4-8
🔥 Impact sur les performances : IMPORTANT
❓ Information: C'est le paramètre qui a le plus d'impact dans tous vos fichiers car il limite la distance de rendu des morceaux. Les serveurs à monde ouvert (comme Survival) devraient s'efforcer d'utiliser 6+, mais d'autres sur des hôtes partagés, des spécifications basses, ou un grand nombre de joueurs pourraient considérer 4-5 si le chunk gen cause du lag.
Avertissement : Voir la note dans mob-spawn-range (spigot.yml) si vous réglez votre distance de vue en dessous de 7.
network-compression-threshold
❌ Valeur par défaut: 256
✅ Valeur optimisé: 512 (Bungeecord: (-1))
🔥 Impact sur les performances : MINEUR
❓ Information: Cette option limite la taille d'un paquet avant que le serveur ne tente de le compresser. Un réglage plus élevé peut permettre d'économiser certaines ressources au détriment de la bande passante, un réglage à -1 le désactive.
Note : Si votre serveur est dans un réseau avec le proxy sur localhost ou le même centre de données (<2 ms ping), la désactivation de cette option (-1) sera bénéfique.
ARGUMENTS DE LANCEMENT JAVA.
Sur OuiHeberg, nous avons optimisé les arguments de lancement de votre serveur Minecraft, vous n'avez donc pas besoin de faire quoi que ce soit 🙂
NOTE DE FIN.
Nous avons réalisé une vidéo youtube où nous optimisons le serveur en direct, vous pourrez donc voir le résultat. Il est important de savoir que nous avons fait les test de notre côté sur une version Purpur 1.18.2 disponible en téléchargement sur OuiPanel 🙂
Merci de votre lecture et à bientôt sur OuiHeberg.