194 lines
4.9 KiB
Django/Jinja
194 lines
4.9 KiB
Django/Jinja
#!/bin/bash
|
|
# {{ ansible_managed }}
|
|
# Script de commandes utiles pour Minecraft
|
|
|
|
MCRCON="{{ minecraft_tools_dir }}/mcrcon"
|
|
RCON_HOST="localhost"
|
|
RCON_PORT="{{ rcon_port }}"
|
|
RCON_PASS="{{ rcon_password }}"
|
|
|
|
# Fonction d'exécution RCON
|
|
rcon() {
|
|
$MCRCON -H $RCON_HOST -P $RCON_PORT -p "$RCON_PASS" "$@"
|
|
}
|
|
|
|
# Commandes disponibles
|
|
case "$1" in
|
|
say)
|
|
shift
|
|
rcon "say $@"
|
|
;;
|
|
|
|
list)
|
|
rcon "list"
|
|
;;
|
|
|
|
save)
|
|
echo "Sauvegarde du monde..."
|
|
rcon "save-all flush"
|
|
echo "Sauvegarde terminée"
|
|
;;
|
|
|
|
whitelist-add)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 whitelist-add <joueur>"
|
|
exit 1
|
|
fi
|
|
rcon "whitelist add $2"
|
|
;;
|
|
|
|
whitelist-remove)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 whitelist-remove <joueur>"
|
|
exit 1
|
|
fi
|
|
rcon "whitelist remove $2"
|
|
;;
|
|
|
|
whitelist-list)
|
|
rcon "whitelist list"
|
|
;;
|
|
|
|
ban)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 ban <joueur> [raison]"
|
|
exit 1
|
|
fi
|
|
shift
|
|
rcon "ban $@"
|
|
;;
|
|
|
|
unban)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 unban <joueur>"
|
|
exit 1
|
|
fi
|
|
rcon "pardon $2"
|
|
;;
|
|
|
|
kick)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 kick <joueur> [raison]"
|
|
exit 1
|
|
fi
|
|
shift
|
|
rcon "kick $@"
|
|
;;
|
|
|
|
op)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 op <joueur>"
|
|
exit 1
|
|
fi
|
|
rcon "op $2"
|
|
;;
|
|
|
|
deop)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 deop <joueur>"
|
|
exit 1
|
|
fi
|
|
rcon "deop $2"
|
|
;;
|
|
|
|
tp)
|
|
if [ -z "$3" ]; then
|
|
echo "Usage: $0 tp <joueur1> <joueur2>"
|
|
exit 1
|
|
fi
|
|
rcon "tp $2 $3"
|
|
;;
|
|
|
|
gamemode)
|
|
if [ -z "$3" ]; then
|
|
echo "Usage: $0 gamemode <mode> <joueur>"
|
|
echo "Modes: survival, creative, adventure, spectator"
|
|
exit 1
|
|
fi
|
|
rcon "gamemode $2 $3"
|
|
;;
|
|
|
|
time)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 time <set|add> <valeur>"
|
|
exit 1
|
|
fi
|
|
shift
|
|
rcon "time $@"
|
|
;;
|
|
|
|
weather)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 weather <clear|rain|thunder> [durée]"
|
|
exit 1
|
|
fi
|
|
shift
|
|
rcon "weather $@"
|
|
;;
|
|
|
|
difficulty)
|
|
if [ -z "$2" ]; then
|
|
echo "Usage: $0 difficulty <peaceful|easy|normal|hard>"
|
|
exit 1
|
|
fi
|
|
rcon "difficulty $2"
|
|
;;
|
|
|
|
give)
|
|
if [ -z "$3" ]; then
|
|
echo "Usage: $0 give <joueur> <item> [quantité]"
|
|
exit 1
|
|
fi
|
|
shift
|
|
rcon "give $@"
|
|
;;
|
|
|
|
reload)
|
|
echo "Rechargement de la configuration..."
|
|
rcon "reload"
|
|
echo "Configuration rechargée"
|
|
;;
|
|
|
|
stop)
|
|
echo "Arrêt du serveur..."
|
|
rcon "stop"
|
|
;;
|
|
|
|
console)
|
|
# Mode console interactif
|
|
echo "Mode console RCON (tapez 'exit' pour quitter)"
|
|
while true; do
|
|
read -p "minecraft> " cmd
|
|
if [ "$cmd" = "exit" ]; then
|
|
break
|
|
fi
|
|
rcon "$cmd"
|
|
done
|
|
;;
|
|
|
|
*)
|
|
echo "Commandes Minecraft disponibles:"
|
|
echo ""
|
|
echo " $0 say <message> - Envoyer un message à tous"
|
|
echo " $0 list - Liste des joueurs connectés"
|
|
echo " $0 save - Sauvegarder le monde"
|
|
echo " $0 whitelist-add <joueur> - Ajouter à la whitelist"
|
|
echo " $0 whitelist-remove <joueur> - Retirer de la whitelist"
|
|
echo " $0 whitelist-list - Afficher la whitelist"
|
|
echo " $0 ban <joueur> [raison] - Bannir un joueur"
|
|
echo " $0 unban <joueur> - Débannir un joueur"
|
|
echo " $0 kick <joueur> [raison] - Expulser un joueur"
|
|
echo " $0 op <joueur> - Donner les droits OP"
|
|
echo " $0 deop <joueur> - Retirer les droits OP"
|
|
echo " $0 tp <joueur1> <joueur2> - Téléporter un joueur"
|
|
echo " $0 gamemode <mode> <joueur> - Changer le mode de jeu"
|
|
echo " $0 time <set|add> <valeur> - Gérer le temps"
|
|
echo " $0 weather <type> [durée] - Changer la météo"
|
|
echo " $0 difficulty <niveau> - Changer la difficulté"
|
|
echo " $0 give <joueur> <item> [qty] - Donner des objets"
|
|
echo " $0 reload - Recharger la configuration"
|
|
echo " $0 stop - Arrêter le serveur"
|
|
echo " $0 console - Mode console interactif"
|
|
exit 1
|
|
;;
|
|
esac |