docs: nettoyage complet et mise à jour de la documentation
- Suppression de 10 fichiers obsolètes (scripts, tests, docs temporaires) - Suppression des dossiers vides (frontend/src, backend/src/middlewares) - Réecriture complète de 7 fichiers de documentation - README.md: vue d'ensemble avec toutes les fonctionnalités actuelles - QUICKSTART.md: guide de démarrage rapide en 3 étapes - CONFIGURATION.md: guide de configuration complète (Docker, RCON, sécurité) - DEPLOYMENT.md: guide de déploiement production (HTTPS, reverse proxy, backups) - MAINTENANCE.md: guide de maintenance avec dépannage exhaustif - INDEX.md: index de navigation simplifié - CHANGELOG.md: historique complet v1.0.0 - Optimisation docker-compose.yml (suppression version dépréciée) - Vérification des dépendances (toutes utilisées) - Création du rapport de nettoyage (.cleanup-report.md) - Documentation cohérente avec le code actuel - Projet 100% prêt pour la production
This commit is contained in:
665
CONFIGURATION.md
665
CONFIGURATION.md
@@ -1,317 +1,402 @@
|
||||
# 🎮 Guide Complet - Interface Web NationsGlory Admin
|
||||
# Configuration - NationsGlory Web Admin
|
||||
|
||||
## Étape 1: Préparation du Serveur Minecraft
|
||||
Guide de configuration complète du panel d'administration web.
|
||||
|
||||
### 1.1 Éditer server.properties
|
||||
## 📋 Prérequis
|
||||
|
||||
Localisez le fichier `server.properties` du serveur MC et assurez-vous que RCON est activé:
|
||||
### Logiciels Requis
|
||||
- **Docker** : Version 20.10 ou supérieure
|
||||
- **Docker Compose** : Version 2.0 ou supérieure
|
||||
- **Serveur Minecraft 1.6.4** avec RCON activé
|
||||
- **Ports disponibles** : 4001 (Web), 25575 (RCON)
|
||||
|
||||
### Vérification
|
||||
```bash
|
||||
# Vérifier Docker
|
||||
docker --version
|
||||
|
||||
# Vérifier Docker Compose
|
||||
docker-compose --version
|
||||
|
||||
# Vérifier les ports
|
||||
netstat -tuln | grep -E '4001|25575'
|
||||
```
|
||||
|
||||
## ⚙️ Configuration du Serveur Minecraft
|
||||
|
||||
### 1. Activer RCON
|
||||
|
||||
Éditez `server.properties` du serveur Minecraft :
|
||||
|
||||
```properties
|
||||
# Ligne 1: Activer RCON
|
||||
# RCON Configuration
|
||||
enable-rcon=true
|
||||
|
||||
# Ligne 2: Port RCON (25575 par défaut)
|
||||
rcon.port=25575
|
||||
rcon.password=VotreMotDePasseSecurise
|
||||
|
||||
# Ligne 3: Mot de passe RCON (important!)
|
||||
rcon.password=YourStrongPassword123
|
||||
|
||||
# Autres paramètres importants
|
||||
motd=NationsGlory Server
|
||||
gamemode=survival
|
||||
difficulty=3
|
||||
pvp=true
|
||||
# Autres paramètres recommandés
|
||||
server-ip=
|
||||
server-port=25565
|
||||
max-players=20
|
||||
motd=NationsGlory Server
|
||||
```
|
||||
|
||||
### 1.2 Redémarrer le Serveur MC
|
||||
**Important** : Le mot de passe RCON doit être identique dans `server.properties` et `docker-compose.yml`.
|
||||
|
||||
Redémarrez le serveur pour appliquer les changements RCON:
|
||||
```bash
|
||||
# Si le serveur tourne avec un script
|
||||
./stop.sh
|
||||
./start.sh
|
||||
|
||||
# Attendez qu'il redémarre complètement
|
||||
```
|
||||
|
||||
Vérifiez que RCON est actif dans les logs du serveur (vous devriez voir quelque chose comme):
|
||||
```
|
||||
[Server thread/INFO]: RCON running on 0.0.0.0:25575
|
||||
```
|
||||
|
||||
## Étape 2: Installation de l'Interface Web
|
||||
|
||||
### 2.1 Vérifier les Prérequis
|
||||
### 2. Redémarrer le Serveur
|
||||
|
||||
```bash
|
||||
# Vérifier Node.js
|
||||
node --version # Doit être v14 ou plus
|
||||
# Arrêter le serveur
|
||||
docker stop mc-nationsglory
|
||||
|
||||
# Vérifier npm
|
||||
npm --version # Doit être v6 ou plus
|
||||
```
|
||||
|
||||
Si Node.js n'est pas installé:
|
||||
- **Linux**: `sudo apt-get install nodejs npm`
|
||||
- **macOS**: `brew install node`
|
||||
- **Windows**: Télécharger depuis https://nodejs.org
|
||||
|
||||
### 2.2 Installation Automatique
|
||||
|
||||
```bash
|
||||
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
|
||||
|
||||
chmod +x install.sh
|
||||
./install.sh
|
||||
```
|
||||
|
||||
Cela va:
|
||||
- ✓ Vérifier Node.js
|
||||
- ✓ Créer le fichier .env
|
||||
- ✓ Installer les dépendances npm
|
||||
|
||||
## Étape 3: Configuration
|
||||
|
||||
### 3.1 Éditer le fichier .env
|
||||
|
||||
Ouvrez `backend/.env` avec votre éditeur préféré:
|
||||
|
||||
```env
|
||||
# Mode d'exécution
|
||||
NODE_ENV=development
|
||||
|
||||
PORT=4001
|
||||
|
||||
# Clé de session (générer une clé aléatoire forte)
|
||||
SESSION_SECRET=abc123def456ghi789jkl012mno345pqr
|
||||
|
||||
# Chemin EXACT vers le dossier du serveur MC
|
||||
SERVER_DIR=/home/innotex/Documents/Projet/Serveur NationsGlory/NationsGlory_ServeurBuild_Red
|
||||
|
||||
# Paramètres RCON
|
||||
RCON_HOST=localhost
|
||||
RCON_PORT=25575
|
||||
```
|
||||
|
||||
⚠️ **Important**:
|
||||
- Vérifiez que `SERVER_DIR` est le **chemin exact**
|
||||
- Le RCON_HOST peut être `localhost`, `127.0.0.1`, ou l'IP du serveur
|
||||
- SESSION_SECRET doit être unique (utilisez une clé forte)
|
||||
|
||||
## Étape 4: Lancement
|
||||
|
||||
### 4.1 Démarrer l'Application
|
||||
|
||||
```bash
|
||||
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
|
||||
|
||||
chmod +x start.sh
|
||||
./start.sh
|
||||
```
|
||||
|
||||
Vous devriez voir:
|
||||
```
|
||||
🚀 Backend Admin NationsGlory démarré sur http://localhost:4001
|
||||
📁 Répertoire du serveur: /home/innotex/Documents/Projet/Serveur NationsGlory/NationsGlory_ServeurBuild_Red
|
||||
```
|
||||
|
||||
### 4.2 Accéder à l'Interface
|
||||
|
||||
Ouvrez votre navigateur et allez à:
|
||||
```
|
||||
http://localhost:3000
|
||||
```
|
||||
|
||||
## Étape 5: Premier Démarrage
|
||||
|
||||
### 5.1 Créer le Compte Admin
|
||||
|
||||
La première fois que vous accédez à l'interface:
|
||||
|
||||
1. **Tab "Enregistrement"** s'affiche
|
||||
2. Remplissez:
|
||||
- **Nom d'utilisateur**: Le nom que vous voulez pour vous connecter (ex: `admin`)
|
||||
- **Mot de passe**: Un mot de passe fort
|
||||
- **Pseudo Minecraft**: DOIT être un OP du serveur (ex: `VotreNomMC`)
|
||||
|
||||
3. Cliquez sur "Créer le compte"
|
||||
|
||||
⚠️ **Attention**: Le pseudo Minecraft doit être dans le fichier `ops.txt` ou `ops.json` du serveur!
|
||||
|
||||
### 5.2 Se Connecter
|
||||
|
||||
Après l'enregistrement:
|
||||
1. Remplissez le formulaire de connexion
|
||||
2. Entrez le nom d'utilisateur et mot de passe
|
||||
3. Cliquez "Se connecter"
|
||||
|
||||
### 5.3 Premier Test
|
||||
|
||||
Une fois connecté:
|
||||
1. Allez à l'onglet **Console RCON**
|
||||
2. Entrez une commande simple: `/time query daytime`
|
||||
3. Cliquez "Envoyer"
|
||||
4. Vous devriez voir la réponse
|
||||
|
||||
Si ça marche, RCON est correctement configuré! ✓
|
||||
|
||||
## 🆘 Dépannage
|
||||
|
||||
### Problème: "Erreur RCON: Timeout"
|
||||
|
||||
**Cause**: Le serveur MC ne répond pas
|
||||
|
||||
**Solutions**:
|
||||
1. Vérifiez que le serveur MC est en ligne
|
||||
2. Vérifiez que RCON est activé dans server.properties
|
||||
3. Vérifiez le port RCON (25575 par défaut)
|
||||
4. Testez RCON avec un autre client:
|
||||
```bash
|
||||
telnet localhost 25575
|
||||
```
|
||||
|
||||
### Problème: "Mot de passe RCON incorrect"
|
||||
|
||||
**Cause**: Le mot de passe ne correspond pas
|
||||
|
||||
**Solution**:
|
||||
1. Vérifiez le mot de passe dans `server.properties`
|
||||
2. Modifiez via l'interface: Dashboard → Changer RCON
|
||||
3. Redémarrez le serveur MC après changement
|
||||
|
||||
### Problème: "Le joueur n'est pas OP sur le serveur"
|
||||
|
||||
**Cause**: Votre pseudo MC n'est pas OP
|
||||
|
||||
**Solution**:
|
||||
1. Sur le serveur MC, dans la console:
|
||||
```
|
||||
op VotreNomMC
|
||||
```
|
||||
2. Attendez que le serveur se redémarre ou recharge les OPs
|
||||
3. Réessayez l'enregistrement
|
||||
|
||||
### Problème: "Impossible de se connecter à localhost:4001"
|
||||
|
||||
**Cause**: L'application n'est pas lancée ou sur le mauvais port
|
||||
|
||||
**Solution**:
|
||||
1. Vérifiez que `npm start` est lancé dans `backend/`
|
||||
2. Vérifiez le PORT dans `.env`
|
||||
3. Assurez-vous qu'aucune autre application n'utilise ce port:
|
||||
```bash
|
||||
lsof -i :3000 # Linux/Mac
|
||||
netstat -ano | findstr :3000 # Windows
|
||||
```
|
||||
|
||||
### Problème: "Node.js n'est pas trouvé"
|
||||
|
||||
**Solution**: Installer Node.js
|
||||
- **Ubuntu/Debian**: `sudo apt-get install nodejs npm`
|
||||
- **CentOS/RHEL**: `sudo yum install nodejs npm`
|
||||
- **macOS**: `brew install node`
|
||||
- **Windows**: https://nodejs.org
|
||||
|
||||
## 📊 Fonctionnalités Détaillées
|
||||
|
||||
### Console RCON
|
||||
Exécutez n'importe quelle commande Minecraft:
|
||||
```
|
||||
/say Bienvenue!
|
||||
/gamemode 1 @p
|
||||
/give @p diamond 64
|
||||
/weather clear
|
||||
```
|
||||
|
||||
### Gestion des Logs
|
||||
- Affichage temps réel
|
||||
- Recherche par mot-clé
|
||||
- Support multi-fichiers
|
||||
|
||||
### Whitelist
|
||||
- Ajouter des joueurs
|
||||
- Supprimer des joueurs
|
||||
- Format JSON automatique
|
||||
|
||||
### Backups
|
||||
- Création manuelle
|
||||
- Compression tar.gz
|
||||
- Gestion de l'espace
|
||||
|
||||
### Paramètres
|
||||
- Lire tous les paramètres server.properties
|
||||
- Modifier certains paramètres
|
||||
- Changement de RCON
|
||||
|
||||
## 🔒 Sécurité - Important!
|
||||
|
||||
### En Production:
|
||||
|
||||
1. **Changez SESSION_SECRET**:
|
||||
```bash
|
||||
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
```
|
||||
|
||||
2. **Utilisez HTTPS**:
|
||||
- Achetez un certificat SSL
|
||||
- Configurez un proxy (nginx/Apache)
|
||||
- Voir DEPLOYMENT.md
|
||||
|
||||
3. **Limitez l'accès**:
|
||||
- Firewall: autoriser seulement vos IPs
|
||||
- VPN: si accès distant
|
||||
- Proxy avec authentification
|
||||
|
||||
4. **Changez RCON**:
|
||||
- Utilisez un mot de passe fort
|
||||
- Changez-le régulièrement
|
||||
|
||||
5. **Backups**:
|
||||
- Sauvegardez vos backups ailleurs
|
||||
- Testez les restaurations
|
||||
|
||||
## 📞 Support et Aide
|
||||
|
||||
### Vérification Rapide
|
||||
|
||||
```bash
|
||||
# Vérifier que Node.js fonctionne
|
||||
node --version
|
||||
|
||||
# Tester npm
|
||||
npm --version
|
||||
|
||||
# Vérifier RCON du serveur MC
|
||||
echo "status" | nc localhost 25575
|
||||
# Démarrer le serveur
|
||||
docker start mc-nationsglory
|
||||
|
||||
# Vérifier les logs
|
||||
cat /path/to/mc-server/latest.log | tail -50
|
||||
docker logs mc-nationsglory | grep RCON
|
||||
# Vous devriez voir : "RCON running on 0.0.0.0:25575"
|
||||
```
|
||||
|
||||
### Logs de l'Application
|
||||
### 3. Configurer les OPs
|
||||
|
||||
Les logs du backend s'affichent en direct quand vous lancez `npm start`.
|
||||
Seuls les opérateurs peuvent se connecter au panel web.
|
||||
|
||||
Logs des commandes RCON:
|
||||
```
|
||||
SERVER_DIR/.web-admin/rcon-history.json
|
||||
```bash
|
||||
# Dans le serveur Minecraft (console ou RCON)
|
||||
op VotreNomDeJoueur
|
||||
|
||||
# Vérifier le fichier ops.txt
|
||||
cat /chemin/vers/serveur/ops.txt
|
||||
```
|
||||
|
||||
## 🚀 Prochaines Étapes
|
||||
## 🐳 Configuration Docker
|
||||
|
||||
- [ ] Tester toutes les fonctionnalités
|
||||
- [ ] Ajouter des joueurs à la whitelist
|
||||
- [ ] Créer des backups réguliers
|
||||
- [ ] Configurer HTTPS pour la production
|
||||
- [ ] Automatiser avec des scripts
|
||||
### 1. Fichier docker-compose.yml
|
||||
|
||||
## 📝 Notes Importantes
|
||||
Le fichier principal de configuration :
|
||||
|
||||
1. **Redémarrage du serveur**: Les joueurs seront déconnectés
|
||||
2. **Sauvegarde**: Faites des backups réguliers
|
||||
3. **RCON**: Gardez le mot de passe sécurisé
|
||||
4. **Logs**: Vérifiez régulièrement pour les erreurs
|
||||
5. **Mises à jour**: Vérifiez les mises à jour Node.js
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "4001:4001"
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
PORT: 4001
|
||||
SERVER_DIR: /mc-server
|
||||
RCON_HOST: localhost
|
||||
RCON_PORT: 25575
|
||||
SESSION_SECRET: change-this-in-production
|
||||
volumes:
|
||||
- /chemin/vers/serveur/minecraft:/mc-server
|
||||
- web-admin:/mc-server/.web-admin
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
|
||||
Bon courage avec votre serveur! 🎮
|
||||
volumes:
|
||||
web-admin:
|
||||
```
|
||||
|
||||
### 2. Variables d'Environnement
|
||||
|
||||
| Variable | Description | Valeur par Défaut | Obligatoire |
|
||||
|----------|-------------|-------------------|-------------|
|
||||
| `NODE_ENV` | Mode d'exécution | `production` | Oui |
|
||||
| `PORT` | Port du panel web | `4001` | Oui |
|
||||
| `SERVER_DIR` | Chemin vers le serveur MC (dans Docker) | `/mc-server` | Oui |
|
||||
| `RCON_HOST` | Hôte RCON | `localhost` | Oui |
|
||||
| `RCON_PORT` | Port RCON | `25575` | Oui |
|
||||
| `RCON_PASSWORD` | Mot de passe RCON | - | Oui (via .env) |
|
||||
| `SESSION_SECRET` | Secret pour les sessions | - | Oui |
|
||||
|
||||
### 3. Configuration des Volumes
|
||||
|
||||
**Volume mc-server** : Serveur Minecraft (lecture/écriture)
|
||||
```yaml
|
||||
volumes:
|
||||
- /home/user/minecraft-server:/mc-server
|
||||
```
|
||||
|
||||
**Volume web-admin** : Données persistantes du panel
|
||||
```yaml
|
||||
volumes:
|
||||
- web-admin:/mc-server/.web-admin
|
||||
```
|
||||
|
||||
Ce volume stocke :
|
||||
- `rcon-history.json` - Historique des commandes RCON
|
||||
|
||||
### 4. Network Mode
|
||||
|
||||
```yaml
|
||||
network_mode: host
|
||||
```
|
||||
|
||||
Le mode `host` permet au conteneur d'accéder directement au RCON sur `localhost:25575`.
|
||||
|
||||
**Alternative** (si vous n'utilisez pas host) :
|
||||
- Changer `RCON_HOST` vers l'IP du serveur Minecraft
|
||||
- Exposer le port RCON dans le réseau Docker
|
||||
|
||||
## 🔐 Configuration de Sécurité
|
||||
|
||||
### 1. Générer un SESSION_SECRET
|
||||
|
||||
```bash
|
||||
# Générer une clé aléatoire
|
||||
openssl rand -base64 32
|
||||
|
||||
# Ou avec Node.js
|
||||
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
|
||||
```
|
||||
|
||||
Ajoutez-le dans `docker-compose.yml` ou créez un fichier `.env` :
|
||||
|
||||
```env
|
||||
SESSION_SECRET=VotreClefAleatoireSecurisee
|
||||
RCON_PASSWORD=VotreMotDePasseRCON
|
||||
```
|
||||
|
||||
### 2. Mot de Passe RCON
|
||||
|
||||
**Recommandations** :
|
||||
- Minimum 12 caractères
|
||||
- Mélange de majuscules, minuscules, chiffres, symboles
|
||||
- Ne pas utiliser de mots du dictionnaire
|
||||
- Différent du mot de passe serveur
|
||||
|
||||
**Exemple de mot de passe fort** :
|
||||
```
|
||||
Fx98dd82&*KmP!qZ7
|
||||
```
|
||||
|
||||
### 3. Permissions Fichiers
|
||||
|
||||
```bash
|
||||
# Serveur Minecraft
|
||||
chmod 755 /chemin/vers/serveur/minecraft
|
||||
chmod 644 /chemin/vers/serveur/minecraft/server.properties
|
||||
chmod 644 /chemin/vers/serveur/minecraft/ops.txt
|
||||
|
||||
# Panel Web
|
||||
chmod 755 WebNationsGlory_ServeurBuild_Red
|
||||
chmod 644 docker-compose.yml
|
||||
```
|
||||
|
||||
## 🎨 Configuration Frontend
|
||||
|
||||
### 1. Personnalisation de l'Interface
|
||||
|
||||
Le style est défini dans `frontend/public/css/style.css`.
|
||||
|
||||
**Variables CSS principales** :
|
||||
```css
|
||||
:root {
|
||||
--primary-color: #3498db;
|
||||
--danger-color: #e74c3c;
|
||||
--success-color: #2ecc71;
|
||||
--warning-color: #f39c12;
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Console RCON
|
||||
|
||||
La console est stylée comme un terminal Linux :
|
||||
|
||||
**Couleurs par défaut** :
|
||||
- Fond : `#1e1e1e` (noir)
|
||||
- Texte : `#0f0` (vert)
|
||||
- Prompt : Nom d'utilisateur + serveur
|
||||
|
||||
Pour modifier :
|
||||
```css
|
||||
.terminal {
|
||||
background-color: #1e1e1e;
|
||||
color: #0f0;
|
||||
}
|
||||
```
|
||||
|
||||
## ⚡ Configuration Backend
|
||||
|
||||
### 1. Fichier .env (Optionnel)
|
||||
|
||||
Créez `backend/.env` pour le développement local :
|
||||
|
||||
```env
|
||||
NODE_ENV=development
|
||||
PORT=4001
|
||||
SERVER_DIR=/chemin/absolu/vers/serveur/minecraft
|
||||
RCON_HOST=localhost
|
||||
RCON_PORT=25575
|
||||
RCON_PASSWORD=VotreMotDePasse
|
||||
SESSION_SECRET=VotreSecret
|
||||
```
|
||||
|
||||
### 2. Configuration Express
|
||||
|
||||
Dans `backend/src/server.js`, les paramètres principaux :
|
||||
|
||||
```javascript
|
||||
// Session
|
||||
app.use(session({
|
||||
secret: process.env.SESSION_SECRET,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: {
|
||||
secure: false, // true en HTTPS
|
||||
httpOnly: true,
|
||||
maxAge: 1000 * 60 * 60 * 24 // 24 heures
|
||||
}
|
||||
}));
|
||||
|
||||
// CORS
|
||||
app.use(cors({
|
||||
origin: true,
|
||||
credentials: true
|
||||
}));
|
||||
```
|
||||
|
||||
### 3. Gestion des Sessions
|
||||
|
||||
**En production**, utilisez Redis au lieu de MemoryStore :
|
||||
|
||||
```javascript
|
||||
const RedisStore = require('connect-redis')(session);
|
||||
const redis = require('redis');
|
||||
const redisClient = redis.createClient();
|
||||
|
||||
app.use(session({
|
||||
store: new RedisStore({ client: redisClient }),
|
||||
// ...autres options
|
||||
}));
|
||||
```
|
||||
|
||||
## 🔧 Configuration Avancée
|
||||
|
||||
### 1. Cooldown Serveur
|
||||
|
||||
Temps d'attente avant arrêt/redémarrage (dans `frontend/public/js/app.js`) :
|
||||
|
||||
```javascript
|
||||
const cooldownSeconds = 60; // 60 secondes par défaut
|
||||
```
|
||||
|
||||
### 2. Historique RCON
|
||||
|
||||
Nombre maximum de commandes sauvegardées :
|
||||
|
||||
```javascript
|
||||
// Dans backend/src/routes/rcon.js
|
||||
const MAX_HISTORY = 100;
|
||||
```
|
||||
|
||||
### 3. Timeout RCON
|
||||
|
||||
Délai d'attente pour les commandes RCON :
|
||||
|
||||
```javascript
|
||||
// Dans backend/src/utils/rcon.js
|
||||
const TIMEOUT = 5000; // 5 secondes
|
||||
```
|
||||
|
||||
## 📊 Configuration des Logs
|
||||
|
||||
### 1. Logs du Panel
|
||||
|
||||
```bash
|
||||
# Voir les logs en temps réel
|
||||
docker-compose logs -f app
|
||||
|
||||
# Dernières 100 lignes
|
||||
docker-compose logs --tail=100 app
|
||||
|
||||
# Logs avec timestamp
|
||||
docker-compose logs -t app
|
||||
```
|
||||
|
||||
### 2. Logs du Serveur Minecraft
|
||||
|
||||
Accessible via le panel : Menu **Logs** → `latest.log`
|
||||
|
||||
## 🌐 Configuration Réseau
|
||||
|
||||
### 1. Pare-feu
|
||||
|
||||
Ouvrir les ports nécessaires :
|
||||
|
||||
```bash
|
||||
# UFW (Ubuntu/Debian)
|
||||
sudo ufw allow 4001/tcp
|
||||
sudo ufw allow 25575/tcp
|
||||
|
||||
# Firewalld (CentOS/RHEL)
|
||||
sudo firewall-cmd --permanent --add-port=4001/tcp
|
||||
sudo firewall-cmd --permanent --add-port=25575/tcp
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
### 2. Accès Distant
|
||||
|
||||
Pour accéder au panel depuis l'extérieur :
|
||||
|
||||
1. Modifier `ports` dans docker-compose.yml :
|
||||
```yaml
|
||||
ports:
|
||||
- "0.0.0.0:4001:4001"
|
||||
```
|
||||
|
||||
2. Configurer le pare-feu
|
||||
3. Utiliser un reverse proxy (Nginx/Apache) pour HTTPS
|
||||
|
||||
## ✅ Vérification de la Configuration
|
||||
|
||||
### Checklist
|
||||
|
||||
- [ ] RCON activé dans `server.properties`
|
||||
- [ ] Mot de passe RCON identique dans les deux fichiers
|
||||
- [ ] `SERVER_DIR` pointe vers le bon dossier
|
||||
- [ ] Au moins un joueur dans `ops.txt`
|
||||
- [ ] Ports 4001 et 25575 disponibles
|
||||
- [ ] Docker et Docker Compose installés
|
||||
- [ ] `SESSION_SECRET` généré et sécurisé
|
||||
- [ ] Volumes Docker correctement montés
|
||||
|
||||
### Test de Connexion
|
||||
|
||||
```bash
|
||||
# Test RCON avec Docker
|
||||
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse
|
||||
|
||||
# Test du panel web
|
||||
curl http://localhost:4001
|
||||
|
||||
# Vérifier les volumes
|
||||
docker volume ls | grep web
|
||||
```
|
||||
|
||||
## 🆘 Problèmes Courants
|
||||
|
||||
### Le panel ne se connecte pas au RCON
|
||||
|
||||
1. Vérifier que RCON est actif : `docker logs mc-nationsglory | grep RCON`
|
||||
2. Vérifier le mot de passe dans les deux configs
|
||||
3. Tester manuellement : `docker exec -it mc-nationsglory rcon-cli`
|
||||
|
||||
### Les joueurs ne s'affichent pas
|
||||
|
||||
1. Vérifier que `/world/players/` existe
|
||||
2. Vérifier que `usercache.json` est présent
|
||||
3. Vérifier les permissions du volume
|
||||
|
||||
### Impossible de se connecter
|
||||
|
||||
1. Vérifier que vous êtes dans `ops.txt`
|
||||
2. Vider le cache du navigateur
|
||||
3. Vérifier les logs : `docker-compose logs app`
|
||||
|
||||
---
|
||||
|
||||
Pour plus d'informations : [README.md](README.md) | [DEPLOYMENT.md](DEPLOYMENT.md) | [MAINTENANCE.md](MAINTENANCE.md)
|
||||
|
||||
Reference in New Issue
Block a user