Hi, ich habe einen Virtuellen Server mit Ubuntu, wenn ich mich mit putty mit ihm verbinde und den Minecraftserver starte, wird putty nach ein paar Minuten inaktiv und der Server schließt. Wie bekomme ich es hin, dass der Server immer online bleibt?
Minecraftserver immer online lassen
Anmeldungsdatum: Beiträge: Zähle... |
|
Anmeldungsdatum: Beiträge: 550 Wohnort: bochum, germany |
PUTTY ist ein Windows Programm. Denke das Du damit hier nicht an der richtigen Adresse bist. On Windows 95, 98 or ME, the registry key you need to create or change is HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\ MSTCP\MaxDataRetries (it must be of type DWORD in Win95, or String in Win98/ME). (See MS Knowledge Base article 158474 for more information.) On Windows NT, 2000, or XP, the registry key to create or change is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ Parameters\TcpMaxDataRetransmissions and it must be of type DWORD. (See MS Knowledge Base articles 120642 and 314053 for more information.) Set the key's value to something like 10. This will cause Windows to try harder to keep connections alive instead of abandoning them. |
Anmeldungsdatum: Beiträge: 11180 Wohnort: München |
Eine Möglichkeit wäre ein Terminal-Multiplexer wie tmux oder screen, damit bleibt deine Session auch nach einem Disconnect bestehen. Für Server-Dienste schreibt man normalerweise Systemd-Units (in dem Fall also systemd/Service Units), damit man Prozesse mit Abhängigkeiten zu anderen Diensten/Umgebungsbedingungen (wie z.B. einer aktiven Netzwerkverbindung) automatisch starten lassen und bequem über ein standardisiertes Interface steuern kann. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3 |
seahawk1986 Und wie mache ich das mit screen? Ich habe das schon ausprobiert aber es hat nicht funktioniert. |
Anmeldungsdatum: Beiträge: 550 Wohnort: bochum, germany |
Ups, da lag ich wohl völlig falsch. PUTTY gibt es auch für Linux. Sorry. Edit: Für mich heißt das: Das Häckchen bei "Enable TCP keepalives" sollte gesetzt werden. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3 |
Danke, aber ich wollte es eigentlich auch so haben, dass der Minecraftserver weiterläuft, wenn ich meinen Computer herunterfahre. |
Anmeldungsdatum: Beiträge: 550 Wohnort: bochum, germany |
Ach so. Bin nun kein minecraft Experte. |
Anmeldungsdatum: Beiträge: 11180 Wohnort: München |
Du startest eine detachte Screen Session mit dem gewünschten Befehl, also z.B.: screen -AmdS minecraft java -Xms4096M -Xmx4096M -jar /home/minecraft/spigot-1.14.3.jar So müsstest du den Server dann wieder stoppen können: screen -r minecraft -X quit Falls logind deine Prozesse beim abmelden killt, kannst du entweder gemäß https://manpages.ubuntu.com/manpages/xenial/man5/logind.conf.5.html
Das beendet den Prozess aber wenn die Shell stirbt - wenn könnte man noch mit nohup arbeiten, aber damit verliert man die Kontrolle über den Prozess. Dienste sollten nach Möglichkeit mit Systemd-Units verwaltet werden. |
Anmeldungsdatum: Beiträge: 12085 Wohnort: Berlin |
Kleine Ergänzung: In die laufende Screen-Sitzung gelangst Du (Moconmoted) mittels screen -r Du verlässt die Sitzung ohne Sie zu beenden mittels Strg + A gefolgt von einem einfachen D ("detach" – abkoppeln). |
Anmeldungsdatum: Beiträge: 12085 Wohnort: Berlin |
Das schießt direkt die Screen-Sitzung ab und der Minecraft-Server kommt eventuell nicht mehr dazu, Daten aus dem Speicher auf die Platte zu schreiben. Dieser Befehl fährt den Server sauber herunter: screen -dr minecraft -X stuff "\nsave-all\nstop\n"
Die Man kann sich natürlich einfach mit screen -r in die Screen-Sitzung begeben und dort die Befehle "save-all" und "stop" eingeben. 🙂 Im Netz gibt es außerdem viele fertige Skripte zur Serversteuerung, einfach mal nach "Minecraft Server Skript" suchen. Ich benutze z.B. dieses hier: https://minecraft.gamepedia.com/Tutorials/Server_startup_script#Download Das hört auf Befehle wie "start", "stop" etc. und kümmert sich ganz alleine um Screen. |