Optimiser les performances de votre serveur Minecraft
Pourquoi optimiser votre serveur ?
Un serveur Minecraft optimise offre une experience de jeu fluide sans lags ni crashes. Meme avec l'infrastructure performante de OneSubnet (Ryzen 7 9700X, DDR5, NVMe SSD), une bonne configuration logicielle est essentielle pour exploiter pleinement le materiel.
1. Choisir le bon logiciel serveur
Le choix du logiciel serveur a un impact majeur sur les performances :
- V Vanilla : Serveur officiel, performance de base
- Spigot : +20% de performances par rapport a Vanilla
- Paper : +50% par rapport a Vanilla, recommande
- Purpur : Paper avec des options supplementaires
- Folia : Multithread pour tres grand serveur
Recommandation OneSubnet : Utilisez Paper pour le meilleur equilibre performance/compatibilite.
2. Optimiser server.properties
Voici les parametres cles a ajuster :
- view-distance=7 : La valeur la plus impactante. Reduisez a 6-8 pour les serveurs charges
- simulation-distance=4 : Limitez la zone active de simulation
- network-compression-threshold=256 : Compresse les packets reseau
- max-players : Ne pas mettre un nombre trop eleve si non necessaire
3. Optimiser paper.yml / spigot.yml
Si vous utilisez Paper, modifiez ces fichiers :
paper-global.yml
- chunk-loading.max-loads : Limite le chargement de chunks par tick
- entity.cramming : Limite les entites par bloc
- despawn-ranges : Ajuste la distance de despawn des monstres
spigot.yml
- mob-spawn-range : Reduisez a 4-6
- entity-activation-range : Reduisez les distances d'activation
- merge-radius.item : Fusionne les items au sol (2.5 recommande)
- merge-radius.exp : Fusionne les orbes d'experience (3.0 recommande)
4. Plugins d'optimisation
Installez ces plugins pour ameliorer les performances :
- Spark : Profilage des performances (indispensable pour diagnostiquer)
- LaggRemover / ClearLagg : Nettoyage automatique des entites
- EntityCulling : Desactive le rendu des entites invisibles
- FarmLimiter : Limite les fermes a entites
- Chunky : Pregeneration du monde pour reduire la charge en jeu
5. Pregenerer le monde
La generation de chunks en temps reel est l'une des operations les plus lourdes :
- Installez le plugin Chunky
- Definissez un rayon de pregeneration (ex: 5000 blocs)
- Lancez la pregeneration quand peu de joueurs sont connectes
- Les chunks seront sauvegardes sur nos SSD NVMe pour un acces ultra-rapide
6. Gerer la RAM
L'allocation memoire est cruciale :
- Ne pas allouer trop de RAM : le garbage collector Java devient lent au-dela de 12 Go
- Viser 60-70% de la RAM totale allouee au serveur
- Utilisez les flags Aikar pour optimiser le garbage collector
Flags Aikar recommandes
Dans les variables de demarrage de votre serveur, utilisez ces flags :
-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
7. Surveillance continue
Utilisez les graphiques du panel Pterodactyl pour surveiller :
- Utilisation CPU : Si constamment a 100%, upgridez votre plan
- Utilisation RAM : Si proche du maximum, augmentez-la
- TPS : Doit rester a 20. En dessous de 18, les joueurs ressentent des lags