# # 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 [Install] WantedBy=multi-user.target