Bot Discord permettant de gérer des serveurs Minecraft via Docker Compose.
| Commande | Description |
|---|---|
/mc start <serveur> |
Démarrer un serveur Minecraft |
/mc stop <serveur> |
Arrêter un serveur Minecraft |
/mc list |
Afficher la liste des serveurs |
- Serveurs Minecraft sous forme de dossiers avec un fichier
docker-compose.ymlprésent, par exemple dans un dossier/services/minecraftServers/ - Docker et Docker Compose installés sur l’hôte
- Token d’un bot Discord avec les permissions nécessaires
git clone https://github.com/votre-utilisateur/discord-minecraft-manager.git
cd discord-minecraft-manager- Modifier la variable
SERVERS_PATHdans le fichierbot.jspour pointer vers le chemin monté dans le conteneur Docker, par exemple :
const SERVERS_PATH = '/services/minecraftServers';- S’assurer que les dossiers des serveurs existent à cet emplacement sur l’hôte, par exemple
/home/utilisateur/services/minecraftServers/minecraftvanilla
cp .env.example .envModifier .env pour y insérer le token Discord :
DISCORD_TOKEN=votre_token_discord
SERVERS_PATH=/services/minecraftServersnpm install
docker compose up -d
docker compose logs -f bot- Pour modifier la liste des serveurs pris en charge, éditer le tableau
SERVERSdansbot.js. - Pour changer le chemin racine des serveurs, modifier la variable
SERVERS_PATHdansbot.jset adapter le volume Docker dansdocker-compose.yml.
Un script bash peut être configuré pour lancer automatiquement l’arrêt des serveurs sans activité depuis plus de 48 heures.
- Installer le script
minecraft-autostop.sh(fourni dans le dépôt) dans/usr/local/bin/ - Ajouter une tâche cron pour lancer ce script toutes les 48 heures par exemple :
sudo crontab -ePuis ajouter :
0 3 */2 * * /usr/local/bin/minecraft-autostop.sh
| Problème | Solution possible |
|---|---|
docker: not found |
Monter le socket Docker dans le conteneur |
Erreur de chemin lors du cd |
Vérifier que le volume contenant les serveurs est bien monté et que les chemins sont corrects |
| Commandes slash indisponibles | Attendre jusqu’à 15 minutes ou redémarrer le bot |
| Permissions npm | Reconstruire l’image Docker en nettoyant le cache |
/home/utilisateur/services/minecraftServers/
├── minecraftrpg/docker-compose.yml
├── minecraftvanilla/docker-compose.yml
└── ...
- Aller sur https://discord.com/developers/applications
- Créer une nouvelle application et ajouter un bot
- Copier le token dans le fichier
.env - Inviter le bot dans un serveur Discord avec les permissions adéquates
- Suivre les logs du bot :
docker compose logs -f bot- Suivre les logs du script d’arrêt automatique :
tail -f /var/log/minecraft-autostop.log