Minecraft - Server soll nach verlassen der Konsole (PUTTY) nicht stoppen

  • Hallo liebe Freunde


    Ich will auf meinem vServer einen kleinen Minecraft Server einrichten, jedoch stoppt dieser immer, sobald ich die Kommandozeile bzw. Putty verlasse.
    Da ich nicht 24h pro Tag am PC sitzen kann und PUTTY laufen lassen kann, suche ich eine Möglichkeit, das der Server, der eigentlich eine Java-Applikation ist, auch beim verlassen von Putty noch läuft?


    Wäre froh wenn jemand mir hierbei helfen könnte.


    (Suche etwas das wie nohup, was bei mir irgendwie ned funktioniert..)

  • wie wäre es mit

    Zitat

    screen -AmdS test ./testscript.sh

    Zitat

    screen → startet eine Screen Sitzung -AmdS → sorgt dafür das die Sitzung sofort im Hintergrund gestartet wird, das wir ihr einen Namen geben (test) und da diese Sitzung unabhängig gestartet wird. test → Name der Screen Sitzung ./testscript.sh → Befehl der innerhalb der Sitzung ausgeführt wird.


    Für Maincraft dann

    Zitat

    screen -AdmS minecraft java -cp minecraft-server.jar com.mojang.minecraft.server.MinecraftServer

  • Danke..


    Das komische ist, wenn ich per


    Zitat

    screen -ls


    schaue, wird mir ein Socket angezeigt, wenn ich aber per


    Zitat

    screen -x minecraft


    Bekomme ich: There is no screen to be attached matching minecraft.

  • Danke, habs nun mit deiner Anleitung geschafft.


    Wie müsste ich das jetzt wieder stoppen, wenn ich mal was daran arbeiten will oder ihn einfach mal abschalten will, weil niemand darauf spielt?

  • Mal eine Frage dazu.


    Ich habe die scripte gerade erstellt. Ich hätte aber gern das er bei der stop.sh noch vorher den Server normal beendet (und die Welt speichert) was man mit dem Befehl "stop" in der Konsole macht.


    Also habe ich es so geschrieben:

    Bash
    #!/bin/bash
    screen -S Craftbukkit -X stop
    sleep 2
    screen -S Craftbukkit -X quit

    Der Stop befehl wird aber nicht an die Konsole des Servers gegeben wie mir scheint. Hat da wer ne Idee wie ich das richtig mache?

  • Hieß der Befehl nicht save-all oder so?




    Wieso machst du es nicht direkt in einem Script?




    Jetzt mal nur als Beispiel




    Mfg Impact

  • Hm danke.
    Muss ich mal basteln. Ich kenne die Syntax der Shell noch nicht wirklich gut. Ist immer etwas Fummelei.


    Und ja der Befehl heisst save-all aber bei stop macht er auch vorher nen save und beendet danach den Server. Ist jedenfalls besser als kill.

  • Zitat von Impact;30379


    Leider nimmt er den stop Befehl nur wenn ich in ner zweiten Sitzung den screen auch offen habe. Der Stop Befehl wird nicht ausgeführt. Auch nicht ein save-all.


    Sitze ich mit nem zweiten Putty aber im screen um zu schauen was dort ankommt, dann gehts.

  • Dann machst du was falsch
    wir startest du deinen Server?



    Achso der Code muss natürlich so aussehen


    Dabei muss Der Server natürlich auch so heißen wie das was hinter SERVER= steht


    Versuch dein Server mal so zu starten




    Code
    screen -dmS CRAFTBUKKIT ./Anwendung

    Der Name muss natürlich mit dem des Stopscriptes übereinstimmen
    danach rufst du das Script erneut auf und berichtest mal.


    Du kannst es auch mit dem (Parameter) dmSL starten und danach mal einen Blick in das Screenlog werfen



    Mfg
    Impact

  • Also nach viel Testerei kommt nun folgendes raus:
    Jedes Script für sich funktioniert erstmal. Die stuff Befehle werden aber NUR dann ausgeführt wenn ich vorher zumindest einmal den screen attached habe (Ob ich dann drinbleibe oder nicht scheint egal).
    Der Startbefehl gefällt mir noch nicht. Er erstellt weitere Screens obwohl schon ein Server läuft.
    Ich habe jetzt die Option -R noch zum Startbefehl dazu. Das hat den effekt das ich nach dem starten im screen sitze (und somit der nächste restart auch wieder klappt) und das er nicht mehrere Server startet.


    Richtig cool wäre natülich nun noch das ganze so zu lösen das ich niemals in den screen reinmuss damit es funzt und die Option -R nicht im Screen endet. Aber notfalls kann ich mit der Lösung nun leben ^^



    Quenaros

  • Warum der bei dir nicht in den Screen postet wenn du ihn nicht zuvor geöffnet hast verstehe ich nicht
    zu der Lösung das mehrere Screens gestartet werden



    Versuch mal nicht in den Screen rein zu gehen während du das Script ausführst meistens gibt es da dann Probleme wenn 2 Leute den Selben Screen attachen.



    Mfg
    Impact

  • Wen es interessiert
    So nutze ich das derzeit
    zusammen mit einem ssh2 - php Interface (Nur falls man sich über die komische Schreibweise wundert)
    etwas unsauber aber wayne interessiert es :)
    bin noch etwas am rumprobieren.



    Mfg
    Impact