From b56b003fc13a4e12f97c6cfd5dd650e928d6e016 Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Sun, 12 Jul 2020 00:00:26 +0200 Subject: Teach minecctl to split things into data and cfg dir, also read config variables from the server.properties file --- examples/minecserver@.service | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'examples/minecserver@.service') diff --git a/examples/minecserver@.service b/examples/minecserver@.service index bb72c5b..40aca86 100644 --- a/examples/minecserver@.service +++ b/examples/minecserver@.service @@ -3,29 +3,30 @@ Description=Minecraft Server %i #Documentation= https://url https://url man:abc Wants=network-online.target After=network-online.target -ConditionFileNotEmpty=%E/minecproxy/config/%i.mcserver -ConditionPathExists=%E/minecproxy/servers/%i/eula.txt -ConditionPathExists=%E/minecproxy/servers/%i/server.properties -ConditionPathExists=%E/minecproxy/servers/%i/server.jar +ConditionFileNotEmpty=%E/minecproxy/%i.mcserver +# Unfortunately $XDG_DATA_DIR has no %E equivalent +ConditionPathExists=%h/.local/share/minecproxy/%i/eula.txt +ConditionPathExists=%h/.local/share/minecproxy/%i/server.properties +ConditionPathExists=%h/.local/share/minecproxy/%i/server.jar [Service] Type=exec ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar --nogui -ExecStop=-/usr/bin/minecctl -c %E/minecproxy/config/ -f stop %i +ExecStop=-/usr/bin/minecctl -f stop %i # Optional: this will autogenerate new servers on the fly -# if this is used, comment out the ConditionPathExists checks above +# if this is used, comment out all the ConditionPathExists checks above #ExecStartPre=/usr/bin/minecctl new %i TimeoutStopSec=120 KillSignal=SIGCONT Restart=on-failure -WorkingDirectory=%E/minecproxy/servers/%i +WorkingDirectory=%h/.local/share/minecproxy/%i Nice=5 LimitCORE=0 NoNewPrivileges=true -KeyringMode=private +KeyringMode=privat PrivateUsers=true ProtectSystem=strict -ReadWritePaths=%E/minecproxy/servers/%i +ReadWritePaths=%h/.local/share/minecproxy/%i PrivateDevices=true ProtectKernelTunables=true ProtectControlGroups=true -- cgit v1.2.3