Ce bot Discord permet de gérer la whitelist et le contrôle d'un serveur Minecraft hébergé sur un VPS. https://valloic.dev/work
Go to file
2025-10-24 07:55:38 +02:00
src Final structur v1.0.0 2025-10-24 07:37:23 +02:00
.env.exemple Final structur v1.0.0 2025-10-24 07:37:23 +02:00
.gitignore Push structure 2025-10-21 02:13:56 +02:00
emojis.json.exemple Final structur v1.0.0 2025-10-24 07:37:23 +02:00
package-lock.json Push new structure / Add more features for managing minecraft server 2025-10-22 04:20:46 +02:00
package.json Push new structure / Add more features for managing minecraft server 2025-10-22 04:20:46 +02:00
README.md Edit README.md 2025-10-24 07:55:38 +02:00
start.js Push structure 2025-10-21 02:13:56 +02:00

Bot Discord - Gestion Serveur Minecraft

Ce bot Discord permet de gérer la whitelist et le contrôle d'un serveur Minecraft hébergé sur un VPS.

Important : Pour que le bot fonctionne correctement, il doit être hébergé sur le même serveur que le serveur Minecraft.

Fonctionnalités

  • Système de demande d'accès automatique avec bouton et gestion des rôles
  • Ajout et suppression de joueurs dans la whitelist avec récupération automatique de l'UUID
  • Rechargement automatique de la whitelist sur le serveur
  • Démarrage, arrêt, redémarrage du serveur Minecraft
  • Envoi de commandes directes au serveur via screen
  • Consultation des logs et sauvegarde du monde
  • Mise à jour automatique du statut serveur dans Discord
  • Interface personnalisable via emojis.json

Prérequis

  • Node.js v16 ou supérieur
  • Un serveur Minecraft (Fabric, Paper, Vanilla, etc.)
  • Un serveur Discord et un bot Discord
  • Accès sudo sur le VPS
  • Le bot et le serveur Minecraft doivent être sur la même machine

Installation

  1. Cloner le projet et installer les dépendances

    git clone <repo>
    cd mc-acces-bot
    npm install
    
  2. Configurer le fichier .env

    • Copiez .env.example en .env et remplissez toutes les variables selon votre configuration (token Discord, IDs, chemins, etc.)
    • Exemple :
      cp .env.example .env
      nano .env
      
  3. Configurer le fichier emojis.json

    • Copiez emojis.json.example en emojis.json et personnalisez les valeurs si besoin.
    • Exemple :
      cp emojis.json.example emojis.json
      nano emojis.json
      
  4. Lancer le bot

    node start.js
    

Utilisation

Démarrage

  • Le bot envoie automatiquement un message de demande d'accès dans le canal configuré.
  • Les utilisateurs peuvent cliquer sur le bouton pour demander l'accès et remplir leur pseudo Minecraft.
  • Le bot attribue le rôle "Waiter" à l'utilisateur et envoie la demande au staff.
  • Le staff peut accepter ou refuser la demande via des boutons.
  • Si accepté, le joueur est ajouté à la whitelist et reçoit le rôle "Verified".
  • Si refusé, le rôle "Waiter" est retiré.

Commandes administrateur

Seul l'utilisateur OWNER_ID peut utiliser ces commandes :

  • /minecraft list : Affiche la liste des joueurs whitelistés
  • /minecraft add <pseudo> : Ajoute un joueur à la whitelist
  • /minecraft remove <pseudo> : Retire un joueur de la whitelist
  • /minecraft reload : Recharge la whitelist sur le serveur
  • /minecraft status : Affiche le statut du serveur Minecraft
  • /minecraft start : Démarre le serveur Minecraft
  • /minecraft stop : Arrête le serveur Minecraft
  • /minecraft restart : Redémarre le serveur Minecraft
  • /minecraft logs [lines] : Affiche les logs du serveur
  • /minecraft command <cmd> : Envoie une commande au serveur
  • /minecraft backup : Sauvegarde le monde du serveur
  • /minecraft setup : Configure automatiquement le serveur pour le bot

Structure du projet

mc-acces-bot/
├── start.js
├── package.json
├── .env.example
├── .env
├── emojis.json.example
├── emojis.json
└── src/
    ├── commands/
    │   └── minecraft.js
    ├── events/
    │   └── ready.js
    ├── handlers/
    │   └── interactionHandler.js
    └── utils/
        ├── whitelistManager.js
        ├── minecraftServer.js
        ├── serverControlManager.js
        ├── autoMessageManager.js
        └── emojiManager.js

Configuration

  • .env.example contient toutes les variables à renseigner pour le bot et le serveur Minecraft.
  • emojis.json.example contient la structure des emojis personnalisés à utiliser dans les embeds Discord.
  • Adaptez les chemins, IDs et tokens à votre environnement.

Dépannage

  • Vérifiez que le bot et le serveur Minecraft sont sur la même machine.
  • Vérifiez les permissions sudo pour les commandes systemctl et screen.
  • Vérifiez que le fichier whitelist.json est accessible en lecture/écriture.
  • Consultez les logs du bot et du serveur Minecraft pour toute erreur.
  • Utilisez les scripts test-permissions.sh et diagnostic.sh pour vérifier la configuration système.

Notes importantes

  • Le bot doit avoir accès aux fichiers et dossiers du serveur Minecraft.
  • Les rôles Discord doivent être correctement configurés et renseignés dans .env.
  • Le serveur Minecraft doit être lancé via screen ou systemctl selon la configuration.
  • Les commandes envoyées par le bot utilisent la session screen existante.
  • Pour toute modification, redémarrez le bot pour appliquer la nouvelle configuration.

Support

En cas de problème :

  • Vérifiez les logs du bot et du serveur
  • Vérifiez la configuration des fichiers .env et emojis.json
  • Vérifiez les permissions système