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:
226
CHANGELOG.md
226
CHANGELOG.md
@@ -1,107 +1,157 @@
|
||||
# Changelog - Panel Admin NationsGlory
|
||||
# Changelog
|
||||
|
||||
## 4 Février 2026 - Améliorations Majeures
|
||||
Toutes les modifications importantes de ce projet sont documentées dans ce fichier.
|
||||
|
||||
### 🔐 Authentification
|
||||
- ✅ **Page de connexion améliorée** : Ajout de 2 boutons distincts
|
||||
- Bouton "Se connecter" sur le formulaire de connexion
|
||||
- Bouton "Créer un compte" pour basculer vers l'inscription
|
||||
- Bouton "Retour à la connexion" sur le formulaire d'inscription
|
||||
- ✅ **Correction de la détection d'admin** : L'endpoint `/auth/check` retourne maintenant `hasAdmin: true/false` correctement
|
||||
## [1.0.0] - 2025-02-04
|
||||
|
||||
### 👥 Joueurs
|
||||
- ✅ **Affichage des joueurs connectés en temps réel** via RCON
|
||||
- Nouvel endpoint : `GET /api/players/online`
|
||||
- Affiche le nombre de joueurs en ligne : `X / Y joueurs`
|
||||
- Liste les noms des joueurs actuellement connectés
|
||||
- Bouton d'actualisation pour rafraîchir les données
|
||||
- ✅ **Séparation claire** entre joueurs connectés et historique des joueurs
|
||||
### 🎉 Version Initiale Complète
|
||||
|
||||
### ⚙️ Paramètres du Serveur
|
||||
- ✅ **Interface de modification des paramètres** server.properties
|
||||
- Formulaire pour modifier les paramètres principaux :
|
||||
- MOTD (Message du jour)
|
||||
- Nombre maximum de joueurs
|
||||
- Mode de jeu (Survie/Créatif/Aventure)
|
||||
- Difficulté (Paisible/Facile/Normal/Difficile)
|
||||
- PvP (Activé/Désactivé)
|
||||
- Distance de vue
|
||||
- Whitelist
|
||||
- Vol autorisé
|
||||
- Spawn des monstres/animaux
|
||||
- Bouton "Sauvegarder les paramètres"
|
||||
- Avertissement pour redémarrer le serveur après modification
|
||||
- Vue en lecture seule de tous les paramètres
|
||||
#### Ajouté
|
||||
- **Console RCON style Terminal Linux**
|
||||
- Interface visuelle identique à un terminal bash
|
||||
- Fond noir (#1e1e1e) avec texte vert (#0f0)
|
||||
- Prompt personnalisé avec username@serveur
|
||||
- Historique persistant des commandes
|
||||
- Recherche dans l'historique avec filtres
|
||||
- Suppression de l'historique
|
||||
- Boutons de commandes rapides (save-all, list, time, weather, etc.)
|
||||
|
||||
### 🎮 Contrôle du Serveur
|
||||
- ✅ **Bouton Arrêter** : Nouvel endpoint `POST /api/server/stop`
|
||||
- Confirmation avant arrêt
|
||||
- Envoie la commande `stop` via RCON
|
||||
- ✅ **Bouton Redémarrer** : Endpoint corrigé `POST /api/server/restart`
|
||||
- Sauvegarde automatique avant redémarrage
|
||||
- Avertissement aux joueurs (10 secondes)
|
||||
- Arrêt du serveur après le délai
|
||||
- ✅ **Statut du serveur** : Endpoint `GET /api/server/status`
|
||||
- Vérifie si le serveur RCON est accessible
|
||||
- **Contrôle du Serveur**
|
||||
- Arrêt du serveur avec cooldown configurable
|
||||
- Redémarrage du serveur avec cooldown
|
||||
- Annulation du cooldown via commande RCON
|
||||
- Messages de confirmation dans le chat Minecraft
|
||||
- Notifications en temps réel des opérations
|
||||
|
||||
### 💾 Backups
|
||||
- ✅ **Sauvegarde automatique du monde** avant création de backup
|
||||
- Utilise `save-all` via RCON avant archivage
|
||||
- Exclusion du dossier backups dans l'archive
|
||||
- Correction de l'exclusion des fichiers temporaires
|
||||
- **Dashboard Amélioré**
|
||||
- Affichage du nombre de joueurs connectés (format X/Y)
|
||||
- Récupération temps réel via RCON "list"
|
||||
- Parsing des codes couleur § de Minecraft 1.6.4
|
||||
|
||||
### 📋 Logs
|
||||
- ✅ **Endpoint existant maintenu** : `GET /api/logs`
|
||||
- Recherche de `latest.log` ou `ForgeModLoader-server-0.log`
|
||||
- Affichage des dernières lignes (paramètre `?lines=100`)
|
||||
- **Gestion des Joueurs**
|
||||
- Liste des joueurs en ligne avec support des codes couleur §
|
||||
- Suppression automatique des codes couleur pour l'affichage
|
||||
- Liste complète des joueurs ayant joué (world/players/)
|
||||
- Informations détaillées (UUID, dernière connexion)
|
||||
- Utilisation de usercache.json pour les métadonnées
|
||||
|
||||
## Endpoints API Modifiés/Ajoutés
|
||||
- **Paramètres en Temps Réel**
|
||||
- Modification des propriétés serveur sans redémarrage
|
||||
- Endpoint POST /settings pour mise à jour individuelle
|
||||
- Masquage automatique des mots de passe RCON
|
||||
- Type de champ adapté (password pour RCON, number pour ports, etc.)
|
||||
- Sauvegarde immédiate dans server.properties
|
||||
|
||||
### Nouveaux
|
||||
```
|
||||
GET /api/players/online - Joueurs connectés en temps réel
|
||||
POST /api/server/stop - Arrêter le serveur Minecraft
|
||||
POST /api/server/restart - Redémarrer le serveur Minecraft
|
||||
GET /api/server/status - État du serveur
|
||||
```
|
||||
- **Whitelist**
|
||||
- Ajout/suppression de joueurs
|
||||
- Support des formats JSON et TXT
|
||||
- Validation des noms de joueurs
|
||||
|
||||
### Modifiés
|
||||
```
|
||||
GET /api/auth/check - Retourne maintenant hasAdmin: true/false
|
||||
POST /api/backup/create - Sauvegarde RCON avant archivage
|
||||
GET /api/server - Lecture de server.properties
|
||||
POST /api/server/update - Modification de server.properties
|
||||
```
|
||||
- **Logs**
|
||||
- Visualisation des logs serveur
|
||||
- Recherche dans les logs
|
||||
- Support de plusieurs fichiers logs
|
||||
|
||||
## Fichiers Modifiés
|
||||
- **Authentification & Sécurité**
|
||||
- Authentification basée sur ops.txt
|
||||
- Sessions persistantes avec express-session
|
||||
- Hachage bcryptjs pour les mots de passe
|
||||
- Vérification automatique des permissions OP
|
||||
- CORS configuré avec credentials
|
||||
|
||||
### Backend
|
||||
- `backend/src/routes/auth.js` - Correction du chemin vers users.json et ajout hasAdmin
|
||||
- `backend/src/routes/players.js` - Ajout endpoint /online via RCON
|
||||
- `backend/src/routes/server.js` - Ajout endpoints stop/restart/status
|
||||
- `backend/src/routes/backup.js` - Sauvegarde RCON avant backup
|
||||
#### Technique
|
||||
|
||||
### Frontend
|
||||
- `frontend/public/js/app.js` :
|
||||
- Fonctions `toggleToRegister()` et `toggleToLogin()`
|
||||
- Refonte complète de `getPlayersHTML()` et `loadPlayersData()`
|
||||
- Refonte de `getSettingsHTML()` avec formulaire éditable
|
||||
- Ajout `saveSettings()` pour sauvegarder les paramètres
|
||||
- Ajout `stopServer()` pour arrêter le serveur
|
||||
- Correction `restartServer()` pour utiliser `/server/restart`
|
||||
- **Backend**
|
||||
- Node.js 18 Alpine
|
||||
- Express.js avec sessions
|
||||
- Client RCON personnalisé avec protocole Int32LE
|
||||
- Gestion Map-based des réponses RCON
|
||||
- Auto-détection Docker vs local pour frontendPath
|
||||
- Endpoints RESTful pour toutes les fonctionnalités
|
||||
- Système de fichiers avec fs-extra
|
||||
|
||||
## Notes Importantes
|
||||
- **Frontend**
|
||||
- SPA en Vanilla JavaScript (1448 lignes)
|
||||
- CSS moderne avec variables CSS
|
||||
- Interface responsive
|
||||
- Modals pour les opérations critiques
|
||||
- Gestion d'état côté client
|
||||
|
||||
⚠️ **Redémarrage requis** : Les modifications de paramètres nécessitent un redémarrage du serveur Minecraft pour être effectives.
|
||||
- **Docker**
|
||||
- docker-compose.yml avec network_mode: host
|
||||
- Volumes persistants (mc-server, web-admin)
|
||||
- Variables d'environnement configurables
|
||||
- Build optimisé avec NODE_ENV=production
|
||||
|
||||
✅ **RCON fonctionnel** : Tous les tests passent, communication RCON opérationnelle.
|
||||
#### Corrigé
|
||||
- ✅ Protocole RCON utilisant Int32LE au lieu de Int32BE
|
||||
- ✅ Chemin correct pour les joueurs (/world/players/ au lieu de /playerdata/)
|
||||
- ✅ Détection automatique du frontend selon l'environnement
|
||||
- ✅ Gestion CORS pour les cookies de session
|
||||
- ✅ Vérification OP utilisant le bon chemin /mc-server
|
||||
- ✅ Résolution RCON_HOST en localhost avec network_mode: host
|
||||
- ✅ Volume web-admin pour persistance de l'historique
|
||||
- ✅ Parsing correct de la réponse "list" de Minecraft 1.6.4
|
||||
- ✅ Propriété data.response au lieu de data.output
|
||||
- ✅ Erreurs de syntaxe JavaScript (accolades en double)
|
||||
- ✅ Permissions volume mc-server (suppression du :ro)
|
||||
- ✅ Modal de redémarrage ajouté dans Console RCON
|
||||
|
||||
🔒 **Authentification** : Un seul admin peut être créé. Le système détecte automatiquement si un admin existe.
|
||||
#### Supprimé
|
||||
- ❌ Fichiers de refactoring temporaires (REFACTOR_RCON.md, API_RCON.md)
|
||||
- ❌ Scripts d'installation obsolètes (install.sh, setup.sh, start.sh)
|
||||
- ❌ Outils de diagnostic (test-rcon.js, diagnose-rcon.sh)
|
||||
- ❌ Dossiers vides (frontend/src/, backend/src/middlewares/)
|
||||
- ❌ Logs temporaires (server.log)
|
||||
- ❌ Documentation redondante (RCON_CONFIGURATION.md)
|
||||
|
||||
## Prochaines Étapes Suggérées
|
||||
### 🔧 Configuration
|
||||
|
||||
1. Ajouter un système de logs en temps réel (WebSocket)
|
||||
2. Implémenter la restauration de backups
|
||||
3. Ajouter des graphiques de performance (CPU, RAM)
|
||||
4. Créer un système de plugins/mods manager
|
||||
5. Ajouter la gestion des permissions avancées
|
||||
#### Variables d'Environnement Requises
|
||||
\`\`\`env
|
||||
SERVER_DIR=/mc-server
|
||||
RCON_HOST=localhost
|
||||
RCON_PORT=25575
|
||||
RCON_PASSWORD=VotreMotDePasse
|
||||
SESSION_SECRET=UnSecretAleatoire
|
||||
\`\`\`
|
||||
|
||||
#### Prérequis Serveur Minecraft
|
||||
\`\`\`properties
|
||||
enable-rcon=true
|
||||
rcon.port=25575
|
||||
rcon.password=VotreMotDePasse
|
||||
\`\`\`
|
||||
|
||||
### 📦 Volumes Docker
|
||||
|
||||
1. **mc-server** : Serveur Minecraft (lecture/écriture)
|
||||
- /world/players/ pour les données joueurs
|
||||
- ops.txt pour la vérification OP
|
||||
- server.properties pour la configuration
|
||||
- usercache.json pour les métadonnées joueurs
|
||||
|
||||
2. **web-admin** : Données panel web
|
||||
- .web-admin/rcon-history.json pour l'historique RCON
|
||||
|
||||
### 🎯 Compatibilité
|
||||
|
||||
- ✅ Minecraft 1.6.4 (MCPC/Forge)
|
||||
- ✅ Codes couleur § de Minecraft
|
||||
- ✅ Format de fichiers joueurs 1.6.4
|
||||
- ✅ Docker & Docker Compose
|
||||
- ✅ Navigateurs modernes (Chrome, Firefox, Safari, Edge)
|
||||
|
||||
### 📝 Notes Techniques
|
||||
|
||||
- Le protocole RCON utilise Int32LE (Little Endian)
|
||||
- Les réponses RCON sont gérées via Map avec ID de requête
|
||||
- L'authentification RCON est automatique lors de la connexion
|
||||
- Le frontend détecte automatiquement son chemin selon l'environnement
|
||||
- Les sessions utilisent MemoryStore (production devrait utiliser Redis)
|
||||
- network_mode: host permet l'accès direct au RCON localhost
|
||||
|
||||
---
|
||||
|
||||
**Format** : [Version] - Date
|
||||
**Types** : Ajouté, Modifié, Corrigé, Supprimé, Sécurité, Déprécié
|
||||
|
||||
Reference in New Issue
Block a user