summaryrefslogtreecommitdiff
path: root/examples/minecserver@.service
diff options
context:
space:
mode:
Diffstat (limited to 'examples/minecserver@.service')
-rw-r--r--examples/minecserver@.service37
1 files changed, 36 insertions, 1 deletions
diff --git a/examples/minecserver@.service b/examples/minecserver@.service
index e14ed81..bb72c5b 100644
--- a/examples/minecserver@.service
+++ b/examples/minecserver@.service
@@ -1 +1,36 @@
-This is an example service
+[Unit]
+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
+
+[Service]
+Type=exec
+ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar --nogui
+ExecStop=-/usr/bin/minecctl -c %E/minecproxy/config/ -f stop %i
+# Optional: this will autogenerate new servers on the fly
+# if this is used, comment out the ConditionPathExists checks above
+#ExecStartPre=/usr/bin/minecctl new %i
+TimeoutStopSec=120
+KillSignal=SIGCONT
+Restart=on-failure
+WorkingDirectory=%E/minecproxy/servers/%i
+Nice=5
+LimitCORE=0
+NoNewPrivileges=true
+KeyringMode=private
+PrivateUsers=true
+ProtectSystem=strict
+ReadWritePaths=%E/minecproxy/servers/%i
+PrivateDevices=true
+ProtectKernelTunables=true
+ProtectControlGroups=true
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+RestrictNamespaces=true
+LockPersonality=true
+RestrictSUIDSGID=true
+PrivateTmp=true