Edit README.md
This commit is contained in:
parent
8ffe6bc5d4
commit
2f3c8e04d2
505
README.md
505
README.md
@ -1,435 +1,136 @@
|
|||||||
# Bot Discord - Gestion Serveur Minecraft
|
# Bot Discord - Gestion Serveur Minecraft
|
||||||
|
|
||||||
Un bot Discord complet pour gérer la whitelist et le contrôle d'un serveur Minecraft hébergé sur VPS.
|
Ce bot Discord permet de gérer la whitelist et le contrôle d'un serveur Minecraft hébergé sur un VPS.
|
||||||
|
|
||||||
## 🚀 Fonctionnalités
|
**Important : Pour que le bot fonctionne correctement, il doit être hébergé sur le même serveur que le serveur Minecraft.**
|
||||||
|
|
||||||
### 🎯 Système de demandes d'accès automatique
|
|
||||||
- Message automatique avec bouton de demande d'accès
|
|
||||||
- Attribution automatique du rôle "En attente"
|
|
||||||
- Mise à jour du statut serveur toutes les 2 minutes
|
|
||||||
- Interface avec embeds et emojis personnalisés
|
|
||||||
|
|
||||||
### 👥 Gestion de la whitelist
|
|
||||||
- Ajout/suppression de joueurs avec récupération automatique d'UUID
|
|
||||||
- Rechargement automatique de la whitelist sur le serveur
|
|
||||||
- Liste des joueurs whitelistés
|
|
||||||
- Formatage correct des UUID pour Minecraft
|
|
||||||
|
|
||||||
### 🎮 Contrôle complet du serveur
|
|
||||||
- Démarrage/arrêt/redémarrage via systemctl
|
|
||||||
- Envoi de commandes directes au serveur
|
|
||||||
- Consultation des logs en temps réel
|
|
||||||
- Sauvegarde automatique du monde
|
|
||||||
- Vérification du statut en temps réel
|
|
||||||
|
|
||||||
### 🎨 Interface utilisateur
|
|
||||||
- Emojis personnalisés configurables
|
|
||||||
- Embeds Discord avec couleurs et formatage
|
|
||||||
- Messages d'erreur informatifs
|
|
||||||
- Gestion des permissions par propriétaire
|
|
||||||
|
|
||||||
## 📋 Prérequis
|
|
||||||
|
|
||||||
- **Node.js** v16+
|
|
||||||
- **Serveur Minecraft** configuré avec systemctl
|
|
||||||
- **Bot Discord** avec permissions appropriées
|
|
||||||
- **Accès sudo** sur le VPS (pour contrôle serveur)
|
|
||||||
|
|
||||||
## 🛠️ Installation
|
|
||||||
|
|
||||||
### 1. Sur votre VPS
|
|
||||||
```bash
|
|
||||||
# Cloner et installer (ou uploader vos fichiers)
|
|
||||||
cd /home/votre-user/bots/
|
|
||||||
# ... copier vos fichiers ici ...
|
|
||||||
cd mcgestionbot
|
|
||||||
npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Configuration automatique
|
|
||||||
```bash
|
|
||||||
# Génération automatique du .env
|
|
||||||
./configure.sh
|
|
||||||
|
|
||||||
# Éditer avec vos tokens Discord
|
|
||||||
nano .env
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. Lancement
|
|
||||||
```bash
|
|
||||||
# Le bot configure automatiquement tout au démarrage !
|
|
||||||
node start.js
|
|
||||||
```
|
|
||||||
|
|
||||||
**C'est tout ! 🎉** Le bot se charge de :
|
|
||||||
- ✅ Créer l'utilisateur `minecraft`
|
|
||||||
- ✅ Configurer les permissions
|
|
||||||
- ✅ Activer la whitelist dans server.properties
|
|
||||||
- ✅ Créer les dossiers nécessaires
|
|
||||||
- ✅ Configurer les sauvegardes
|
|
||||||
|
|
||||||
## 🎮 Utilisation
|
|
||||||
|
|
||||||
### Démarrage du bot
|
|
||||||
```bash
|
|
||||||
node start.js
|
|
||||||
```
|
|
||||||
|
|
||||||
### Commandes disponibles
|
|
||||||
|
|
||||||
#### `/minecraft` - Gestion du serveur (Owner only)
|
|
||||||
|
|
||||||
**Gestion whitelist :**
|
|
||||||
- `/minecraft list` - Liste des joueurs whitelistés
|
|
||||||
- `/minecraft add <pseudo>` - Ajouter un joueur
|
|
||||||
- `/minecraft remove <pseudo>` - Retirer un joueur
|
|
||||||
- `/minecraft reload` - Recharger la whitelist
|
|
||||||
|
|
||||||
**Contrôle serveur :**
|
|
||||||
- `/minecraft status` - Statut du serveur
|
|
||||||
- `/minecraft start` - Démarrer le serveur
|
|
||||||
- `/minecraft stop` - Arrêter le serveur
|
|
||||||
- `/minecraft restart` - Redémarrer le serveur
|
|
||||||
- `/minecraft logs [lines]` - Afficher les logs
|
|
||||||
- `/minecraft command <cmd>` - Envoyer une commande
|
|
||||||
- `/minecraft backup` - Sauvegarder le monde
|
|
||||||
- `/minecraft setup` - Configuration automatique du serveur
|
|
||||||
|
|
||||||
### Système de demandes automatique
|
|
||||||
|
|
||||||
Le bot gère automatiquement :
|
|
||||||
1. **Message persistant** dans le channel configuré
|
|
||||||
2. **Bouton de demande** toujours disponible
|
|
||||||
3. **Attribution du rôle** "En attente" automatique
|
|
||||||
4. **Mise à jour du statut** serveur toutes les 2 minutes
|
|
||||||
|
|
||||||
## 🎨 Personnalisation
|
|
||||||
|
|
||||||
### Emojis personnalisés
|
|
||||||
Modifiez `emojis.json` pour vos emojis :
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"online": "<:online:123456789>",
|
|
||||||
"offline": "<:offline:123456789>",
|
|
||||||
"addedWhitelist": "<:added:123456789>",
|
|
||||||
"removedWhitelist": "<:removed:123456789>",
|
|
||||||
"success": "✅",
|
|
||||||
"error": "❌",
|
|
||||||
"info": "ℹ️"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🔧 Dépannage
|
|
||||||
|
|
||||||
### Problèmes courants
|
|
||||||
|
|
||||||
**1. "Command not found" node**
|
|
||||||
```bash
|
|
||||||
# Installer Node.js
|
|
||||||
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
|
|
||||||
sudo apt-get install -y nodejs
|
|
||||||
```
|
|
||||||
|
|
||||||
**2. "Permission denied" systemctl**
|
|
||||||
```bash
|
|
||||||
# Configurer sudo
|
|
||||||
sudo ./setup-sudo.sh
|
|
||||||
./test-permissions.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**3. "Whitelist not enforced"**
|
|
||||||
```bash
|
|
||||||
# Vérifier server.properties
|
|
||||||
grep "enforce-whitelist" /opt/minecraft/server/server.properties
|
|
||||||
# Doit être : enforce-whitelist=true
|
|
||||||
```
|
|
||||||
|
|
||||||
**4. "UUID format incorrect"**
|
|
||||||
- Le bot formate automatiquement les UUID
|
|
||||||
- Utilise l'API Mojang pour récupérer les UUID
|
|
||||||
|
|
||||||
### Logs et debug
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Logs du bot
|
|
||||||
node start.js
|
|
||||||
|
|
||||||
# Logs du serveur Minecraft
|
|
||||||
sudo journalctl -u minecraft -f
|
|
||||||
|
|
||||||
# Test des permissions
|
|
||||||
./test-permissions.sh
|
|
||||||
|
|
||||||
# Test de la whitelist
|
|
||||||
node test-whitelist.js
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📁 Structure du projet
|
|
||||||
|
|
||||||
```
|
|
||||||
mc-acces-bot/
|
|
||||||
├── start.js # Point d'entrée
|
|
||||||
├── package.json # Dépendances
|
|
||||||
├── .env # Configuration
|
|
||||||
├── emojis.json # Emojis personnalisés
|
|
||||||
├── setup-sudo.sh # Config permissions
|
|
||||||
├── test-permissions.sh # Test sudo
|
|
||||||
└── src/
|
|
||||||
├── commands/
|
|
||||||
│ └── minecraft.js # Commandes serveur
|
|
||||||
├── events/
|
|
||||||
│ ├── ready.js # Démarrage bot
|
|
||||||
│ └── interactionCreate.js # Gestion interactions
|
|
||||||
├── handlers/
|
|
||||||
│ └── interactionHandler.js # Boutons/modals
|
|
||||||
└── utils/
|
|
||||||
├── whitelistManager.js # Gestion whitelist
|
|
||||||
├── minecraftServer.js # Statut serveur
|
|
||||||
├── serverControlManager.js # Contrôle VPS
|
|
||||||
├── autoMessageManager.js # Messages auto
|
|
||||||
└── emojiManager.js # Gestion emojis
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🚀 Déploiement en production
|
|
||||||
|
|
||||||
### Avec PM2 (recommandé)
|
|
||||||
```bash
|
|
||||||
# Installer PM2
|
|
||||||
npm install -g pm2
|
|
||||||
|
|
||||||
# Démarrer le bot
|
|
||||||
pm2 start start.js --name "mc-bot"
|
|
||||||
|
|
||||||
# Configurer auto-start
|
|
||||||
pm2 startup
|
|
||||||
pm2 save
|
|
||||||
```
|
|
||||||
|
|
||||||
### Avec systemctl
|
|
||||||
```bash
|
|
||||||
# Créer le service
|
|
||||||
sudo nano /etc/systemd/system/mc-bot.service
|
|
||||||
|
|
||||||
# Contenu :
|
|
||||||
[Unit]
|
|
||||||
Description=Minecraft Discord Bot
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
User=loicv
|
|
||||||
WorkingDirectory=/home/loicv/Documents/Wors/mc-acces-bot
|
|
||||||
ExecStart=/usr/bin/node start.js
|
|
||||||
Restart=always
|
|
||||||
Environment=NODE_ENV=production
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
|
|
||||||
# Activer le service
|
|
||||||
sudo systemctl enable mc-bot
|
|
||||||
sudo systemctl start mc-bot
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📝 Notes importantes
|
|
||||||
|
|
||||||
- **Sécurité :** Le bot a accès sudo - utilisez uniquement sur un serveur dédié
|
|
||||||
- **Permissions :** Seul le propriétaire (OWNER_ID) peut utiliser les commandes
|
|
||||||
- **Backup :** Les sauvegardes sont stockées dans `/opt/minecraft/backups/`
|
|
||||||
- **Logs :** Tous les logs sont visibles via `journalctl` et dans Discord
|
|
||||||
|
|
||||||
## 🤝 Support
|
|
||||||
|
|
||||||
En cas de problème :
|
|
||||||
1. Vérifiez les logs : `sudo journalctl -u minecraft -f`
|
|
||||||
2. Testez les permissions : `./test-permissions.sh`
|
|
||||||
3. Vérifiez la configuration : fichier `.env` complet
|
|
||||||
4. Validez le service : `sudo systemctl status minecraft`
|
|
||||||
|
|
||||||
## Fonctionnalités
|
## Fonctionnalités
|
||||||
|
|
||||||
### 🎮 Système de demande d'accès
|
- Système de demande d'accès automatique avec bouton et gestion des rôles
|
||||||
- **Message simple automatique** avec bouton pour demander l'accès
|
- Ajout et suppression de joueurs dans la whitelist avec récupération automatique de l'UUID
|
||||||
- **Embed de status du serveur** mis à jour automatiquement toutes les 2 minutes
|
- Rechargement automatique de la whitelist sur le serveur
|
||||||
- Modal pour saisir le pseudo Minecraft
|
- Démarrage, arrêt, redémarrage du serveur Minecraft
|
||||||
- **Attribution automatique du rôle "Waiter"** lors de la demande
|
- Envoi de commandes directes au serveur via screen
|
||||||
- Vérification automatique si le joueur est déjà whitelisté
|
- Consultation des logs et sauvegarde du monde
|
||||||
- Envoi de la demande au canal staff avec boutons Accept/Refuse
|
- Mise à jour automatique du statut serveur dans Discord
|
||||||
- **Gestion automatique des rôles** : Verified (accepté) ou suppression du Waiter (refusé)
|
- Interface personnalisable via emojis.json
|
||||||
- **Emojis personnalisés** pour tous les messages
|
|
||||||
|
|
||||||
### ⚙️ Commandes administrateur
|
## Prérequis
|
||||||
- `/minecraft list` - Affiche la liste des joueurs whitelistés
|
|
||||||
- `/minecraft add <pseudo>` - Ajoute un joueur à la whitelist
|
- Node.js v16 ou supérieur
|
||||||
- `/minecraft remove <pseudo>` - Retire un joueur de la whitelist
|
- Un serveur Minecraft (Fabric, Paper, Vanilla, etc.)
|
||||||
- `/minecraft status` - Affiche le statut du serveur Minecraft
|
- Un serveur Discord et un bot Discord
|
||||||
- `/minecraft reload` - Instructions pour recharger la whitelist sur le serveur
|
- Accès sudo sur le VPS
|
||||||
- `/setup-access` - Envoie le message de demande d'accès (facultatif)
|
- Le bot et le serveur Minecraft doivent être sur la même machine
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. **Cloner le projet et installer les dépendances :**
|
1. **Cloner le projet et installer les dépendances**
|
||||||
```bash
|
```bash
|
||||||
npm install
|
git clone <repo>
|
||||||
```
|
cd mc-acces-bot
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
2. **Configurer le fichier .env :**
|
2. **Configurer le fichier .env**
|
||||||
Assurez-vous que votre fichier `.env` contient toutes les variables nécessaires :
|
- Copiez `.env.example` en `.env` et remplissez toutes les variables selon votre configuration (token Discord, IDs, chemins, etc.)
|
||||||
```env
|
- Exemple :
|
||||||
TOKEN=votre_token_bot_discord
|
```bash
|
||||||
CLIENT_ID=id_du_bot
|
cp .env.example .env
|
||||||
OWNER_ID=votre_id_discord
|
nano .env
|
||||||
|
```
|
||||||
|
|
||||||
SUPPORT_SERVER_ID=id_du_serveur_discord
|
3. **Configurer le fichier emojis.json**
|
||||||
CHANNEL_REQUEST_ACCESS_ID=id_canal_demandes_publiques
|
- Copiez `emojis.json.example` en `emojis.json` et personnalisez les valeurs si besoin.
|
||||||
CHANNEL_ACCESS_STAFF_REQUESTS_ID=id_canal_staff_demandes
|
- Exemple :
|
||||||
|
```bash
|
||||||
|
cp emojis.json.example emojis.json
|
||||||
|
nano emojis.json
|
||||||
|
```
|
||||||
|
|
||||||
ROLE_WAITER_ID=id_role_attente
|
4. **Lancer le bot**
|
||||||
ROLE_VERIFIED_ID=id_role_verifie
|
```bash
|
||||||
ROLE_ADMIN_ID=id_role_admin
|
node start.js
|
||||||
|
```
|
||||||
|
|
||||||
MINECRAFT_SERVER_IP=adresse:port
|
## Utilisation
|
||||||
MINECRAFT_WHITELIST_PATH=/chemin/vers/whitelist.json
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Lancer le bot :**
|
### Démarrage
|
||||||
```bash
|
|
||||||
npm start
|
|
||||||
```
|
|
||||||
|
|
||||||
Pour le développement :
|
- Le bot envoie automatiquement un message de demande d'accès dans le canal configuré.
|
||||||
```bash
|
- Les utilisateurs peuvent cliquer sur le bouton pour demander l'accès et remplir leur pseudo Minecraft.
|
||||||
npm run dev
|
- 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é.
|
||||||
|
|
||||||
Pour tester le formatage UUID :
|
### Commandes administrateur
|
||||||
```bash
|
|
||||||
npm run test-uuid
|
|
||||||
```
|
|
||||||
|
|
||||||
Pour tester la connexion au serveur Minecraft :
|
Seul l'utilisateur OWNER_ID peut utiliser ces commandes :
|
||||||
```bash
|
|
||||||
npm run test-server
|
|
||||||
```
|
|
||||||
|
|
||||||
Pour tester la whitelist :
|
- `/minecraft list` : Affiche la liste des joueurs whitelistés
|
||||||
```bash
|
- `/minecraft add <pseudo>` : Ajoute un joueur à la whitelist
|
||||||
npm run test-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
|
## Structure du projet
|
||||||
|
|
||||||
```
|
```
|
||||||
├── start.js # Point d'entrée principal
|
mc-acces-bot/
|
||||||
├── emojis.json # Configuration des emojis personnalisés
|
├── start.js
|
||||||
├── src/
|
├── package.json
|
||||||
│ ├── commands/
|
├── .env.example
|
||||||
│ │ ├── minecraft.js # Commandes /minecraft
|
├── .env
|
||||||
│ │ └── setup-access.js # Commande /setup-access
|
├── emojis.json.example
|
||||||
│ ├── events/
|
├── emojis.json
|
||||||
│ │ └── ready.js # Événement de démarrage
|
└── src/
|
||||||
│ ├── handlers/
|
├── commands/
|
||||||
│ │ ├── commandHandler.js # Chargeur de commandes
|
│ └── minecraft.js
|
||||||
│ │ ├── eventHandler.js # Chargeur d'événements
|
├── events/
|
||||||
│ │ └── interactionHandler.js # Gestionnaire d'interactions
|
│ └── ready.js
|
||||||
│ └── utils/
|
├── handlers/
|
||||||
│ ├── accessRequestManager.js # Gestionnaire de demandes d'accès
|
│ └── interactionHandler.js
|
||||||
│ ├── emojiManager.js # Gestionnaire d'emojis personnalisés
|
└── utils/
|
||||||
│ ├── roleManager.js # Gestionnaire de rôles Discord
|
├── whitelistManager.js
|
||||||
│ ├── minecraftServer.js # Utilitaires serveur Minecraft
|
├── minecraftServer.js
|
||||||
│ └── whitelistManager.js # Gestionnaire de whitelist
|
├── serverControlManager.js
|
||||||
|
├── autoMessageManager.js
|
||||||
|
└── emojiManager.js
|
||||||
```
|
```
|
||||||
|
|
||||||
## Utilisation
|
## Configuration
|
||||||
|
|
||||||
### Configuration initiale
|
- `.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.
|
||||||
1. **Inviter le bot sur votre serveur** avec les permissions nécessaires
|
- Adaptez les chemins, IDs et tokens à votre environnement.
|
||||||
2. **Le message de demande d'accès est envoyé automatiquement** au démarrage dans le canal configuré
|
|
||||||
3. **Configurer les rôles** dans votre serveur Discord selon les IDs dans le `.env`
|
|
||||||
|
|
||||||
> ⚠️ **Note :** Il n'est plus nécessaire d'utiliser `/setup-access` manuellement. Le bot gère automatiquement l'envoi et la mise à jour du message de demande d'accès.
|
|
||||||
|
|
||||||
### Workflow des demandes
|
|
||||||
|
|
||||||
1. **Utilisateur :** Clique sur le bouton "Demander l'accès"
|
|
||||||
2. **Système :** Attribue automatiquement le rôle "Waiter" à l'utilisateur
|
|
||||||
3. **Utilisateur :** Remplit le modal avec son pseudo Minecraft
|
|
||||||
4. **Système :** Vérifie si le joueur est déjà whitelisté
|
|
||||||
5. **Système :** Envoie la demande au canal staff avec emojis personnalisés
|
|
||||||
6. **Staff :** Clique sur "Accepter" ou "Refuser"
|
|
||||||
7. **Système (si accepté) :** Ajoute le joueur à la whitelist + donne le rôle "Verified" + retire le rôle "Waiter"
|
|
||||||
8. **Système (si refusé) :** Retire simplement le rôle "Waiter"
|
|
||||||
9. **Système :** Notifie l'utilisateur par MP avec les emojis appropriés
|
|
||||||
|
|
||||||
### Commandes administrateur
|
|
||||||
|
|
||||||
Seul l'OWNER_ID peut utiliser les commandes `/minecraft` :
|
|
||||||
|
|
||||||
- **Lister les joueurs :** `/minecraft list`
|
|
||||||
- **Ajouter un joueur :** `/minecraft add pseudo:NomDuJoueur`
|
|
||||||
- **Retirer un joueur :** `/minecraft remove pseudo:NomDuJoueur`
|
|
||||||
- **Status du serveur :** `/minecraft status`
|
|
||||||
|
|
||||||
## Permissions requises
|
|
||||||
|
|
||||||
Le bot a besoin des permissions Discord suivantes :
|
|
||||||
- `Send Messages` - Envoyer des messages
|
|
||||||
- `Use Slash Commands` - Utiliser les commandes slash
|
|
||||||
- `Embed Links` - Incorporer des liens
|
|
||||||
- `Manage Messages` - Gérer les messages
|
|
||||||
- `Read Message History` - Lire l'historique des messages
|
|
||||||
- `Manage Roles` - Gérer les rôles (pour attribuer Waiter/Verified)
|
|
||||||
|
|
||||||
## Configuration des rôles
|
|
||||||
|
|
||||||
Assurez-vous que ces rôles existent sur votre serveur Discord :
|
|
||||||
- **Rôle Waiter** (`ROLE_WAITER_ID`) : Attribué automatiquement lors d'une demande
|
|
||||||
- **Rôle Verified** (`ROLE_VERIFIED_ID`) : Attribué quand l'accès est accepté
|
|
||||||
- **Rôle Admin** (`ROLE_ADMIN_ID`) : Requis pour traiter les demandes d'accès
|
|
||||||
|
|
||||||
## Notes importantes
|
|
||||||
|
|
||||||
- Le fichier `whitelist.json` doit être accessible en lecture/écriture
|
|
||||||
- Le serveur Minecraft doit être accessible pour la vérification du statut
|
|
||||||
- Les IDs Discord dans le `.env` doivent être valides
|
|
||||||
- Le bot vérifie automatiquement les pseudos via l'API Mojang
|
|
||||||
|
|
||||||
## Dépannage
|
## Dépannage
|
||||||
|
|
||||||
### Le bot ne répond pas aux commandes
|
- Vérifiez que le bot et le serveur Minecraft sont sur la même machine.
|
||||||
- Vérifiez que le TOKEN est correct
|
- Vérifiez les permissions sudo pour les commandes systemctl et screen.
|
||||||
- Vérifiez que les permissions sont accordées
|
- Vérifiez que le fichier `whitelist.json` est accessible en lecture/écriture.
|
||||||
- Consultez les logs dans la console
|
- 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.
|
||||||
|
|
||||||
### Erreurs de whitelist
|
## Notes importantes
|
||||||
- Vérifiez le chemin vers `whitelist.json`
|
|
||||||
- Vérifiez les permissions de fichier
|
|
||||||
- Assurez-vous que le format JSON est valide
|
|
||||||
|
|
||||||
### Problèmes d'UUID
|
- Le bot doit avoir accès aux fichiers et dossiers du serveur Minecraft.
|
||||||
- Les UUIDs sont automatiquement formatés au bon format (avec tirets)
|
- Les rôles Discord doivent être correctement configurés et renseignés dans `.env`.
|
||||||
- Si un joueur n'est pas trouvé, vérifiez que le pseudo existe sur Minecraft
|
- Le serveur Minecraft doit être lancé via screen ou systemctl selon la configuration.
|
||||||
- Utilisez `npm run test-uuid` pour tester le formatage
|
- Les commandes envoyées par le bot utilisent la session screen existante.
|
||||||
- Format attendu: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
|
- Pour toute modification, redémarrez le bot pour appliquer la nouvelle configuration.
|
||||||
|
|
||||||
### Problèmes de serveur Minecraft
|
## Support
|
||||||
- Vérifiez que l'adresse IP et le port sont corrects
|
|
||||||
- Assurez-vous que le serveur est en ligne
|
|
||||||
- Vérifiez les paramètres du pare-feu
|
|
||||||
- Utilisez `npm run test-server` pour tester la connexion
|
|
||||||
- Le timeout de connexion est de 10 secondes
|
|
||||||
|
|
||||||
### Messages automatiques
|
En cas de problème :
|
||||||
- Le message de demande d'accès est envoyé automatiquement au démarrage
|
- Vérifiez les logs du bot et du serveur
|
||||||
- Les anciens messages sont supprimés automatiquement
|
- Vérifiez la configuration des fichiers `.env` et `emojis.json`
|
||||||
- Un seul message actif est maintenu par canal
|
- Vérifiez les permissions système
|
||||||
- **Le status du serveur se met à jour automatiquement toutes les 2 minutes**
|
|
||||||
|
|
||||||
### Configuration serveur Minecraft
|
|
||||||
- Assurez-vous que `white-list=true` dans server.properties
|
|
||||||
- **IMPORTANT**: `enforce-whitelist=true` doit être activé pour que la whitelist soit appliquée
|
|
||||||
- Utilisez `/whitelist reload` dans la console serveur après modifications
|
|
||||||
- Ou utilisez la commande `/minecraft reload` du bot pour avoir les instructions
|
|
||||||
Loading…
Reference in New Issue
Block a user