153 lines
4.9 KiB
Markdown
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
|