Comment éteindre un serveur proprement via la ligne de commande ??

Statut
N'est pas ouverte pour d'autres réponses.

Parzivalxx

Massacreur de Mouton
23 Août 2018
48
2
23
27
Bonjour,je joue à un serveur avec des amis,mais je veux automatiser ce serveur.Le serveur démarre déja automatiquement grace au fichier run.bat que l'ordinateur éxecute tout seul mais je voudrais avoir un fichier du même type genre stop.bat qui arrête proprement le serveur,sauvegarde la map,et arrete le serveur.


Merci d'avance,
Parzivalxx
 

Alex Fatta

Commandant de la Flotte et de la Horde
13 Août 2014
1 391
1
191
187
Bonsoir !

Lorsque tu arrêtes ton serveur, tu fais stop dans la console ou en jeu. En effectuant cette commande, il y a une liste de tâches qui sont effectuées à l'intérieur même du programme exécutable de ton serveur (save des maps, des playerdata, entity etc...). Si tu utilises un autre fichier comme un stop.bat, il existe (je pense) que 2 manières d'arrêter le serveur :

1- Réussir à entrer dans la console afin d'effectuer une commande "stop" mais je ne sais pas le faire.
2- Simplement stopper le programme java de ton serveur (comme si tu faisais un fin de tâches depuis le gestionnaire) mais là c'est beaucoup plus dangereux puisque les données ne sont pas correctement sauvegardées voir pas sauvegardées du tout (bon le serveur save quand même de temps en temps mais il y a un délais où tu risque de perdre tes données avec cette méthode) voir carrément tu risque de corrompre la/les maps du serveur.

AlexFatta
 

Parzivalxx

Massacreur de Mouton
23 Août 2018
48
2
23
27
Bonsoir !

Lorsque tu arrêtes ton serveur, tu fais stop dans la console ou en jeu. En effectuant cette commande, il y a une liste de tâches qui sont effectuées à l'intérieur même du programme exécutable de ton serveur (save des maps, des playerdata, entity etc...). Si tu utilises un autre fichier comme un stop.bat, il existe (je pense) que 2 manières d'arrêter le serveur :

1- Réussir à entrer dans la console afin d'effectuer une commande "stop" mais je ne sais pas le faire.
2- Simplement stopper le programme java de ton serveur (comme si tu faisais un fin de tâches depuis le gestionnaire) mais là c'est beaucoup plus dangereux puisque les données ne sont pas correctement sauvegardées voir pas sauvegardées du tout (bon le serveur save quand même de temps en temps mais il y a un délais où tu risque de perdre tes données avec cette méthode) voir carrément tu risque de corrompre la/les maps du serveur.

AlexFatta

Oui j'avais pensé à Autohotkey(https://autohotkey.com/) pour entrer "stop" mais ça n'a pas marché.
Pourrais-tu te renseigner dessus et me conseiller du code ??
 

Alex Fatta

Commandant de la Flotte et de la Horde
13 Août 2014
1 391
1
191
187
Bonsoir !

Je ne saurai pas comment faire ceci sous windows. Sous Linux pas de souci mais c'est plus compliqué sous windows. Mais simple question...pourquoi ne pas faire /stop en jeu ?

AlexFatta
 

Parzivalxx

Massacreur de Mouton
23 Août 2018
48
2
23
27
Bonsoir !

Je ne saurai pas comment faire ceci sous windows. Sous Linux pas de souci mais c'est plus compliqué sous windows. Mais simple question...pourquoi ne pas faire /stop en jeu ?

AlexFatta

Eh bien,car figure toi que ce serveur sera automatique,c'est à dire que je ne le logerais pas chez moi,mais dans un bureau autre que chez moi et je veux qu'a 8h,il s'allume(c'est déja fait avec le stop.bat) et qu'a 20h,il s'éteigne,je sais que l'on peut faire cela via Autohotkey mais je ne m'y connais pas trop...
Mais bon,je vais quand même me renseigner
 

Ekron

Docteur ès Kotlinologie
11 Février 2016
37
12
68
Galaé
Tu peux utiliser cygwin. C'est un programme qui émule des commandes Linux sous Windows et notamment screen.
Du coup tu peux faire une commande pour démarrer du style "screen -S "Minecraft" java -jar /ton/chemin/serveur.jar"
Et une commande pour stopper du style "screen -S "Minecraft" -X eval 'stuff "stop"\015'

Ensuite, pour exécuter cygwin en utilisant les tâches programmées Windows, il faut utiliser cette commande :
c:\cygwin\bin\bash.exe -c "command"

J'ai pas testé, mais a priori en combinant tout ça, ça devrait pouvoir fonctionner.
 
  • J'aime
Reactions: Parzivalxx

Parzivalxx

Massacreur de Mouton
23 Août 2018
48
2
23
27
Tu peux utiliser cygwin. C'est un programme qui émule des commandes Linux sous Windows et notamment screen.
Du coup tu peux faire une commande pour démarrer du style "screen -S "Minecraft" java -jar /ton/chemin/serveur.jar"
Et une commande pour stopper du style "screen -S "Minecraft" -X eval 'stuff "stop"\015'

Ensuite, pour exécuter cygwin en utilisant les tâches programmées Windows, il faut utiliser cette commande :
c:\cygwin\bin\bash.exe -c "command"

J'ai pas testé, mais a priori en combinant tout ça, ça devrait pouvoir fonctionner.
Merci je vais tester ce logiciel.
Juste avant je me pose une question:
Comment est-ce que je fais pour éxécuter le fichier qui va arrêter le serveur ?? Il existe un type de fichier spécifique à ce genre de commande ??
 

Ekron

Docteur ès Kotlinologie
11 Février 2016
37
12
68
Galaé
Sur Windows tu dois pouvoir créer un script .bat et l'automatiser j'imagine. Mais le plus simple c'est d'aller dans le planificateur de tâches Windows et d'enter directement la commande qu'il doit exécuter.
 

Parzivalxx

Massacreur de Mouton
23 Août 2018
48
2
23
27
Sur Windows tu dois pouvoir créer un script .bat et l'automatiser j'imagine. Mais le plus simple c'est d'aller dans le planificateur de tâches Windows et d'enter directement la commande qu'il doit exécuter.
D'accord et merci,je vais essayer !
 
Statut
N'est pas ouverte pour d'autres réponses.