Le meilleur start.sh

Fau8

Massacreur de zombies
20 Février 2017
164
9
76
Bonjour, bonsoir, je fais quelques recherches sur le start.sh, j'ai vu qu'il y avait plusieurs options supplémentaires qui pouvaient améliorer le serveur. Cependant, ils y en a qui sont différents des autres (avec d'autres options), donc je me demande quel est le meilleur start.sh..
Code:
while true
do
java -server -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -Xms5G -Xmx5G -jar spigot.jar nogui
echo Redémarrage...
done
 

Alex Fatta

Commandant de la Flotte et de la Horde
13 Août 2014
1 346
185
187
Bonjour !

Il n'existe pas de bon ou de mauvais fichier de lancement. Tut ce qu'il y a dedans, ce sont des arguments java. Il en existe des plus courts que ce que tu as envoyé. N'importe quel tutoriel sur internet montrant comment créer un serveur minecraft te proposera un fichier de démarrage. Il y a une chose importante dans la ligne en question : c'est la quantité minimum de RAM et la quantité max allouée au programme. Après le reste, ca varie en fonction des personnes et des tutoriels ;)

AlexFatta
 

Fau8

Massacreur de zombies
20 Février 2017
164
9
76
Je sais que le plus important dans le fichier de lancement est la RAM, mais ces arguments Java font-ils vraiment une différence par rapport à un fichier de lancement basique ? Et si oui, laquelle ?
 

robin4002

Étudiant en informatique
Staff
Responsable technique
Responsable forum
12 Novembre 2012
17 463
2 778
347
23
Alsace
www.minecraftforgefrance.fr
Salut,
Le script que tu as lancé a la commande java à l'intérieur d'une boucle while, ce qui relancera automatiquement le serveur s'il se coupe (ça peut servir dans certains cas).

Concernant les arguments java, ça peut faire une petite différence, surtout pour le garbage collector (ce qui gère la mémoire).
Java 7 et 8 utilise le Parallel GC, mais le nouveau G1 GC est déjà dispo avec java 8 (par défaut avec Java 9) il est plus performant et je recommande donc de l'utiliser (le launcher de Minecraft lance par ailleurs le jeu avec ce GC) :
Code:
-XX:+UseG1GC
Le launcher de minecraft lance le jeu avec les arguments suivants :
Code:
-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Il peut être intéressant de reprendre l'argument -XX:MaxGCPauseMillis=50 qui évitera que le GC utilise trop de temps cpu à chaque lancement de ce dernier (pendant que le GC tourne, le code de minecraft ne s'exécute pas).

Tu peux aussi augmenter le nombre de thread utilisé par le GC avec :
Code:
-XX:ParallelGCThreads=n
et
Code:
-XX:ConcGCThreads=n
(tu peux remplacer n par le nombre de cœurs du processeur du serveur).

http://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.html
 
  • J'aime
Reactions: Fau8 et Alex Fatta