Files

153 lines
4.9 KiB
Markdown

# NationsGlory Web Admin
Panel d'administration web pour serveur Minecraft 1.6.4 NationsGlory.
> 📌 **Note**: Pour un déploiement rapide du serveur complet (Minecraft + Web Admin), consultez le [README principal](../README.md) et utilisez le script `../deploy.sh`.
## 🚀 Quick Start
### Déploiement avec le serveur Minecraft (Recommandé)
Depuis le dossier parent :
```bash
cd ..
./deploy.sh
```
### Déploiement standalone
Si vous souhaitez déployer uniquement l'application web :
```bash
# 1. Configuration
cp .env.example .env
nano .env # Configurez SESSION_SECRET et RCON_PASSWORD
# 2. Démarrage
docker-compose up -d
# Le panel sera accessible sur http://localhost:4001
```
## ✨ Fonctionnalités
### 🎮 Gestion du Serveur
- **Console RCON** : Interface style terminal Linux pour exécuter des commandes
- **Historique des commandes** : Sauvegarde persistante avec recherche et suppression
- **Contrôle du serveur** : Arrêt et redémarrage avec cooldown configurable
- **Paramètres en temps réel** : Modification des propriétés serveur sans redémarrage
### 👥 Gestion des Joueurs
- **Liste des joueurs connectés** : Affichage temps réel avec support des codes couleur Minecraft (§)
- **Compteur de joueurs** : Affichage X/Y dans le dashboard
- **Whitelist** : Ajout/suppression de joueurs autorisés
- **Logs** : Consultation des logs serveur
### 🔐 Sécurité
- **Authentification OP** : Seuls les opérateurs du serveur peuvent se connecter
- **Sessions persistantes** : Gestion sécurisée des sessions
- **Masquage des mots de passe** : Les mots de passe RCON ne s'affichent pas en clair
## 🏗️ Architecture
\`\`\`
WebNationsGlory/
├── backend/
│ ├── src/
│ │ ├── routes/ # API endpoints
│ │ ├── utils/ # RCON client
│ │ └── server.js # Express app
│ └── data/
│ └── users.json # Utilisateurs
├── frontend/
│ └── public/
│ ├── css/ # Styles
│ ├── js/ # SPA vanilla JS
│ └── index.html
└── docker-compose.yml # Orchestration
\`\`\`
## 🔧 Configuration
### Prérequis
- Docker & Docker Compose
- Serveur Minecraft 1.6.4 avec RCON activé
- Port 25575 (RCON) et 4001 (Web) disponibles
### Variables d'environnement
\`\`\`env
SERVER_DIR=/mc-server # Chemin vers le serveur Minecraft
RCON_HOST=localhost # Hôte RCON
RCON_PORT=25575 # Port RCON
RCON_PASSWORD=votre_mot_de_passe # Mot de passe RCON
SESSION_SECRET=secret_securise # Secret pour les sessions
\`\`\`
### Serveur Minecraft (server.properties)
\`\`\`properties
enable-rcon=true
rcon.port=25575
rcon.password=votre_mot_de_passe
\`\`\`
## 📚 Documentation
- [QUICKSTART.md](QUICKSTART.md) - Guide de démarrage rapide
- [CONFIGURATION.md](CONFIGURATION.md) - Configuration détaillée
- [DEPLOYMENT.md](DEPLOYMENT.md) - Guide de déploiement
- [MAINTENANCE.md](MAINTENANCE.md) - Maintenance et dépannage
- [CHANGELOG.md](CHANGELOG.md) - Historique des versions
## 🔐 Première Connexion
1. Démarrer le serveur Minecraft
2. Démarrer le panel web : \`docker-compose up -d\`
3. Accéder à http://localhost:4001
4. Se connecter avec un compte OP du serveur Minecraft
5. Le système vérifie automatiquement les permissions OP dans \`ops.txt\`
## 🛠️ Développement
### Structure Backend
- **Express.js** : Serveur web Node.js 18
- **RCON Client** : Implémentation complète du protocole Minecraft RCON (Int32LE)
- **Sessions** : express-session avec MemoryStore
- **Authentification** : bcryptjs pour le hachage
### Structure Frontend
- **Vanilla JavaScript** : SPA sans framework
- **Style Terminal** : Console RCON avec apparence Linux shell
- **API REST** : Communication avec le backend
## ⚠️ Notes Importantes
- Le serveur Minecraft doit être démarré **avant** le panel web
- Seuls les joueurs dans \`ops.txt\` peuvent se connecter
- L'historique RCON est sauvegardé dans un volume Docker nommé \`web-admin\`
- Le serveur utilise \`network_mode: host\` pour accéder au RCON local
- Compatible uniquement avec Minecraft 1.6.4 (codes couleur §)
## 📦 Volumes Docker
- \`mc-server\` : Données du serveur Minecraft (lecture/écriture)
- \`web-admin\` : Données persistantes du panel (.web-admin/)
## 🐛 Dépannage
### Le panel ne se connecte pas au RCON
1. Vérifier que \`enable-rcon=true\` dans \`server.properties\`
2. Vérifier le mot de passe RCON
3. Vérifier que le serveur Minecraft est démarré
### Les joueurs ne s'affichent pas
1. Vérifier que le dossier \`/world/players/\` existe
2. Vérifier que \`usercache.json\` est présent
### Impossible de modifier les paramètres
1. Vérifier que le volume \`mc-server\` n'est pas en lecture seule
2. Vérifier les permissions sur \`server.properties\`
## 📄 Licence
Projet privé - NationsGlory Server