39 lines
842 B
Django/Jinja
39 lines
842 B
Django/Jinja
#!/bin/bash
|
|
# {{ ansible_managed }}
|
|
|
|
MCRCON="{{ minecraft_tools_dir }}/mcrcon"
|
|
RCON_HOST="localhost"
|
|
RCON_PORT="{{ rcon_port }}"
|
|
RCON_PASS="{{ rcon_password }}"
|
|
|
|
# Fonction pour envoyer des commandes au serveur
|
|
send_command() {
|
|
$MCRCON -H $RCON_HOST -P $RCON_PORT -p "$RCON_PASS" "$1"
|
|
}
|
|
|
|
# Avertir les joueurs
|
|
echo "Avertissement des joueurs..."
|
|
send_command "say Le serveur va redémarrer dans 60 secondes!"
|
|
sleep 30
|
|
|
|
send_command "say Le serveur va redémarrer dans 30 secondes!"
|
|
sleep 20
|
|
|
|
send_command "say Le serveur va redémarrer dans 10 secondes!"
|
|
sleep 5
|
|
|
|
for i in 5 4 3 2 1; do
|
|
send_command "say Arrêt dans $i..."
|
|
sleep 1
|
|
done
|
|
|
|
# Sauvegarder le monde
|
|
echo "Sauvegarde du monde..."
|
|
send_command "save-all"
|
|
sleep 5
|
|
|
|
# Arrêter le serveur
|
|
echo "Arrêt du serveur..."
|
|
send_command "stop"
|
|
|
|
echo "Serveur arrêté proprement." |