#
# 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
PrivateUsers=true 
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 -Xmx3072M -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=always

[Install]
WantedBy=multi-user.target