Wie kann ich einen Minecraft Server und Debian Autostarten?
Hallo Community,
Ich versuche seit Tagen alles, damit der Minecraft Server automatisch startet, wenn der PC Hochfährt. Der MC-Server läuft auf Debian und das wiederum auf Proxmox. Der Benutzer wird automatisch angemeldet und benötigt kein Passwort. Ich muss von Hand quasi nur noch in das Verzeichnis wechseln und die start Datei ausführen.
Ich hätte aber gerne, dass wenn der PC über Proxmox gestartet wird, automatisch der MC-Server hochfährt und wenn ich in die Konsole gehe, direkt den screen sehe.
Vielleicht habt ihr ja eine Idee, wie das funktioniert...
3 Antworten
Ich mache das über einen Systemd Service. Ich kann dir wenn ich wieder Zuhause bin eine Kopie meines MC-Servers Start-Services schicken.
Hier ist das template was ich genutzt habe: https://gist.githubusercontent.com/dotStart/ea0455714a0942474635/raw/4493d671f271298fe4839ea38708cf1e2faafb22/minecraft.service
Unter User kannst du einen eigenen (den du auf dem Server nutzt) oder schlicht einfach "root" eintragen.
Unter WorkingDirectory muss der Pfad zum Ordner des Servers eingetragen werden.
Unter ExecStart kommt der genaue Befehl mit dem der Server gestartet werden soll. Also "java -jar server.jar" oder ähnlich. Du kannst hier auch ein Bash Skript angeben das den Server startet. Dieses sollte am besten im Ordner des Servers liegen.
Es funktioniert endlich, danke. Ein kleines Problem habe ich noch. Ich sehe nur die Konsole, wenn ich #systemctl status minecraft.service eingebe. Ich kann aber nichts eingeben. Kann ich irgendwie es so machen, dass auch automatisch der Monitor startet und ich Befehle eingeben kann?
Falls es dir hilft. Ich habe " /bin/sh -c '/usr/bin/screen -DmS server /usr/bin/java -XX:+UseG1GC -Xmx3G -jar paper.jar' " als Startbefehl genommen. So wird ein screen, mit dem Namen "server" gestartet. Man kann dann nun mit "screen -r server" die Konsole des Servers aufrufen und mit Strg+A und dann D die Konsole wieder verlassen.
Ich hätte aber gerne, dass wenn der PC über Proxmox gestartet wird, automatisch der MC-Server hochfährt
Ich würde dafür einfach eine systemd-unit anlegen, die beim Hochfahren automatisch den MC-Server startet. Wenn du das richtig einstellst, dann werden sogar automatisch Log-Dateien angelegt :)
https://wiki.ubuntuusers.de/systemd/Units/
wenn ich in die Konsole gehe, direkt den screen sehe.
Was für ein Screen? Da bin ich mir nicht sicher, was du genau meinst.
Am besten machst du das via systemd:
https://anythingmc.xyz/server/guides/setup/minecraft_setup/#setup-as-a-system-service
wenn ich in die Konsole gehe, direkt den screen sehe.
Inwiefern screen in einem systemd-Service funktioniert, weiss ich grad nicht. In der .bashrc könntest du aber einfach einen entsprechenden Befehl eintragen.
Ich habe jetzt die Anleitung befolgt. Beim eingeben von "systemctl start minecraft" sagt er das es nicht starten kann und ich "systemctl status minecraft" eingeben soll. Dann sagt er mir Loaded: bad-setting (Reason: Unit minecraft.service has a bad unif file setting.)
/etc/systemd/system/minecraft.service:4: Failed to parse sec value, ignoring: 0[Service]
/etc/systemd/system/minecraft.service:4: Failed to parse sec value, ignoring: 0[Service]
/etc/systemd/system/minecraft.service:5: Unknow key name `Type`in section `Unit`
/etc/systemd/system/minecraft.service:5: Unknow key name `Restart`in section `Unit
/etc/systemd/system/minecraft.service:5: Unknow key name `RestartSec`in section `Unit
/etc/systemd/system/minecraft.service:5: Unknow key name `User`in section `Unit
/etc/systemd/system/minecraft.service:5: Unknow key name `ExecStart`in section `Unit
minecraft.service: Service has no ExecStarter=, ExecStop=, or SuccessAction=, Refusing.
Ich habe jetzt die Anleitung befolgt. Beim eingeben von "systemctl start minecraft" sagt er das es nicht starten kann und ich "systemctl status minecraft" eingeben soll. Dann sagt er mir Loaded: bad-setting (Reason: Unit minecraft.service has a bad unif file setting.)
/etc/systemd/system/minecraft.service:4: Failed to parse sec value, ignoring: 0[Service]
/etc/systemd/system/minecraft.service:4: Failed to parse sec value, ignoring: 0[Service]
/etc/systemd/system/minecraft.service:5: Unknow key name `Type`in section `Unit`
/etc/systemd/system/minecraft.service:5: Unknow key name `Restart`in section `Unit
/etc/systemd/system/minecraft.service:5: Unknow key name `RestartSec`in section `Unit
/etc/systemd/system/minecraft.service:5: Unknow key name `User`in section `Unit
/etc/systemd/system/minecraft.service:5: Unknow key name `ExecStart`in section `Unit
minecraft.service: Service has no ExecStarter=, ExecStop=, or SuccessAction=, Refusing.
Das wäre bestimmt sehr hilfreich, danke