Aller au contenu
CubeVote

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.

Logiciel du serveur

Logiciel du serveur

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.

Les guides pour aller plus loin

Dans la même boîte à outils