33 lines
725 B
Bash
33 lines
725 B
Bash
|
|
#!/bin/bash
|
||
|
|
# Scheduled server restart with player warnings
|
||
|
|
|
||
|
|
RCON_PASS="23991818cc169249f181436f2a29a013"
|
||
|
|
|
||
|
|
send_rcon() {
|
||
|
|
node -e "
|
||
|
|
const { Rcon } = require('/home/minecraft/dashboard/node_modules/rcon-client');
|
||
|
|
(async () => {
|
||
|
|
try {
|
||
|
|
const rcon = await Rcon.connect({ host: '127.0.0.1', port: 25575, password: '$RCON_PASS' });
|
||
|
|
await rcon.send('say $1');
|
||
|
|
rcon.end();
|
||
|
|
} catch {}
|
||
|
|
})();
|
||
|
|
"
|
||
|
|
}
|
||
|
|
|
||
|
|
# 5 minute warning
|
||
|
|
send_rcon '§c[Server] Restarting in 5 minutes!'
|
||
|
|
sleep 240
|
||
|
|
|
||
|
|
# 1 minute warning
|
||
|
|
send_rcon '§c[Server] Restarting in 1 minute!'
|
||
|
|
sleep 50
|
||
|
|
|
||
|
|
# 10 second warning
|
||
|
|
send_rcon '§c[Server] Restarting in 10 seconds!'
|
||
|
|
sleep 10
|
||
|
|
|
||
|
|
# Restart
|
||
|
|
sudo systemctl restart minecraft.service
|