• 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!

Server mit /restart neustarten und konsole haben

Unbuckled7096

Minecrafter
Registriert
8 Juni 2020
Beiträge
6
Diamanten
285
Hi,
also ich hoste einen server von Ubuntu bei mir zu hause und wollte wissen wie ich mit screen (oder ähnlichen programmen) meinen server mit einer Konsole neustarten kann. Ich hab meine start.sh datei wie folgt geändert. Leider hat dies aber nicht funktioniert

start.sh:
#!/bin/bash
screen -S server java -Xms2G -Xmx2G -jar spigot-1.8.8.jar nogui
 
Lösung
Ich hab grade einiges versucht aber es scheint als ob einfach mein screen nicht startet. Normal ohne screen scheint es zu gehen aber halt ohne konsole. Ich hab es mit den 2 start befehlen versucht, hab immer nachgeguckt ob sich eine screen session öffnet. Aber leider hat sich nichts getan. Ich hab auch versucht nen test server zu erstellen und alles auf nem server ohne plugins neu zu versuchen. Hat aber leider auch nicht geklappt. Ich hab es auch mit der 1.16 version von spigot versucht aber es hat leider auch nicht funktioniert.

Edit: Ich hab es mit ner zweiten ubuntu installation (mit Desktop) versucht und es geht. Ich könnte versuchen die zweite neu zu installieren. Die zweite ist nämlich ne minimale terminal installation und...

Unbuckled7096

Minecrafter
Registriert
8 Juni 2020
Beiträge
6
Diamanten
285
Laut der Spigot-Installations-Seite werden die Parameter -d -m benötigt, damit /restart funktioniert. Der von dir genutzte Parameter -S dient nur dazu, dem Screen einen Namen zu geben.
nogui kannst du übrigens in so uralten Versionen eigentlich weglassen - die GUI ist erst seit 1.14 standardmäßig aktiv.

es funktioniert leider immer noch nicht. Wenn ich ihn mit screen -d -m -S server java -Xms2G -Xmx2G -jar spigot-1.8.8.jar neustarte startet weder der server neu noch öffnet sich ein screen Fenster.
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Soweit ich weiß sollte der Name (server) in Anführungszeichen stehen ("server").
Ein neues Fenster wird sich aber auch dann nicht öffnen. -d startet den Screen im detached-Modus, du bist also nicht direkt mit ihm verbunden. Mit screen -ls kannst du schauen ob der Screen läuft und mit screen -r dich verbinden.

Wenn es dir nicht um den /restart-Befehl geht sondern du dir ganz generell unsicher bist: Mit dem Screen verbinden, (-r, siehe oben) und entweder "stop" eingeben oder Strg+C drücken. Der Screen sollte sich schließen, sobald der Server heruntergefahren ist und du kannst dann den Screen einfach erneut starten.
 

Unbuckled7096

Minecrafter
Registriert
8 Juni 2020
Beiträge
6
Diamanten
285
Ich weis, wie screen funktioniert habe aber wie gesagt keine screen sitzung gefunden. Und der server startet wie gesagt auch nicht. Ich versuchs nochmal mit den Anführungszeichen. Wenn ich den server mit ./start.sh starte, startet der server ganz normal mit dem screen namen und so, aber nach dem neustart kommt halt nichts und der server startet auch nicht im hintergrund ohne screen.

Edit: Es hat mit den Anführunszeichen auch nicht funktioniert.
 
Zuletzt bearbeitet:

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Könntest du mal deine spigot.yml hier hochladen (also wirklich die Datei hier direkt ins Forum packen) und das Selbe auch mit der start.sh Datei.

Dass das Executable Bit mit chmod +x gesetzt ist, vermute ich einfach mal, weil du meinst, du kannst die Datei direkt starten. Ich hab das Feature leider nie benutzt, da ich es immer dubios fand, aber schreibt der Server vielleicht etwas ins Log? Das Log vom Server hätte ich an der Stelle eigentlich auch gerne, um mich einfach selbst davon überzeugen zu können, dass da nichts relevantes drin steht. Serverstart + direkt /restart.
 

Unbuckled7096

