- 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
158 lines
5.3 KiB
Markdown
158 lines
5.3 KiB
Markdown
# Changelog
|
|
|
|
Toutes les modifications importantes de ce projet sont documentées dans ce fichier.
|
|
|
|
## [1.0.0] - 2025-02-04
|
|
|
|
### 🎉 Version Initiale Complète
|
|
|
|
#### 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**
|
|
- 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
|
|
|
|
- **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
|
|
|
|
- **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
|
|
|
|
- **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
|
|
|
|
- **Whitelist**
|
|
- Ajout/suppression de joueurs
|
|
- Support des formats JSON et TXT
|
|
- Validation des noms de joueurs
|
|
|
|
- **Logs**
|
|
- Visualisation des logs serveur
|
|
- Recherche dans les logs
|
|
- Support de plusieurs fichiers logs
|
|
|
|
- **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
|
|
|
|
#### Technique
|
|
|
|
- **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
|
|
|
|
- **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
|
|
|
|
- **Docker**
|
|
- docker-compose.yml avec network_mode: host
|
|
- Volumes persistants (mc-server, web-admin)
|
|
- Variables d'environnement configurables
|
|
- Build optimisé avec NODE_ENV=production
|
|
|
|
#### 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
|
|
|
|
#### 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)
|
|
|
|
### 🔧 Configuration
|
|
|
|
#### 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é
|