• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

/restart funktioniert nicht ordentlich.

CubeneXHosting

Minecrafter
Registriert
22 Mai 2014
Beiträge
2
Diamanten
0
Guten Tag,
Ich habe ein kleines Problem. Mein MC Spigot Server restartet eigentlich recht ordentlich mit /restart. Sollte ich allerdings Putty schließen und jemand gibt im Spiel /restart ein passiert nichts mehr. Der Server stoppt und ende. Ich poste euch mal meine Start.sh.

#!/bin/bash

while true
do
screen -AdmS bw1 lobby1 java -server -Xms1024M -Xmx1024M -jar spigot.jar
echo "If you want to completely stop the server process now, press Ctrl+C before the time is up!"
echo "Rebooting in:"
for i in 5 4 3 2 1
do
echo "$i..."
sleep 1
done
echo "Rebooting now!"
done
 

AcientCraft

Minecrafter
Registriert
29 Dezember 2015
Beiträge
3
Diamanten
0
Hallo,

ich glaube, das Problem liegt in deinem Skript. Du startest deinen Server mit diesem Skript alle 5 Sekunden komplett neu in einem eigenen screen. Das ist Nachteilhaft.
In diesem Forum gibt es bereits ein gut funktionierendes Skript, du findest es hier:
https://minecraft-server.eu/forum/threads/linux-server-restart-script-hilfe.21553/

Für dich angepasst würde das Skript so aussehen:
Code:
#!/bin/bash
while true
do
        java -server -Xms1024M -Xmx1024M -jar spigot.jar
        datum=`date '+%y-%m'-%d_%H-%M`
        mkdir -p ../logs/$datum
        mv crash-reports/* ../logs/$datum/
        mv server.log ../logs/$datum/
        sleep 5
done

Lege also eine Datei an, weise die entsprechenden Rechte zu und starte den Server
Code:
nano start.sh
chmod +x start.sh
screen -AmdS MeinServer ./start.sh

Wenn du den Server nun restarten möchtest, kannst du dies auslösen, indem du /stop ingame ausführst.

Zur Erklärung: Das Skript wird aufgerufen und "macht" so lange wie es geht erst einmal
Code:
java -server -Xms1024M -Xmx1024M -jar spigot.jar
Dies ist, wie du sicher weißt, dein Server, der gerade läuft. Solange der Server also läuft, macht das Skript erstmal nichts anderes. Wenn du den Server dann mit /stop stoppst, wird der Rest abgearbeitet. In diesem Fall werden die CrashReports und Serverlogs verschoben und die Verzeichnisse werden nach der aktuellen Zeit benannt. Danach "schläft" das Skript 5 Sekunden und "macht" deinen wieder Server an, da dies ja als Erstes ansteht.

Wenn du den Server endgültig stoppen willst, dann musst du das script beenden. Verbinde dich also mit dem screen, den du dir dafür zurechtgelegt hast und drücke Strg+C, bis das Skript beendet ist.
Code:
screen -r MeinServer

lg Max
 

CubeneXHosting

Minecrafter
Registriert
22 Mai 2014
Beiträge
2
Diamanten
0
Ich liebe dich <3
Danke, dass du dir so viel Zeit für so eine Antwort genommen hast.
Es klappt alles einwandfrei.
Vielen Dank ! :)









Hallo,

ich glaube, das Problem liegt in deinem Skript. Du startest deinen Server mit diesem Skript alle 5 Sekunden komplett neu in einem eigenen screen. Das ist Nachteilhaft.
In diesem Forum gibt es bereits ein gut funktionierendes Skript, du findest es hier:
https://minecraft-server.eu/forum/threads/linux-server-restart-script-hilfe.21553/

Für dich angepasst würde das Skript so aussehen:
Code:
#!/bin/bash
while true
do
        java -server -Xms1024M -Xmx1024M -jar spigot.jar
        datum=`date '+%y-%m'-%d_%H-%M`
        mkdir -p ../logs/$datum
        mv crash-reports/* ../logs/$datum/
        mv server.log ../logs/$datum/
        sleep 5
done

Lege also eine Datei an, weise die entsprechenden Rechte zu und starte den Server
Code:
nano start.sh
chmod +x start.sh
screen -AmdS MeinServer ./start.sh

Wenn du den Server nun restarten möchtest, kannst du dies auslösen, indem du /stop ingame ausführst.

Zur Erklärung: Das Skript wird aufgerufen und "macht" so lange wie es geht erst einmal
Code:
java -server -Xms1024M -Xmx1024M -jar spigot.jar
Dies ist, wie du sicher weißt, dein Server, der gerade läuft. Solange der Server also läuft, macht das Skript erstmal nichts anderes. Wenn du den Server dann mit /stop stoppst, wird der Rest abgearbeitet. In diesem Fall werden die CrashReports und Serverlogs verschoben und die Verzeichnisse werden nach der aktuellen Zeit benannt. Danach "schläft" das Skript 5 Sekunden und "macht" deinen wieder Server an, da dies ja als Erstes ansteht.

Wenn du den Server endgültig stoppen willst, dann musst du das script beenden. Verbinde dich also mit dem screen, den du dir dafür zurechtgelegt hast und drücke Strg+C, bis das Skript beendet ist.
Code:
screen -r MeinServer

lg Max
 
Zuletzt bearbeitet:
Oben