Minecraft Server stop.bat?
Hallo Community
Ich programmiere zurzeit ein kleines Webinterface für meinen Minecraft Server, dieses Webinterface soll später beim klicken auf einen Stop-Button den Server stoppen, nach Möglichkeit so als hätte ich selbst in der Konsole "stop" eigegeben, ich habe schon einige Batch Dateien gesehen, die den Befehl "stop" im cmd Fenster ausführen sollen:
send stop
send {ENTER}
Dies hat allerdings nicht geklappt, gibt es eine Möglichkeit den Befehl direkt von der Website oder über ein .bat Datei auszuführen?
Weiter Infos: Minecraft Spigot Server 1.8.8 Server und Website laufen auf einem Root-Server
Mit freundlichen Grüßen TOminerTV
2 Antworten
Der send Befehl ist nicht in Batch enthalten, sondern in vbs, welches aber mit Batch gestartet werden kann:
set "output=stop"
set "script=%TMP%\simulate.vbs"
echo Dim objWScriptShell > %script%
echo Set objWScriptShell = WScript.CreateObject("WScript.Shell") >> %script%
echo objWScriptShell.SendKeys "%output%" >> %script%
echo objWScriptShell.SendKeys "{ENTER}" >> %script%
echo Set objWScriptShell = Nothing >> %script%
echo WScript.Quit() >> %script%
cscript //nologo %script%
del %script%
Falls das für deinen Server reicht (und du nicht irgendwie die Konsole aufrufen musst) sollte das klappen.
~Tim
Ich seh auf dem Bild keine einzige Fehlermeldung... warum schließt sich deine Batch denn nicht automatisch? Rufst du sie mit start "..." auf?
mach mal
@echo off
an den Anfang und
pause >nul
ans Ende.
Du könntest die Batch auch mal so aufrufen:
call stop.bat 2>error.txt
Dann werden dir Fehlermeldungen in eine error.txt geschrieben.
Falls du denkst deine Batch würde nicht funktionieren ... hab das auch extra noch mal getestet ... die Konsole muss halt offen sein, wohin soll denn sonst der stop Befehl geschrieben werden?
Hab am Anfang einfach mal den Editor geöffnet, musst stattdessen halt die Konsole aufmachen.
~Tim
Du kannst auch mal das //nologo hinter dem cscript weglassen und schauen was der Windows Script Host sagt.
Vielleicht wäre es besser bei so Server Zeugs das Script nicht in den Temp-Ordner von Windows zu packen sondern direkt in den Ordner der Batch.
Dazu einfach bei
set "script=%TMP%\simulate.vbs"
das %TMP%\ weglassen
~Tim
Du könntest den Prozess des Servers schließen, indem du in eine batchdatei "taskkill /F /PID serverdateiname.bat" schreibst. Dieser Befehl stoppt Prozesse. Viel Glück ☺
dadurch wird die welt aber nicht gespeichert und es könnten fehler auftreten
Danke rofelmeier für die schnelle Antwort, sorgt das nicht praktisch für den 'Absturz' des Servers, könnten dadurch Dateien beschädigt werden?
Ich habe deinen Code in eine .bat Datei geschrieben, leider gibt es nur Fehler Meldungen, hier ein Bild von den Fehlermeldungen.:
http://multigamingserver.ddns.net/server/img/error.png
Mfg
TOminerTV