# # 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 %i /usr/bin/java -Xms{{ mcheapmin }}M -Xmx{{ mcheapmax }}M -jar server.jar nogui' ExecReload=/usr/bin/screen -p 0 -S %i -X eval 'stuff "reload"\\015' ExecStop=/usr/bin/screen -p 0 -S %i -X eval 'stuff "say Server is going down: Service was stopped"\\015' ExecStop=/usr/bin/screen -p 0 -S %i -X eval 'stuff "save-all"\\015' ExecStop=/usr/bin/screen -p 0 -S %i -X eval 'stuff "stop"\\015' ExecStop=/bin/sleep 5 Restart=always # Restart after 24hrs RuntimeMaxSecs=86400 [Install] WantedBy=multi-user.target