Du coup ça marche, je t'explique vite fait ce que tu as mis dans le script de lancement :
Par défaut, l'invite de commandes affiche les instructions qu'il exécute ; cette ligne permet de désactiver cela.
L'arobase « @ » indique que cette instruction doit aussi être masquée.
Purement esthétique, tu peux l'enlever.
Change le titre de l'invité de commande ; comme tu peux voir la fenêtre se nomme « Serveur 1.12.2 ».
Aussi purement esthétique, tu peux l'enlever.
Code:
java -Xmx2G -jar forge-1.12.2-14.23.5.2854.jar nogui
La seule ligne vraiment essentielle, on demande à Java de lancer le serveur, à partir du fichier spécifié après le
-jar
.
Le
-Xmx2G
indique la mémoire maximale que le programme peut utiliser, soit 2 Go. Là le message d'erreur qu'il s'affiche est que ton ordinateur n'a pas 2 Go de mémoire disponible, donc le lancement du fichier échoue.
Essaye de le passer à 1 Go en remplaçant ça par
-Xmx1G
.
Le
nogui
demande au serveur (et non à Java) de ne pas ouvrir la fenêtre du serveur, puisqu'on a déjà l'invite de commandes.
À noter que tout ce qui est avant le
-jar
est traité par Java, tout ce qui est après le nom du fichier est traité par le programme (le serveur).
Donc si tu inverses les deux, ça n'aura aucun effet, car si tu demandes au programme de réserver 1 Go de mémoire, bah c'est à Java de le faire, lui ne peut plus rien changer.
Demande à l'utilisateur d'appuyer sur une touche pour continuer. Lorsque toutes les instructions du script sont exécutés, l'invite de commande de ferme, donc si on ne met pas cette instruction, si le serveur crash (comme ce que tu as pour le moment), l'invité se referme instantanément, tu n'as pas le temps de voir le message d'erreur.
Petit point sur l'invite de commandes, il ne fait qu'afficher ce que le serveur lui demande d'afficher, en soit les logs du jeu, comme le fait qu'un joueur s'est connecté.
Quand tu fais un programme, comme par exemple une calculatrice, et que tu n'as pas envie de perdre ton temps à dessiner une fenêtre, l'invité de commandes permet juste d'afficher du texte et de recevoir ce que l'utilisateur tape dedans. Par exemple, pour t'op, tu devras taper dans l'invite
op <joueur>
.
Donc en soit ce n'est pas parce qu'il y a un invite de commandes que le programme fait des trucs chelou, c'est juste que le programme n'a pas besoin d'interface plus compliquée pour interagir avec l'utilisateur, et que donc autant prendre ce que Windows propose au lieu de réinventer la roue.
C'est d'ailleurs plus contraignant pour un programme d'avoir une console que de ne pas en avoir, parce que si beaucoup de texte doit être affiché, on le ressent un peu au niveau des performances.