38 lines
1.0 KiB
SYSTEMD
38 lines
1.0 KiB
SYSTEMD
|
#
|
||
|
# Licensed under the terms of the MIT license
|
||
|
# Source: https://github.com/agowa338/MinecraftSystemdUnit/
|
||
|
# vim:ft=dosini:
|
||
|
#
|
||
|
|
||
|
[Unit]
|
||
|
Description=Minecraft Server %i
|
||
|
After=network.target
|
||
|
|
||
|
[Service]
|
||
|
User=minecraft
|
||
|
Group=mc-admin
|
||
|
WorkingDirectory=/var/minecraft/%i
|
||
|
# Hide other users from unit
|
||
|
PrivateUsers=true
|
||
|
# Read only mapping of /usr /boot and /etc
|
||
|
ProtectSystem=full
|
||
|
ProtectHome=true
|
||
|
# Implies MountFlags=slave
|
||
|
ProtectKernelTunables=true
|
||
|
# Implies NoNewPrivileges=yes
|
||
|
ProtectKernelModules=true
|
||
|
# Implies MountAPIVFS=yes
|
||
|
ProtectControlGroups=true
|
||
|
|
||
|
ExecStart=/bin/sh -c '/usr/bin/screen -DmS mc-%i /usr/bin/java -Xms512M -Xmx2048M -jar server.jar nogui'
|
||
|
|
||
|
ExecReload=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "reload"\\015'
|
||
|
|
||
|
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say Server is going down: Service was stopped"\\015'
|
||
|
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"\\015'
|
||
|
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"\\015'
|
||
|
ExecStop=/bin/sleep 10
|
||
|
|
||
|
Restart=on-failure
|
||
|
RestartSec=60s
|