Ich versuche nun seit 3 Tagen meinen mistigen Minecraft Server als systemd zu starten. Dabei hab ich die Anleitung von https://github.com/agowa338/MinecraftSystemdUnit/ akribisch befolgt (mit ein paar Änderungen, da ich nur einen Server hoste (mc-%i > mcserver)). Trotzdem quittiert er jedes mal meinen Daemon mit dem error code 1 FAILURE. Ich hab jetzt schon so viel ausprobiert und nix hat geholfen. Wenn ich den Startbefehl manuell ausführe, dann läuft alles wunderbar - nur nicht im systemd.
Hier erst mal die Fehlermeldung:
Code: Alles auswählen
● mcserver.service - Minecraft Server
Loaded: loaded (/etc/systemd/system/mcserver.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2019-07-05 12:01:04 CEST; 21s ago
Process: 27950 ExecStop=/usr/bin/screen -p 0 -S mcserver -X eval stuff "stop"\015 (code=exited, status=1/FAILURE)
Process: 27943 ExecStart=/bin/sh -c /usr/bin/screen -dmS mcserver /usr/bin/java -server -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=5 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -jar $(ls -v | grep -i "FTBServer.*jar\|minecraft_server.*jar" | head -n 1) nogui (code=exited, status=1/FAILURE)
Main PID: 27943 (code=exited, status=1/FAILURE)
CPU: 83ms
Jul 05 12:01:04 Debian-99-stretch-64-minimal systemd[1]: mcserver.service: Failed with result 'exit-code'.
Code: Alles auswählen
# License: MIT
[Unit]
Description=Minecraft Server
After=network.target
[Service]
WorkingDirectory=/opt/minecraft
PrivateUsers=true
# Users Database is not available for within the unit, only root and minecraft is available, everybody else is nobody
User=minecraft
Group=minecraft
ProtectSystem=full
# Read only mapping of /usr /boot and /etc
ProtectHome=true
# /home, /root and /run/user seem to be empty from within the unit. It is recommended to enable this setting for all long-running services (in particular network-facing ones).
ProtectKernelTunables=true
# /proc/sys, /sys, /proc/sysrq-trigger, /proc/latency_stats, /proc/acpi, /proc/timer_stats, /proc/fs and /proc/irq will be read-only within the unit. It is recommended to turn this on for most serv$
# Implies MountFlags=slave
ProtectKernelModules=true
# Block module system calls, also /usr/lib/modules. It is recommended to turn this on for most services that do not need special file systems or extra kernel modules to work
# Implies NoNewPrivileges=yes
ProtectControlGroups=true
# It is hence recommended to turn this on for most services.
# Implies MountAPIVFS=yes
ExecStart=/bin/sh -c '/usr/bin/screen -dmS mcserver /usr/bin/java -server -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=5 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -jar $(ls -v | grep -i "FTBServer.*jar\|minecraft_server.*jar" | head -n 1) nogui'
ExecReload=/usr/bin/screen -p 0 -S mcserver -X eval 'stuff "reload"\\015'
ExecStop=/usr/bin/screen -p 0 -S mcserver -X eval 'stuff "say SERVER SHUTTING DOWN. Saving map..."\\015'
ExecStop=/usr/bin/screen -p 0 -S mcserver -X eval 'stuff "save-all"\\015'
ExecStop=/usr/bin/screen -p 0 -S mcserver -X eval 'stuff "stop"\\015'
ExecStop=/bin/sleep 10
Restart=on-failure
RestartSec=60s
[Install]
WantedBy=multi-user.target