319 lines
7.2 KiB
Markdown
319 lines
7.2 KiB
Markdown
# 🎮 Guide Complet - Interface Web NationsGlory Admin
|
|
|
|
## Étape 1: Préparation du Serveur Minecraft
|
|
|
|
### 1.1 Éditer server.properties
|
|
|
|
Localisez le fichier `server.properties` du serveur MC et assurez-vous que RCON est activé:
|
|
|
|
```properties
|
|
# Ligne 1: Activer RCON
|
|
enable-rcon=true
|
|
|
|
# Ligne 2: Port RCON (25575 par défaut)
|
|
rcon.port=25575
|
|
|
|
# Ligne 3: Mot de passe RCON (important!)
|
|
rcon.password=YourStrongPassword123
|
|
|
|
# Autres paramètres importants
|
|
motd=NationsGlory Server
|
|
gamemode=survival
|
|
difficulty=3
|
|
pvp=true
|
|
max-players=20
|
|
```
|
|
|
|
### 1.2 Redémarrer le Serveur MC
|
|
|
|
Redémarrez le serveur pour appliquer les changements RCON:
|
|
```bash
|
|
# Si le serveur tourne avec un script
|
|
./stop.sh
|
|
./start.sh
|
|
|
|
# Attendez qu'il redémarre complètement
|
|
```
|
|
|
|
Vérifiez que RCON est actif dans les logs du serveur (vous devriez voir quelque chose comme):
|
|
```
|
|
[Server thread/INFO]: RCON running on 0.0.0.0:25575
|
|
```
|
|
|
|
## Étape 2: Installation de l'Interface Web
|
|
|
|
### 2.1 Vérifier les Prérequis
|
|
|
|
```bash
|
|
# Vérifier Node.js
|
|
node --version # Doit être v14 ou plus
|
|
|
|
# Vérifier npm
|
|
npm --version # Doit être v6 ou plus
|
|
```
|
|
|
|
Si Node.js n'est pas installé:
|
|
- **Linux**: `sudo apt-get install nodejs npm`
|
|
- **macOS**: `brew install node`
|
|
- **Windows**: Télécharger depuis https://nodejs.org
|
|
|
|
### 2.2 Installation Automatique
|
|
|
|
```bash
|
|
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
|
|
|
|
chmod +x install.sh
|
|
./install.sh
|
|
```
|
|
|
|
Cela va:
|
|
- ✓ Vérifier Node.js
|
|
- ✓ Créer le fichier .env
|
|
- ✓ Installer les dépendances npm
|
|
|
|
## Étape 3: Configuration
|
|
|
|
### 3.1 Éditer le fichier .env
|
|
|
|
Ouvrez `backend/.env` avec votre éditeur préféré:
|
|
|
|
```env
|
|
# Mode d'exécution
|
|
NODE_ENV=development
|
|
|
|
# Port de l'application (8080, 3000, etc.)
|
|
PORT=3000
|
|
|
|
# Clé de session (générer une clé aléatoire forte)
|
|
SESSION_SECRET=abc123def456ghi789jkl012mno345pqr
|
|
|
|
# Chemin EXACT vers le dossier du serveur MC
|
|
SERVER_DIR=/home/innotex/Documents/Projet/Serveur NationsGlory/NationsGlory_ServeurBuild_Red
|
|
|
|
# Paramètres RCON
|
|
RCON_HOST=localhost
|
|
RCON_PORT=25575
|
|
```
|
|
|
|
⚠️ **Important**:
|
|
- Vérifiez que `SERVER_DIR` est le **chemin exact**
|
|
- Le RCON_HOST peut être `localhost`, `127.0.0.1`, ou l'IP du serveur
|
|
- SESSION_SECRET doit être unique (utilisez une clé forte)
|
|
|
|
## Étape 4: Lancement
|
|
|
|
### 4.1 Démarrer l'Application
|
|
|
|
```bash
|
|
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
|
|
|
|
chmod +x start.sh
|
|
./start.sh
|
|
```
|
|
|
|
Vous devriez voir:
|
|
```
|
|
🚀 Backend Admin NationsGlory démarré sur http://localhost:3000
|
|
📁 Répertoire du serveur: /home/innotex/Documents/Projet/Serveur NationsGlory/NationsGlory_ServeurBuild_Red
|
|
```
|
|
|
|
### 4.2 Accéder à l'Interface
|
|
|
|
Ouvrez votre navigateur et allez à:
|
|
```
|
|
http://localhost:3000
|
|
```
|
|
|
|
## Étape 5: Premier Démarrage
|
|
|
|
### 5.1 Créer le Compte Admin
|
|
|
|
La première fois que vous accédez à l'interface:
|
|
|
|
1. **Tab "Enregistrement"** s'affiche
|
|
2. Remplissez:
|
|
- **Nom d'utilisateur**: Le nom que vous voulez pour vous connecter (ex: `admin`)
|
|
- **Mot de passe**: Un mot de passe fort
|
|
- **Pseudo Minecraft**: DOIT être un OP du serveur (ex: `VotreNomMC`)
|
|
|
|
3. Cliquez sur "Créer le compte"
|
|
|
|
⚠️ **Attention**: Le pseudo Minecraft doit être dans le fichier `ops.txt` ou `ops.json` du serveur!
|
|
|
|
### 5.2 Se Connecter
|
|
|
|
Après l'enregistrement:
|
|
1. Remplissez le formulaire de connexion
|
|
2. Entrez le nom d'utilisateur et mot de passe
|
|
3. Cliquez "Se connecter"
|
|
|
|
### 5.3 Premier Test
|
|
|
|
Une fois connecté:
|
|
1. Allez à l'onglet **Console RCON**
|
|
2. Entrez une commande simple: `/time query daytime`
|
|
3. Cliquez "Envoyer"
|
|
4. Vous devriez voir la réponse
|
|
|
|
Si ça marche, RCON est correctement configuré! ✓
|
|
|
|
## 🆘 Dépannage
|
|
|
|
### Problème: "Erreur RCON: Timeout"
|
|
|
|
**Cause**: Le serveur MC ne répond pas
|
|
|
|
**Solutions**:
|
|
1. Vérifiez que le serveur MC est en ligne
|
|
2. Vérifiez que RCON est activé dans server.properties
|
|
3. Vérifiez le port RCON (25575 par défaut)
|
|
4. Testez RCON avec un autre client:
|
|
```bash
|
|
telnet localhost 25575
|
|
```
|
|
|
|
### Problème: "Mot de passe RCON incorrect"
|
|
|
|
**Cause**: Le mot de passe ne correspond pas
|
|
|
|
**Solution**:
|
|
1. Vérifiez le mot de passe dans `server.properties`
|
|
2. Modifiez via l'interface: Dashboard → Changer RCON
|
|
3. Redémarrez le serveur MC après changement
|
|
|
|
### Problème: "Le joueur n'est pas OP sur le serveur"
|
|
|
|
**Cause**: Votre pseudo MC n'est pas OP
|
|
|
|
**Solution**:
|
|
1. Sur le serveur MC, dans la console:
|
|
```
|
|
op VotreNomMC
|
|
```
|
|
2. Attendez que le serveur se redémarre ou recharge les OPs
|
|
3. Réessayez l'enregistrement
|
|
|
|
### Problème: "Impossible de se connecter à localhost:3000"
|
|
|
|
**Cause**: L'application n'est pas lancée ou sur le mauvais port
|
|
|
|
**Solution**:
|
|
1. Vérifiez que `npm start` est lancé dans `backend/`
|
|
2. Vérifiez le PORT dans `.env`
|
|
3. Assurez-vous qu'aucune autre application n'utilise ce port:
|
|
```bash
|
|
lsof -i :3000 # Linux/Mac
|
|
netstat -ano | findstr :3000 # Windows
|
|
```
|
|
|
|
### Problème: "Node.js n'est pas trouvé"
|
|
|
|
**Solution**: Installer Node.js
|
|
- **Ubuntu/Debian**: `sudo apt-get install nodejs npm`
|
|
- **CentOS/RHEL**: `sudo yum install nodejs npm`
|
|
- **macOS**: `brew install node`
|
|
- **Windows**: https://nodejs.org
|
|
|
|
## 📊 Fonctionnalités Détaillées
|
|
|
|
### Console RCON
|
|
Exécutez n'importe quelle commande Minecraft:
|
|
```
|
|
/say Bienvenue!
|
|
/gamemode 1 @p
|
|
/give @p diamond 64
|
|
/weather clear
|
|
```
|
|
|
|
### Gestion des Logs
|
|
- Affichage temps réel
|
|
- Recherche par mot-clé
|
|
- Support multi-fichiers
|
|
|
|
### Whitelist
|
|
- Ajouter des joueurs
|
|
- Supprimer des joueurs
|
|
- Format JSON automatique
|
|
|
|
### Backups
|
|
- Création manuelle
|
|
- Compression tar.gz
|
|
- Gestion de l'espace
|
|
|
|
### Paramètres
|
|
- Lire tous les paramètres server.properties
|
|
- Modifier certains paramètres
|
|
- Changement de RCON
|
|
|
|
## 🔒 Sécurité - Important!
|
|
|
|
### En Production:
|
|
|
|
1. **Changez SESSION_SECRET**:
|
|
```bash
|
|
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
|
```
|
|
|
|
2. **Utilisez HTTPS**:
|
|
- Achetez un certificat SSL
|
|
- Configurez un proxy (nginx/Apache)
|
|
- Voir DEPLOYMENT.md
|
|
|
|
3. **Limitez l'accès**:
|
|
- Firewall: autoriser seulement vos IPs
|
|
- VPN: si accès distant
|
|
- Proxy avec authentification
|
|
|
|
4. **Changez RCON**:
|
|
- Utilisez un mot de passe fort
|
|
- Changez-le régulièrement
|
|
|
|
5. **Backups**:
|
|
- Sauvegardez vos backups ailleurs
|
|
- Testez les restaurations
|
|
|
|
## 📞 Support et Aide
|
|
|
|
### Vérification Rapide
|
|
|
|
```bash
|
|
# Vérifier que Node.js fonctionne
|
|
node --version
|
|
|
|
# Tester npm
|
|
npm --version
|
|
|
|
# Vérifier RCON du serveur MC
|
|
echo "status" | nc localhost 25575
|
|
|
|
# Vérifier les logs
|
|
cat /path/to/mc-server/latest.log | tail -50
|
|
```
|
|
|
|
### Logs de l'Application
|
|
|
|
Les logs du backend s'affichent en direct quand vous lancez `npm start`.
|
|
|
|
Logs des commandes RCON:
|
|
```
|
|
SERVER_DIR/.web-admin/rcon-history.json
|
|
```
|
|
|
|
## 🚀 Prochaines Étapes
|
|
|
|
- [ ] Tester toutes les fonctionnalités
|
|
- [ ] Ajouter des joueurs à la whitelist
|
|
- [ ] Créer des backups réguliers
|
|
- [ ] Configurer HTTPS pour la production
|
|
- [ ] Automatiser avec des scripts
|
|
|
|
## 📝 Notes Importantes
|
|
|
|
1. **Redémarrage du serveur**: Les joueurs seront déconnectés
|
|
2. **Sauvegarde**: Faites des backups réguliers
|
|
3. **RCON**: Gardez le mot de passe sécurisé
|
|
4. **Logs**: Vérifiez régulièrement pour les erreurs
|
|
5. **Mises à jour**: Vérifiez les mises à jour Node.js
|
|
|
|
Bon courage avec votre serveur! 🎮
|