Synology HELP- Serveur Minecraft: Script ou executable pour remplacer cmd SSH de lancement?

FuRy

Nouveau membre
19 Novembre 2022
26
32
18
45
Haute-Savoie
Professionnel
Non
Bonjour confrùres du forum! 👋😊

Encore une fois, je viens vous solliciter pour vos idĂ©es ou conseils. Comme je sais pas trop faire court et que j'aime dĂ©tailler (trop bavard), je m'excuse si ça fait un peu trop de lecture. Mais bon, je me dis que mon expĂ©rience et mes soucis pourront p'tet en aider d'autres, autant bien expliquer. Du coup, merci d'avance aux courageux qui vont lire ou mĂȘme prendre le temps de me rĂ©pondre...

CONTEXTE (BLA BLA):
Par le passĂ©, j'avais créé un serveur MINECRAFT (chez un hĂ©bergeur payant) pour faire plaisir Ă  mes fils, mon neveu etc... Bon j'avoue que mĂȘme si c'Ă©tait surtout les enfants et ados de ma famille qui y jouaient (5 ou 6 gosses d'un cercle privĂ©), j'ai passĂ© un peu de temps avec eux parfois pour les aider Ă  crĂ©er une belle ville (quand on basculait le serveur de Survie Ă  CrĂ©atif) et je me suis pris au jeu par moments (mĂȘme Ă  40 ans passĂ©s) j'avoue.

Mais aprĂšs plusieurs annĂ©es dessus, j'ai fini par fermer le serveur car ils y allaient beaucoup moins souvent en grandissant (ça servait Ă  rien de payer dans le vide). Du coup, j'avais quand mĂȘme sauvegardĂ© nos cartes et avancĂ©es (avant de rĂ©silier chez l'hĂ©bergeur). NĂ©anmoins, de temps en temps, on en reparle de maniĂšre nostalgique avec mes fils. Du coup mĂȘme si on y jouera pas autant qu'avant, j'ai eu envie de remettre en route un serveur MINECRAFT sur mon NAS (en le reconfigurant comme avant (avec notre carte...) mais avec la derniĂšre version de MINECRAFT 1.19.3 et des trucs trucs comme WorldEdit...).


DIVERS MÉTHODOLOGIES POUR CRÉER UN SERVEUR MINECRAFT TESTÉES:

Etant novice en NAS, j'ai regardé/lu quelques Tutos sur les maniÚres de procéder pour héberger un serveur Minecraft sur un NAS Synology.
J'ai testé 2 méthodes différentes avant de finalement opter pour un toute autre approche. Je vais résumer mes tests ici (avant d'exposer mon interrogation):


1. Test avec un paquet Minecraft:
Dans un premier temps, j'ai essayĂ© de crĂ©er un serveur en utilisant un paquet Minecraft existant. En effet, en ajoutant des listes de paquets Ă  notre Centre de Paquets, vous savez qu'on dispose de plein de paquets non-officiels Ă  installer et un paquet Minecraft a aussi Ă©tĂ© rendu disponible. L'utilisation d'un paquet "tout prĂȘt", ça simplifie grandement la tĂąche pour ceux qui veulent crĂ©er un serveur. MĂȘme ceux qui ont peu de connaissances peuvent le faire et c'est pas compliquĂ©. Une fois mis en place et un peu paramĂ©trĂ©, ça marche (sans rien d'autres) et il suffit d'activer/dĂ©sactiver le paquet en 1 clic pour allumer ou Ă©teindre le serveur. Simple, rapide et efficace!

▶ Alors oui j'ai trouvĂ© cette mĂ©thode efficace (ça fonctionnait chez moi et j'accĂ©dais au serveur sur le jeu facilement). Le paquet indiquait qu'il fonctionnait maximum avec une version 1.16 du client (j'ai pas vĂ©rifiĂ© si on pouvait bidouiller pour changer en 1.19) mais il installait une version "vanilla" (classique) du serveur. On oublie donc les versions Forge, Bukkit ou Spigot avec ce paquet (donc pas de Mods, plugins etc... enfin c'est p'tet bidouillable mais ça devient plus complexe pour un truc Ă  la base qui se veut simple). A mes yeux, c'est super bien pour ceux qui veulent faire un serveur Minecraft rapidement pour un usage classique (sans mods, pluggins...).


