# # 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=minecraft WorkingDirectory={{ minecraft_home }}/%i EnvironmentFile={{ minecraft_home }}/%i/env 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${JRE_XMS} -Xmx${JRE_XMX} -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 ${MC_RESTART_DELAY} Restart=always # Restart after 24hrs RuntimeMaxSecs=86400 [Install] WantedBy=multi-user.target