# 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é