1. Test avec un build Minecraft Docker:
Ensuite, je me suis tournĂ© vers la mĂ©thode la plus rĂ©pandue apparemment: hĂ©berger un serveur dans un container sur Docker. Un des avantages, c'est que contrairement au paquet Minecraft (oĂč y'a pas beaucoup de choix actuellement), il y a plus de versions diffĂ©rentes de disponibles: J'ai vu des 10aines et des 10aines de conteneurs Minecraft Docker "prĂȘts Ă  Ă  l'emploi" dispos. Certains sont p'tet pĂ©rimĂ©s/obsolĂštes (ou seulement compatibles avec des vieilles versions du client/serveur) mais il y en a pas mal qui marchent Ă  priori. Du coup, moi j'ai testĂ© avec une version assez rĂ©cente qui permettait d'hĂ©berger un serveur Minecraft en version 1.19.3.

▶ La version que j'avais choisie n'Ă©tait pas prĂ©vue nativement pour un usage avec des Mods ou Plugins. Par contre comme pour la mĂ©thode avec le paquet Minecraft, ça se met en place super vite via un conteneur Docker (celui testĂ© est bien fait, simple et efficace): Ca permet aussi de dĂ©marrer/Ă©teindre le serveur en 1 clic dans Docker! Bref, c'est aussi une solution pratique qui ne nĂ©cessite pas de rĂ©elles compĂ©tences Ă  mettre en place (faut juste choisir le bon container et suivre une procĂ©dure aisĂ©e). J'ai testĂ© un Container en Vanilla (ça se serait compliquĂ© et aurait nĂ©cessitĂ© pas mal de bidouilles pour utiliser des mods ou pluggins) mais je m'y connectais sans difficultĂ©s via le client. Alors j'ai cru voir que certains conteneurs proposaient d'autres versions (bukkit...) qui faciliteraient l'ajout de mod etc, mais je ne les ai pas testĂ©s (d'ailleurs certains se limitent Ă  des versions antĂ©rieures de Minecraft).


⚠ Que ce soit avec le Paquet Minecraft ou via un Docker, il est donc simple de crĂ©er un Serveur Minecraft sur un NAS Synology, mĂȘme pour un novice complet (enfin si on se contente des versions disponibles proposĂ©es, car ça devient lĂ©gĂšrement plus complexe dĂšs qu'on veut des versions de serveur en particulier ou personnaliser un peu plus le truc). Mais ...

Ce qui est le plus embĂȘtant Ă  mes yeux avec ces mĂ©thodes (ce n'est que mon humble avis), c'est que dans un cas comme dans l'autre, on ne peut pas accĂ©der directement et simplement aux dossiers et fichiers du serveur (on ne les voit pas dans FileStation dans nos documents partagĂ©s puisqu'ils sont dans les fichiers systĂšme et utilisateurs du NAS donc inaccessibles). MĂȘme avec une connexion FTP (via FileZilla ou autres), il est impossible d'afficher les dossiers et fichiers de Minecraft dans une interface graphique.
Donc si on veut transfĂ©rer des dossiers de mondes sauvegardĂ©s, ajouter des plugins ou mĂȘme simplement Ă©diter des fichiers (ops.json, server.properties etc...), on est obligĂ©s de tout faire en lignes de commandes via SSH. C'est pas infaisable car j'ai rĂ©ussi Ă  importer des cartes ou mods etc dans les bons dossiers du NAS (via des commandes Unix) en testant ces 2 types de serveurs (mais heureusement que j'ai quelque bases de lignes de commandes). Je trouve que la procĂ©dure d'accĂšs est quand mĂȘme bien plus chiante/compliquĂ©e pour des novices. Et mĂȘme si on sait faire, ça peut rebuter juste par fainĂ©antise...


Ainsi, j'ai tout supprimé (paquets, containers...) car pas convaincu et j'ai fini par tester une autre approche d'hébergement sur mon NAS:
serveur minecraft sur NAS mini.jpg

COMMENT J'AI HÉBERGÉ MON SERVEUR MINECRAFT ?

J'ai d'abord tatonnĂ© un peu (Ă  chercher une autre façon de faire dans ma tĂȘte que celle proposĂ©e dans les tutos "serveur minecraft sur Nas") et je me suis dit "ArrĂȘte de penser façon Nas absolument" et ensuite "pourquoi pas tenter de le faire comme-ci j'hĂ©bergeais ça sur un serveur normal en Linux?" (en utilisant plus ou moins la mĂȘme mĂ©thode que si j'hĂ©bergeais ça sur un ordi quelconque, un serveur dĂ©diĂ© (ou autres) car aprĂšs tout le DSM est construit sur une base Unix je crois...).


C'est donc de cette façon que j'ai procédé:

1.
J'ai créé un rĂ©pertoire "minecraft" dans mes dossiers partagĂ©s du NAS pour y mettre et installer tous mes fichiers du jeu (lĂ  oĂč ils seront tous accessibles directement dans FileStation ou mĂȘme via le rĂ©seau Lan avec mon ordi). Pas besoin de SSH pour gĂ©rer mes fichiers en lignes de commandes en gros!

2. Sur mon ordi, j'ai download une des derniĂšres versions de JRE (pour Linux x64 vu mon proc): Un Java Runtime Env 1.8 dans mon cas (pour l'environnement Java qui fait tourner le serveur Minecraft). ⚠ J'aurai pu aussi utiliser un paquet Java non officiel rĂ©cent (du Nas) mais je voulais choisir ma version de Java.

3. J'ai tĂ©lĂ©chargĂ© aussi un installeur XXX_minecraft_XXX.jar (j'avais le choix du coup, donc j'ai pas pris une version Vanilla sachant que je voulais des mods/plugins sur mon serveur). Comme la version "client" ou "serveur" de Minecraft s'installent avec le mĂȘme installeur, il ne me restait qu'Ă  choisir la version (1.19.3) et la distribution (j'ai pris Spigot mĂȘme si j'ai hĂ©sitĂ© avec Forge, Bukkit etc...).

4. Ensuite, j'ai transféré le dossier du JRE (décompressé au préalable) et mon installeur Spigot_1.19.3_Minecraft_Installer.jar de mon ordi vers le dossier "minecraft" du NAS. Pour des raisons pratique, j'ai raccourci le nom de l'installeur et l'ai renommé en minecraft_server.jar (mais c'était pas obligatoire):

fichiers Minecraft Syno 01.png

Pour pouvoir lancer des lignes de commandes servant à installer le JRE et à lancer l'installeur Minecraft_Serveur, j'ai ré-activé le SSH sur mon NAS (je le coupe toujours dÚs que je ne l'utilise pas) dans mes paramÚtres du NAS.

5.
J'ai choisi Putty (déjà installé sur mon ordi) comme software pour accéder à mon NAS en SSH et pour taper mes commandes. Je m'y suis connecté (adresse du NAS et port SSH) avec un utilisateur "administrators".

6. Je me suis mis dans le dossier Minecraft ( cd volume1/minecraft ) et j'ai préparé le JRE avec la commande suivante: sudo jre1.8.0_361/bin/java
⚠ Finalement, je ne lancerai plus un Java installĂ© manuellement (comme j'ai fait la premiĂšre fois) pour lancer le serveur minecraft car entre temps, j'ai installĂ© un paquet Java via le centre de paquet (encore plus simple Ă  utiliser dans notre cas).

7. Une fois l'installation du JRE terminée, j'ai enfin lancé l'installation du serveur Minecraft. Pour le lancer, j'ai utilisé la commande suivante dans Putty (toujours placé dans le dossier minecraft bien sûr) : java -Xmx2048M -Xms2048M -jar minecraft_server.jar nogui (j'ai choisi 2Gb de Ram pour mon serveur mais j'aurai pu mettre moins ou plus aussi).

▶ A Savoir que la premiĂšre fois, l'installation plantait (cas classique en installant un serveur Minecraft de diverses maniĂšres). C'est normal. Il y a quelques nouveaux fichiers qui apparaissent dans le rĂ©pertoire mais l'installation est incomplĂšte. J'ai donc Ă©ditĂ© le nouveau fichier eula.txt et transformĂ© le fameux "false" Ă  la fin en "true" (permettant de bien installer le serveur). J'ai pu relancer l'installation du serveur avec la mĂȘme commande et obtenir cette fois une installation complĂšte. D'ailleurs Ă  la fin (mĂȘme si c'est un peu long la premiĂšre fois), le serveur est lancĂ© et il fonctionne (j'ai testĂ© direct de m'y connecter en jeu).



Voici donc ce que j'avais dans mon répertoire Minecraft désormais:

serveur minecraft structure filestation.png

✅
L'avantage avec cette mĂ©thode, c'est que comme tous les fichiers du jeu (les configs, sauvegardes, mondes, mods, plugins etc) sont installĂ©s dans un fichier partagĂ© du NAS, il est trĂšs facile de travailler sur les fichiers/dossiers du jeu afin de personnaliser le serveur Ă  sa convenance. Pas besoin de se taper plein de lignes de commandes pour importer une carte et des Mod/plugins ou mĂȘme pour Ă©diter des fichiers (par exemple). Tout se fait direct dans l'explorateur de notre PC ou dans FileStation! De plus, on a une totale libertĂ© sur l'Ă©diteur du serveur (Vanilla, Bukkit, Forge, Spigot...), la version ou les rĂ©glages persos (pluggins/mods...), tout en restant super simple!!!

Ceci n'est pas un tuto donc je rentre pas dans tous les dĂ©tails de ce que j'ai fait pour finir de config mon serveur (mais pour rĂ©sumer, j'ai ouvert le port Minecraft Ă  internet, j'ai Ă©ditĂ© le server.properties et le ops.json Ă  ma convenance, j'ai importĂ© une carte perso, installĂ© quelques plugins qui fonctionnent trĂšs bien: worldedit etc...). Ca tourne du tonnerre, mĂȘme en dehors de chez moi!!! (y)




Quel est mon problĂšme alors? Pourquoi ai-je besoin d'aide ou de conseils ?

Pour moi cette façon d'héberger un serveur sur mon NAS est presque parfaite! Ca fonctionne, c'est personnalisable à souhait, accessible etc... Mais il y a un mais! C'est ça que j'aimerai améliorer pour que cette méthode d'hébergement soit vraiment parfaite à mes yeux et j'ai besoin de conseils, avis, idées de personnes plus calées...


✅
A chaque fois que je l'arrĂȘte, je lance mon serveur via SSH avec la mĂȘme commande que celle utilisĂ©e pour installer le serveur ( java -Xmx2048M -Xms2048M -jar minecraft_server.jar nogui ). Les 2 premiĂšres fois, cette commande installe complĂ©tement le serveur dans notre dossier (et le configure etc). Ensuite quand tout est prĂȘt, cette commande sert juste Ă  "allumer" le serveur (avec les cartes, mods et droits dĂ©jĂ  paramĂ©trĂ©s avant).


Les inconvénients:


- C'est chiant de devoir ouvrir un éditeur SSH uniquement pour taper une commande qui sert juste à lancer le serveur! Je préfÚrerai ne pas avoir à réactiver le SSH (désactivé par défaut hors utilisation) à chaque fois que je veux relancer le serveur.

- Un problĂšme beaucoup plus gĂ©nant est que si je ferme la fenĂȘtre SSH oĂč j'ai tapĂ© la commande, ça ferme le serveur aussi. Donc pour faire des tests etc, c'est suffisant mais dans la pratique, c'est pas gĂ©nial, d'oĂč ce message! C'est surtout ce problĂšme qu'il faut m'aider Ă  rĂ©gler (l'autre au dessus serait du bonus).


Ce que j'aimerai donc:


- J'aimerai que le serveur puisse rester aussi longtemps que je veux allumĂ© (sans avoir besoin de laisser une fenĂȘtre ouverte sur l'ordi ou le NAS). MĂȘme si je lance avec une commande, au moins qu'il ne se coupe plus si je ferme la fenĂȘtre ensuite. Je vois pas l'intĂ©rĂȘt d'hĂ©berger sur un serveur si je dois laisser mon pc allumĂ© en gros.

▶
J'ai pensé qu'avec une option nohup (ou un truc du genre dans la commande) je pourrai p'tet faire en sorte qu'une fois lancé mon serveur ne se coupe plus. Mais comme je suis pas un pro de l'Unix non plus, je sais pas comment faire ma cmd de lancement avec un "nohup" dedans. Si vous pouvez m'aider là dessus, ce serait déjà super!!!


- Sinon, j'aimerai savoir s'il est possible de créer un petit script (ou un genre de fichier executable (cliquable de mon ordi ou du NAS) qui permettrait en gros de lancer mon serveur sans taper de ligne de commande) et donc de ne pas avoir besoin d'une connexion SSH. Pas besoin de gérer la fermeture, je peux couper le serveur en OP sur le jeu. Je veux juste un moyen simplifié de le mettre en route...

▶
Est ce donc faisable de créer un fichier qui sert juste à lancer mon serveur (contenant un raccourci de commande java (-Xmx2048M -Xms2048M -jar minecraft_server.jar nogui (avec ou sans le nohup)) pour lancer mon minecraft_server.jar comme je le fait à la main) mais en 1 simple clic (sans code) ?





P'tet que mes 2 demandes pourront paraitre ridicules pour certains mais j'suis moyennement à l'aise sur ce que je vous demande. Si vous pouvez m'aider là dessus, ce serait top pour rendre mon hébergement de serveur minecraft quasi parfait!!!
MERCI D'AVANCE !!!
 
DerniÚre édition:
Salut,
La premiÚre chose qui me viens a l'esprit, c'est la commande n'a pas prévu un mode "detached" ?

La deuxiÚme, c'est d'utiliser "screen", a voir si screen est présent sur DSM ?

Edit : Pour le script c'est plutot simple
Tu créer un fichier .sh par exemple avec dedans :

Bash:
#!/bin/bash
java (-Xmx2048M -Xms2048M -jar minecraft_server.jar nogui

Pour le rendre exécutable : chmod +x mon_script.sh
 
  • J'aime
Réactions: FuRy
Salut,
La premiÚre chose qui me viens a l'esprit, c'est la commande n'a pas prévu un mode "detached" ?

Oui tout Ă  fait. J'ai tout de suite pensĂ© Ă  ça mais ne sachant pas vraiment comment m'y prendre. Alors, comme je suis pas super Ă  l'aise encore avec les commandes Linux, il m'arrive souvent de chercher la syntaxe dans la doc sur internet ou demander Ă  d'autres comment ils font ça ou ça pour ĂȘtre sĂ»r.

▶ D'ailleurs en parlant de nohup dans mon message d'tal, j'ai plus ou moins trouvĂ© une solution qui marche (c'est pas la meilleure mais elle semble fonctionner). Genre j'ai presque rĂ©pondu tout seul Ă  une de mes problĂ©matique... 😜 LOL

J'ai voulu tester et j'ai lancĂ© mon serveur avec la mĂȘme commande (mais en ajoutant nohup au dĂ©but):

Bash:
nohup java -Xms1024M -Xmx2048M -jar minecraft_server.jar nogui

Au début, j'ai vu le message suivant s'afficher:

Bash:
nohup: ignoring input and appending output to 'nohup.out'.

En voyant ce message, j'ai cru que le serveur ne se lançait pas mais en fait si, il était bien en train de se lancer. Mise à part ce message "nohup blabla", cela n'affiche plus rien dans la console (on ne voit plus les logs du serveur qui se lance, ça induit en erreur) mais pourtant le processus se lance normalement.

En fait, en utilisant le nohup, il n'affiche plus les logs du serveur dans la console mais il les Ă©crit dans un nouveau fichier (créé dans le rĂ©pertoire courant) qui s'appelle nohup.out. En l'ouvrant dans un bloc note ou autre, on voit tous les logs du serveur qui s'est lancĂ© et mĂȘme si quelqu'un se connecte au serveur ou autres...


✅ Donc la commande lance bien le serveur. Et surtout le serveur ne se stop plus si on ferme la fenĂȘtre de l'invite de commande ou qu'on Ă©teint l'ordinateur sur lequel on a lancĂ© le serveur!!! Le processus reste bien en marche sur le NAS indĂ©pendamment de mon invite commande et de mon PC!

Pour arrĂȘter le serveur, Ă©tant OP sur le jeu, il me reste qu'Ă  stoper le serveur en commande sur le jeu! Bref, cette solution n'est p'tet pas la meilleure mais elle a le mĂ©rite de fonctionner et rĂ©sout une partie de mon problĂšme!


La deuxiÚme, c'est d'utiliser "screen", a voir si screen est présent sur DSM ?

J'ai vaguement entendu parlée de screen. Sur le papier ça a l'air pas mal effectivement. Ce serait p'tet plus propre que ma commande avec nohup. A voir donc!

Faudra que je regarde ou me renseigne si le paquet dispo fonctionne toujours! C'est une piste intéressante! (y) Merci

Edit : Pour le script c'est plutot simple
Tu créer un fichier .sh par exemple avec dedans :

Bash:
#!/bin/bash
java (-Xmx2048M -Xms2048M -jar minecraft_server.jar nogui

Pour le rendre exécutable : chmod +x mon_script.sh

J'ai pas trop l'habitude de ce genre de script en bash. J'ai vu plusieurs exemples sur le net (qui ressemblent au tien) et en vrai ça n'a pas l'air si dur à faire: Créer le script ça l'air faisable, donner les droits aussi .... mais ...


J'ai plein de questions qui me viennent en tĂȘte du coup:

- C'est toujours pas un fichier qu'on peut lancer juste en cliquant dessus par exemple (ni sur le Nas, ni sur l'explorateur Windows en réseau sur mon Nas)?

- Il faudrait donc lancer une commande pour exécuter notre script c'est ça? (on éviterait donc un commande pour en taper une autre plus courte en gros?)

- Dans ce cas, est ce que je pourrai exécuter ce script via Windows sans me connecter en SSH (genre: lancer le script sur l'ordi pour qu'il dise au fichier sur le nas de s'ouvrir, je sais pas si vous voyez ce que je veux dire...) ?


▶ J'aimerai en gros trouver/crĂ©er un script (ou autre chose) qui permet de lancer le serveur sans invite de commande (en cliquant dessus par exemple) ou alors sans connexion SSH au NAS si je devais aboslument executer une commande pour lancer le script (direct de mon rĂ©seau par exemple). Je sais pas si c'est possible!
 
Bon, je reviens vers vous pour faire un retour sur l'avancée de ce problÚme! Avec un peu d'aide d'@EVOTk et aussi pas mal de recherches et tests en solo, il semblerait que j'ai trouvé la solution pour résoudre tous mes problématiques.

Alors mĂȘme si c'est rĂ©glĂ© de mon cĂŽtĂ©, je fais pas le mort sur le forum depuis la rĂ©solution et je viens quand mĂȘme faire le point ICI (par respect pour les personnes qui ont pris le temps de lire/rĂ©pondre et aussi au cas oĂč ça puisse aider quelqu'un d'autre...). Voici le bilan de ma rĂ©solution de problĂšmes:


1. FAIRE EN SORTE QUE LE SERVEUR RESTE LANCÉ : CHECK ✅
( il reste bien lancĂ© tant que je ne le stop pas, mĂȘme en fermant l'invite de commande). (y)


Le fait d'avoir ajouté nohup à ma commande laisse bien le serveur ouvert (comme je le disais dans le Post précédent). C'est déjà un bon point, ça marche donc avec la commande suivante:
Bash:
nohup java -Xms2048M -Xmx2048M -jar minecraft_server.jar nogui
Donc quand je tape ça (connectĂ© en SSH dans Putty), je lance bien mon serveur Minecraft et il reste ouvert (mĂȘme en fermant la fenĂȘtre Putty) jusqu'Ă  ce que je l'Ă©teigne dans la console en jeu. Le problĂšme principal est rĂ©solu! J'ai un serveur qui reste bien ouvert mĂȘme si je ferme la fenĂȘtre d'exĂ©cution donc.


2. DÉMARRER LE SERVEUR AVEC UN SCRIPT : CHECK ✅
(pour éviter de devoir se connecter en SSH et le démarrer en lignes de commandes) ;)



▶ DĂ©marrage du serveur avec un script, les Ă©tapes suivies:

Comme conseillĂ©, j'ai créé un script (nommĂ© Launcher.sh) dans le mĂȘme dossier que le serveur java minecraft Ă  lancer. J'y ai mis les instructions suivantes:
Bash:
#!/bin/bash
java -Xms2048M -Xmx2048M -jar minecraft_server.jar nogui
(pour les tests, j'ai enlevé le paramÚtre "nohup" au début et par la suite, j'en aurai plus besoin...)

J'ai ensuite testé ce Script en le lançant via invite de commande (dans Putty):

commande bash lancement serveur minecraft.png

Le script fonctionne correctement et il lance bien le serveur! Déjà au moins, on voit que le script fonctionne, c'est un bon point mais...

Le truc c'est que je devais me connecter en SSH pour lancer le script en invite de commande. Alors oui j'Ă©vitais de taper la commande de lancement complĂšte certes, mais ça m'imposait de taper une autre commande juste pour lancer le script. Le but que je recherchais Ă©tait de pouvoir lancer le script sur mon NAS mais sans du tout utiliser de commande (mĂȘme si je dĂ©sactivais le service SSH dans les paramĂštres).


Vu que sur mon NAS je ne peux pas lancer un script xxx.sh d'un simple clic (comme je le ferai sur mon PC), j'ai cherché comment on peut lancer un script sans taper une ligne de commande dans un NAS donc.


La seule solution que j'ai trouvé est de passer par le Planificateur de tùches Synology et de créer une "tùche déclenchée" qui elle lancerait mon script de démarrage serveur.

J'ai donc créé une tùche déclenchée (nommée "Launcher Minecraft") que j'ai juste à exécuter (d'un clic) pour lancer mon serveur.
Dans les paramÚtres de cette tùche, j'ai donc défini un Script pour lancer mon script ainsi:
Code:
#!/bin/bash
cd /volume1/minecraft
bash Launcher.sh

Donc en exécutant cette tùche, ça renvoi vers mon script qui lui démarre le serveur! Magie!!! Cette méthode est p'tet bizarre mais elle a le mérite de fonctionner! Ainsi j'ai donc pu désactiver le SSH dans les paramÚtres du NAS et j'arrive à lancer mon serveur Minecraft juste en exécutant une tùche du planificateur de tùches!

D'ailleurs, cette méthode laisse le processus lancé et je n'ai plus besoin du "nohup" dans la commande du script pour que le serveur reste allumé.



▶ Éteindre le serveur avec un script:

Quand je lançais le serveur en invite de commande, j'avais 2 solutions pour Ă©teindre le serveur (soit fermer la fenĂȘtre Putty si j'avais pas utilisĂ© le paramĂštre "nohup", soit Ă©teindre le serveur directement en jeu avec les commandes OP (/stop) du jeu: dans les 2 cas, ça fermait proprement le serveur sans processus parasite restant).

⚠ Mais attention pour ceux qui voudraient faire pareil. J'ai remarquĂ© que quand je passe par une tĂąche dĂ©clenchĂ©e Syno pour un script qui lance le serveur, c'est un peu diffĂ©rent pour la fermeture: Si j'Ă©teins le serveur (sur le jeu), il sauvegarde et se ferme (n'est plus accessible) mais cependant le processus liĂ© Ă  la tĂąche reste encore partiellement allumĂ© (il y a encore un peu de Ram et de Proc utilisĂ©s).

Ne sachant pas expliquer ça, j'ai aussi créé un script pour éteindre le serveur et couper complÚtement le processus (pour ne pas avoir de ressources utilisées dans le vide sur le NAS).


- J'ai ainsi créé un script Serverclose.sh pour forcer l'arrĂȘt du processus (de maniĂšre un peu brutale certes) via son PID (j'avais cherchĂ© le PID correspondant Ă  mon lancement serveur (dans mon cas c'est 13854) en invite de commande). Le code de ce script est donc trĂšs simple:

Bash:
#!/bin/bash
kill -9 13854

â„č Ainsi, une fois que j'ai fermĂ© le serveur proprement en jeu (avec la procĂ©dure d'arrĂȘt normale), je demande Ă  forcer l'arrĂȘt du processus (avec le script d'arrĂȘt ci-dessus) pour qu'il ne reste aucune processus inutile ouvert (et ainsi libĂ©rer complĂ©tement les ressources Proc et Ram utilisĂ©es par le serveur Minecraft).

Et pour lancer ce script de fermeture, j'ai procédé comme avec le script de démarrage, j'ai créé une tùche déclenchée avec le script de tùche suivant:
Code:
#!/bin/bash
cd /volume1/minecraft
bash ServerClose.sh


(y) Avec ceci, le serveur est fermé et je suis sûr qu'il ne reste plus de ressources utilisées pour Minecraft (si à un moment je décide d'éteindre le serveur).


Le sujet est clos!!!
 
  • J'aime
Réactions: EVO