Minecraft Server Systemd Service - Pachwenko/my-docs GitHub Wiki
Auto start + stop minecraft server using systemd. Uses Screen to allow admin access
Copied from https://gist.github.com/justinjahn/4fe65b552b0622662420928cc8ffc7c0
Put this in /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Server
After=network.target
[Service]
WorkingDirectory=/home/minecraft/minecraft
KillMode=none
User=minecraft
Group=minecraft
Restart=always
ExecStart=/usr/bin/screen -DmS minecraft /usr/bin/bash /home/minecraft/minecraft/start.sh
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "say SERVER SHUTTING DOWN IN 15 SECONDS..."\015'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "say SERVER SHUTTING DOWN IN 10 SECONDS..."\015'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS..."\015'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "save-all"\015'
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "stop"\015'
[Install]
WantedBy=multi-user.target
Start and enable with:
sudo systemctl start minecraft
sudo systemctl enable minecraft
Access admin with screen -R mc-server