- Change default port to 4001 across all configuration files (server.js, docker-compose.yml, .env, Dockerfile) - Update frontend API URL to use new port 4001 - Fix circular dependency issues in route files by using process.env.SERVER_DIR instead of importing from server.js - Apply to all routes: auth.js, backup.js, logs.js, players.js, rcon.js, server.js, whitelist.js - Fix environment variable loading in start.sh to properly handle paths with spaces - Quote SERVER_DIR path in .env to preserve spaces in directory paths - Update all documentation references from port 3000 to 4001 (README, QUICKSTART, CONFIGURATION, INDEX) - Remove debug console.log statements from auth.js - Remove test utility file test-ops.js Fixes: Port conflict issues, circular dependency warnings, environment variable parsing
229 lines
5.7 KiB
Markdown
229 lines
5.7 KiB
Markdown
# Interface Web d'Administration - NationsGlory
|
|
|
|
Application web complète pour gérer votre serveur Minecraft 1.6.4 sans taper une seule commande!
|
|
|
|
## 🚀 Fonctionnalités
|
|
|
|
### 🔐 Sécurité
|
|
- Authentification sécurisée par mot de passe
|
|
- Seuls les OPs du serveur MC peuvent se connecter
|
|
- Sessions sécurisées avec expiration
|
|
|
|
### ⌨️ Console RCON
|
|
- Exécutez des commandes directement depuis l'interface
|
|
- Historique complet des commandes
|
|
- Réponses en temps réel
|
|
|
|
### 📊 Dashboard
|
|
- État du serveur en temps réel
|
|
- Nombre de joueurs connectés
|
|
- Informations rapides du serveur
|
|
|
|
### 📜 Logs
|
|
- Visualisation des logs en temps réel
|
|
- Recherche dans les logs
|
|
- Plusieurs fichiers logs supportés
|
|
|
|
### 👥 Gestion des Joueurs
|
|
- Liste de tous les joueurs ayant joué
|
|
- UUID et dernière connexion
|
|
- Informations détaillées
|
|
|
|
### ✅ Whitelist
|
|
- Ajouter/supprimer des joueurs
|
|
- Gestion complète de la whitelist
|
|
- Support des formats JSON et TXT
|
|
|
|
### 💾 Backups
|
|
- Création de backups automatiques
|
|
- Gestion des anciens backups
|
|
- Suppression facile
|
|
|
|
### ⚙️ Paramètres
|
|
- Modification des settings du serveur
|
|
- Changement du mot de passe RCON
|
|
- Gestion complète de server.properties
|
|
|
|
### 🔄 Commandes Utiles
|
|
- Redémarrage du serveur
|
|
- Sauvegarde du monde
|
|
- Notifications aux joueurs
|
|
|
|
## 📋 Prérequis
|
|
|
|
- Node.js 14+ et npm
|
|
- Serveur Minecraft avec RCON activé
|
|
- RCON correctement configuré dans server.properties
|
|
|
|
## 🔧 Installation
|
|
|
|
### 1. Préparer le serveur Minecraft
|
|
|
|
Éditer `server.properties` du serveur MC:
|
|
```properties
|
|
enable-rcon=true
|
|
rcon.port=25575
|
|
rcon.password=votreMotDePasseRcon
|
|
```
|
|
|
|
Redémarrer le serveur MC.
|
|
|
|
### 2. Installer l'interface web
|
|
|
|
```bash
|
|
cd WebNationsGlory_ServeurBuild_Red
|
|
chmod +x install.sh
|
|
./install.sh
|
|
```
|
|
|
|
### 3. Configurer
|
|
|
|
Éditer `backend/.env`:
|
|
```env
|
|
NODE_ENV=development
|
|
PORT=4001
|
|
SESSION_SECRET=changez-cette-cle-en-production
|
|
SERVER_DIR=/path/to/NationsGlory_ServeurBuild_Red
|
|
RCON_HOST=localhost
|
|
RCON_PORT=25575
|
|
```
|
|
|
|
### 4. Lancer l'application
|
|
|
|
```bash
|
|
chmod +x start.sh
|
|
./start.sh
|
|
```
|
|
|
|
L'interface est maintenant accessible sur: **http://localhost:4001**
|
|
|
|
## 🎯 Premier Démarrage
|
|
|
|
1. Ouvrez http://localhost:4001
|
|
2. Créez le compte admin (doit être un OP du serveur)
|
|
3. Connectez-vous
|
|
4. Explorez l'interface!
|
|
|
|
## 📁 Structure du Projet
|
|
|
|
```
|
|
WebNationsGlory_ServeurBuild_Red/
|
|
├── backend/
|
|
│ ├── package.json
|
|
│ ├── .env (à créer)
|
|
│ └── src/
|
|
│ ├── server.js (point d'entrée)
|
|
│ ├── routes/
|
|
│ │ ├── auth.js (authentification)
|
|
│ │ ├── rcon.js (console & contrôle)
|
|
│ │ ├── logs.js (visualisation logs)
|
|
│ │ ├── players.js (gestion joueurs)
|
|
│ │ ├── whitelist.js (gestion whitelist)
|
|
│ │ ├── backup.js (gestion backups)
|
|
│ │ └── server.js (paramètres)
|
|
│ └── utils/
|
|
│ └── rcon.js (client RCON)
|
|
├── frontend/
|
|
│ └── public/
|
|
│ ├── index.html
|
|
│ ├── js/app.js
|
|
│ └── css/style.css
|
|
└── start.sh
|
|
```
|
|
|
|
## 🔌 API Endpoints
|
|
|
|
### Authentification
|
|
- `POST /api/auth/register` - Créer un compte admin
|
|
- `POST /api/auth/login` - Se connecter
|
|
- `GET /api/auth/check` - Vérifier la connexion
|
|
- `POST /api/auth/logout` - Se déconnecter
|
|
|
|
### Console RCON
|
|
- `POST /api/rcon/command` - Exécuter une commande
|
|
- `GET /api/rcon/history` - Historique des commandes
|
|
- `POST /api/rcon/restart` - Redémarrer le serveur
|
|
- `POST /api/rcon/save` - Sauvegarder
|
|
|
|
### Serveur
|
|
- `GET /api/server` - Récupérer les paramètres
|
|
- `POST /api/server/update` - Mettre à jour un paramètre
|
|
|
|
### Logs
|
|
- `GET /api/logs` - Récupérer les logs
|
|
- `GET /api/logs/files` - Lister les fichiers logs
|
|
- `GET /api/logs/file/:filename` - Lire un fichier spécifique
|
|
- `GET /api/logs/search?query=...` - Chercher dans les logs
|
|
|
|
### Joueurs
|
|
- `GET /api/players` - Lister les joueurs
|
|
|
|
### Whitelist
|
|
- `GET /api/whitelist` - Récupérer la whitelist
|
|
- `POST /api/whitelist/add` - Ajouter un joueur
|
|
- `POST /api/whitelist/remove` - Retirer un joueur
|
|
|
|
### Backups
|
|
- `GET /api/backup` - Lister les backups
|
|
- `POST /api/backup/create` - Créer un backup
|
|
- `POST /api/backup/delete/:filename` - Supprimer un backup
|
|
|
|
## 🆘 Dépannage
|
|
|
|
### La connexion RCON échoue
|
|
- Vérifiez que RCON est activé dans server.properties
|
|
- Vérifiez le port et le mot de passe
|
|
- Assurez-vous que le serveur MC est en ligne
|
|
|
|
### Les logs ne s'affichent pas
|
|
- Vérifiez le chemin de SERVER_DIR dans .env
|
|
- Assurez-vous que les fichiers logs existent
|
|
|
|
### Les joueurs ne s'affichent pas
|
|
- Attendez qu'au moins un joueur se soit connecté
|
|
- Vérifiez que usercache.json existe
|
|
|
|
## ⚠️ Sécurité
|
|
|
|
En production:
|
|
- Changez `SESSION_SECRET` avec une clé forte
|
|
- Utilisez HTTPS
|
|
- Placez derrière un proxy (nginx, Apache)
|
|
- Limitez l'accès par IP si possible
|
|
|
|
## 📝 Logs Applicatifs
|
|
|
|
Les logs de l'application se trouvent dans:
|
|
- Backend console: directement dans le terminal
|
|
- RCON historique: `SERVER_DIR/.web-admin/rcon-history.json`
|
|
|
|
## 🎮 Commandes Minecraft Utiles
|
|
|
|
Depuis la console RCON:
|
|
- `/say Message` - Envoyer un message à tous
|
|
- `/tp @p @s` - Tp un joueur
|
|
- `/give @p diamond 64` - Donner des items
|
|
- `/weather clear` - Changer la météo
|
|
- `/time set day` - Régler l'heure
|
|
- `/difficulty 2` - Changer la difficulté
|
|
|
|
## 📞 Support
|
|
|
|
Pour les problèmes:
|
|
1. Vérifiez la configuration du .env
|
|
2. Vérifiez les logs du backend
|
|
3. Testez RCON avec un client externe
|
|
4. Vérifiez les permissions sur les fichiers du serveur
|
|
|
|
## 🔄 Mises à Jour
|
|
|
|
L'interface se met à jour automatiquement. Pour mettre à jour les dépendances:
|
|
```bash
|
|
cd backend
|
|
npm update
|
|
```
|
|
|
|
## 📄 License
|
|
|
|
MIT - Libre d'utilisation
|