Minecrafter
Registriert
8 Juni 2020
Beiträge
6
Diamanten
285
Hier sind die datein. Der start.sh datei hab ich die endung .txt gegeben da ich sie sonst nicht hätte hochladen können.
Die latest.log datei musste ich auf pastebin (https://pastebin.pl/view/8c732764) hochladen weil ich sie hier nicht hochladen konnte. Hab auch gerade selber gelesen, dass worldguard nicht geht/ veraltet ist. Ihr braucht mich darauf deshalb nicht hinweisen. Das ist auch eine anderer server deswegen Paper version aber bei dem geht es genau so wenig. Kann auch fals du es willst die datein vom anderen server hochladen.
 

Anhänge

  • spigot.yml
    4,2 KB · Aufrufe: 419
  • start.sh.txt
    58 Bytes · Aufrufe: 524

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Ich hab das jetzt gerade selbst mit der spigot-1.8.8-R0.1 getestet und es hat halt auf Anhieb funktioniert. Ich hab exakt die selbe start.sh genutzt wie du.

Ich hab sogar getestet was passiert, wenn das Restartskript nicht existieren sollte, aber dann kommt leider das.
Code:
Startup script './start.sh' does not exist! Stopping server.

Ob das Executable Bit gesetzt ist, scheint merkwürdigerweise egal zu sein. Jedenfalls gibt es damit kein offensichtliches Problem mehr. Mir ist allerdings aufgefallen, dass dein Server deutlich länger braucht um nach der entsprechenden Logzeile wirklich runterzufahren. Ich könnte mir vorstellen, dass Spigot den Server nicht schnell genug beendet bekommt, bis die neue Serverinstanz hochgefahren ist und damit ist der Port noch blockiert. Das könntest du vielleicht rausfinden, indem du prüfst ob in den letzten Logs Hinweise auf so einen Serverstart auftauchen.

Das wäre zwar großer Pfusch, aber Bukkit/Spigot/Paper sind leider voll von solchen undurchdachten Lösungen. Ich würde an deiner Stelle in einem zweiten Terminal oder mit htop mal genau die Prozessliste oder aktiven Screens überwachen, ich bin sicher, dort wirst du zumindest den Nachweis finden, dass die Restart Session mit screen gestartet wird.

Ansonsten könntest du den eigentlich Start in eine weitere Bash Datei packen und dann screen -dmS survival ./start2.sh ausführen. In dieser schreibst du dann den eigentlich Startbefehl des Servers geflogt von einem read -p "Press enter to continue". Das würde dann alle deine Screen Sessions blockieren, so dass du genau nachgucken kannst, was in der Restartsession wirklich passiert, denn ich gehe davon aus, dass die Session tatsächlich geöffnet wird.

Dann kannst du nochmal berichten, ob das bei der Problemlösung geholfen hat.
 

Unbuckled7096

Minecrafter
Registriert
8 Juni 2020
Beiträge
6
Diamanten
285
Ich hab grade einiges versucht aber es scheint als ob einfach mein screen nicht startet. Normal ohne screen scheint es zu gehen aber halt ohne konsole. Ich hab es mit den 2 start befehlen versucht, hab immer nachgeguckt ob sich eine screen session öffnet. Aber leider hat sich nichts getan. Ich hab auch versucht nen test server zu erstellen und alles auf nem server ohne plugins neu zu versuchen. Hat aber leider auch nicht geklappt. Ich hab es auch mit der 1.16 version von spigot versucht aber es hat leider auch nicht funktioniert.

Edit: Ich hab es mit ner zweiten ubuntu installation (mit Desktop) versucht und es geht. Ich könnte versuchen die zweite neu zu installieren. Die zweite ist nämlich ne minimale terminal installation und verbraucht weniger RAM weswegen ich diese als server benutzen will.

Edit2: Ich hab Ubuntu neu installiert und es geht immernoch nicht. Ich glaube dass mir irgendwelche pakete oder ähnliches fehlen die beim normalen Ubuntu standartmäßig dabei sind ich weiß nur nicht welche.

Edit3: Ich hab jetzt anstatt ubuntu mini, ubuntu server installiert und es funktioniert. Danke trotzdem für eure hilfe bei der fehlersuche.
 
Zuletzt bearbeitet:

Marcel980

Minecrafter
Registriert
25 März 2020
Beiträge
1
Diamanten
304
Minecraft
Marcel980
Hallöchen auch, jetzt hänge ich mich auch mal dazwischen, wenn ich darf? hihi

1. Frage, mit welchen Account hast du die start.sh geschrieben, bzw erzeugt? mit dem Root ?

Laut deiner start.sh macht Ubuntu folgendes.

1. es erstell einen Screen der survival heißt!

2. das Programm (paper.jar) soll dann mit einem Arbeitsspeicher von 4GB laufen! (Der Speicher MUß vorhanden und frei sein, sonst kann es sein das screen erst gar nicht startet, da er schon falsche Informationen bekommt!)

Wenn du jetzt, erstmal in den Screen reinschauen willst, um zu schauen ob er noch läuft, gehst du wie folgt vor!
Probiere als erstes den Befehl:

screen -ls

daraufhin sollte so etwas in der Art bei dir raus kommen: (hier mein Beispiel)

marcel@laptop-server:~$ screen -ls
No Sockets found in /run/screen/S-marcel.

marcel@laptop-server:~$ sudo -s
root@laptop-server:/home/marcel# screen -ls
There is a screen on:
791.bedrock (25.01.2022 05:01:40) (Attached)
1 Socket in /run/screen/S-root.

bei mir läuft der Screen über den Root Account, deswegen bekomme ich beim ersten Befehl "screen -ls" gesagt das kein screen läuft!
Logge ich mich dann um als root, dann ist auch auf einmal ein Screen zu finden!
Ja, bei mir heißt der Screen bedrock!

hast du dann deinen Screen gefunden, kannst du mit dem Befehl:

screen -r survival "laut start.txt survival"


in den screen rein!!!

bist du im Screen, gibst du einefach als Befehl:

stop

ein und der Server sollte runter fahren, das kann zwischen 5 -xxx Sec. dauern, kommt immer drauf an, wie groß deine Welt schon ist!

Ist der Server geschlossen, muß du wieder aus dem Screen raus und auch den Screen an sich schließen, das machst du mit der Tastenkombination:

STRG + D

Nach dem Befehl sollte etwas erscheinen das der Screen geschlossen ist!

Zusammenfassung:
1. server geschlossen
2. Screen geschlossen

(fertig)


Neustarten ganz einfach, einfach die start.sh aufrufen! :cool:

Gruß Marcel
 

Bermuda_Craft

Minecrafter
Registriert
26 Juni 2013
Beiträge
3
Diamanten
2
es funktioniert leider immer noch nicht. Wenn ich ihn mit screen -d -m -S server java -Xms2G -Xmx2G -jar spigot-1.8.8.jar neustarte startet weder der server neu noch öffnet sich ein screen Fenster.
Der Server wartet nach der Eingabe auf "eine beliebige Taste" zu drücken und muss dann manuell neu gestartet werden. Gibt es keinen Befehlt ohne zusätzliches Plugin um durch einen inGame Admin (OP) den Server neu zu starten ohne auf die Serverkonsole einloggen zu müssen? Version 1.18.2
 
Oben