Flags de démarrage et RAM
La ligne qui lance votre serveur décide de sa mémoire et du comportement de son ramasse-miettes, première cause de « lags » sans raison. Choisissez le logiciel et la mémoire : la commande, start.sh et start.bat sont prêts à copier.
6 Go
Combien de mémoire me faut-il ?
Estimation : 6 Go.
Un ordre de grandeur : la distance de vue compte plus que le nombre de plugins, car les chunks chargés croissent avec son carré.
Java requis : Java 21: Java 21 depuis la 1.20.5.
Commande Java
À coller telle quelle dans un terminal, ou dans le champ « démarrage » d'un panel comme Pterodactyl.
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 paper.jar --nogui
start.sh : Linux et macOS
À placer dans le dossier du serveur. Lancez-le dans un screen ou un tmux pour qu'il survive à la fermeture du terminal.
#!/usr/bin/env bash # Script de démarrage généré sur cubevote.net/outils/flags-demarrage # Rendez-le exécutable une fois : chmod +x start.sh cd "$(dirname "$0")" while true; do 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 paper.jar --nogui echo "Serveur arrêté. Redémarrage dans 10 secondes : Ctrl+C pour annuler." sleep 10 done
start.bat : Windows
Double-cliquez pour démarrer. Enregistré avec des fins de ligne Windows.
@echo off rem Script de demarrage genere sur cubevote.net/outils/flags-demarrage cd /d "%~dp0" :demarrer 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 paper.jar --nogui echo Serveur arrete. Redemarrage dans 10 secondes - Ctrl+C pour annuler. timeout /t 10 goto demarrer
Bon à savoir
- -Xmx fixe le tas Java, pas toute la mémoire du processus : la JVM prend un peu plus. Chez un hébergeur qui vend « 8 Go », allouez-en 7.
- Les flags d'Aikar sont ceux que recommande la documentation de PaperMC. Ils conviennent aussi à Vanilla, Fabric et Forge.
- Plus de mémoire ne veut pas dire plus de fluidité : un serveur Minecraft fait tourner chaque monde sur un seul cœur. Au-delà de ce qu'il utilise, la mémoire supplémentaire ne sert à rien.