Table des matières
Comment Optimiser son Serveur Minecraft (Paper/Purpur) - Guide Complet 2025
Introduction
Vous avez un serveur Minecraft qui lag ? Vos joueurs se plaignent de TPS bas ? Ce guide vous montrera comment optimiser votre serveur pour obtenir des performances maximales, que vous utilisiez Paper, Purpur ou Spigot.
---
1. Choisir le bon JAR serveur
Hiérarchie de performance
| JAR | Performance | Compatibilité Plugins |
|-----|-------------|----------------------|
| Purpur | Excellente | Excellente |
| Paper | Très bonne | Excellente |
| Spigot | Bonne | Excellente |
| Vanilla | Basique | Aucune |
Recommandation : Utilisez Purpur pour les meilleures performances.
# Télécharger Purpur
wget https://api.purpurmc.org/v2/purpur/1.21.4/latest/download -O purpur.jar
---
2. Optimiser les flags de démarrage (Aikar's Flags)
Remplacez votre script de démarrage par celui-ci :
#!/bin/bash
java -Xms6G -Xmx6G \
-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 \
-Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true \
-jar purpur.jar nogui
> Important : Ajustez -Xms et -Xmx selon votre RAM disponible. Règle : laissez 1-2 Go pour le système.
---
3. Configuration server.properties
# Réduire la distance de vue
view-distance=6
simulation-distance=4
# Désactiver le spawn protection inutile
spawn-protection=0
# Optimiser le réseau
network-compression-threshold=256
# Limiter les entités
max-tick-time=60000
---
4. Configuration bukkit.yml
settings:
allow-end: true
connection-throttle: 4000
spawn-limits:
monsters: 50 # Défaut: 70
animals: 8 # Défaut: 10
water-animals: 3 # Défaut: 5
water-ambient: 10 # Défaut: 20
ambient: 1 # Défaut: 15
chunk-gc:
period-in-ticks: 400
ticks-per:
animal-spawns: 400
monster-spawns: 4
water-spawns: 400
ambient-spawns: 400
autosave: 6000
---
5. Configuration spigot.yml
world-settings:
default:
merge-radius:
item: 4.0
exp: 6.0
hopper-transfer: 8
hopper-check: 1
hopper-amount: 1
mob-spawn-range: 4
entity-activation-range:
animals: 16
monsters: 24
raiders: 48
misc: 8
water: 8
villagers: 16
flying-monsters: 32
entity-tracking-range:
players: 48
animals: 48
monsters: 48
misc: 32
other: 64
tick-inactive-villagers: false
nerf-spawner-mobs: true
---
6. Configuration paper-world-defaults.yml
chunks:
auto-save-interval: 6000
delay-chunk-unloads-by: 10s
max-auto-save-chunks-per-tick: 8
prevent-moving-into-unloaded-chunks: true
entities:
armor-stands:
do-collision-entity-lookups: false
tick: false
spawning:
per-player-mob-spawns: true
environment:
disable-ice-and-snow: true
disable-thunder: true
optimize-explosions: true
treasure-maps:
enabled: false
hopper:
cooldown-when-full: true
disable-move-event: true
ignore-occluding-blocks: true
tick-rates:
behavior:
villager:
validatenearbypoi: 60
container-update: 3
grass-spread: 4
mob-spawner: 2
misc:
redstone-implementation: ALTERNATE_CURRENT
update-pathfinding-on-block-update: false
---
7. Configuration purpur.yml (Purpur uniquement)
settings:
lagging-threshold: 19.0
world-settings:
default:
mobs:
villager:
lobotomize:
enabled: true
check-interval: 100
zombie:
aggressive-towards-villager-when-lagging: false
gameplay-mechanics:
disable-chest-cat-detection: true
---
8. Plugins d'optimisation recommandés
| Plugin | Fonction |
|--------|----------|
| Spark | Profiler de performances |
| ClearLagg | Nettoyage des entités |
| FarmControl | Limite les fermes automatiques |
| ChunkSpawnerLimiter | Limite les spawners par chunk |
Installation de Spark :
cd plugins/
wget https://ci.lucko.me/job/spark/lastSuccessfulBuild/artifact/spark-bukkit/build/libs/spark-bukkit.jar
---
9. Commandes utiles pour monitorer
# Dans le jeu (avec Spark)
/spark tps # Voir les TPS
/spark profiler # Profiler le serveur
/spark health # Santé générale
# Timings Paper
/timings on # Activer le profiling
/timings paste # Générer un rapport
---
10. Résultats attendus
| Avant optimisation | Après optimisation |
|--------------------|-------------------|
| 15-18 TPS | 19.8-20 TPS |
| 200ms tick time | 30-50ms tick time |
| Lag avec 20 joueurs | Fluide avec 50+ joueurs |
---
Besoin d'aide ?
Chez OneHeberge, nos VPS sont optimisés pour Minecraft avec processeurs AMD EPYC haute fréquence, SSD NVMe ultra-rapides et protection Anti-DDoS incluse.