[Unit] Description=Minecraft Server: %i After=network.target [Service] SuccessExitStatus=0 1 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true PrivateTmp=true InaccessibleDirectories=/root /sys /srv /media -/lost+found ReadWriteDirectories=/opt/minecraft/%i WorkingDirectory=/opt/minecraft/%i User=minecraft Group=minecraft Restart=always StartLimitIntervalSec=10 StartLimitBurst=1 EnvironmentFile=/opt/minecraft/servers/%i/.env ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx${MEMORY} -Xms${MEMORY} -jar server.jar nogui ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 15 SECONDS..."\015' ExecStop=/bin/sleep 5 ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 10 SECONDS..."\015' ExecStop=/bin/sleep 5 ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS..."\015' ExecStop=/bin/sleep 5 ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER IS SHUTTING DOWN NOW!!!"\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' [Install] WantedBy=multi-user.target