- Scripts de déploiement (deploy.sh, stop.sh, check-config.sh) - Documentation complète (README, QUICKSTART, etc.) - Configuration portable avec chemins relatifs
277 lines
6.6 KiB
Markdown
277 lines
6.6 KiB
Markdown
# 🎮 NationsGlory - Déploiement Unifié
|
|
|
|
Ce dossier contient le serveur Minecraft NationsGlory modé et son interface web d'administration.
|
|
|
|
## 📁 Structure
|
|
|
|
```
|
|
Serveur NationsGlory/
|
|
├── NationsGlory_ServeurBuild_Red/ # Serveur Minecraft 1.6.4
|
|
├── WebNationsGlory_ServeurBuild_Red/ # Application web admin
|
|
├── deploy.sh # Script de déploiement
|
|
└── stop.sh # Script d'arrêt
|
|
```
|
|
|
|
## 🚀 Déploiement Rapide
|
|
|
|
### Prérequis
|
|
|
|
- Docker et Docker Compose installés
|
|
- Ports disponibles: 25565 (Minecraft), 25575 (RCON), 4001 (Web Admin)
|
|
|
|
### Installation en 3 étapes
|
|
|
|
#### 1. Configuration initiale
|
|
|
|
```bash
|
|
cd WebNationsGlory_ServeurBuild_Red
|
|
cp .env.example .env
|
|
nano .env
|
|
```
|
|
|
|
Modifiez au minimum :
|
|
- `SESSION_SECRET` : Générez avec `openssl rand -base64 32`
|
|
- `RCON_PASSWORD` : Mot de passe pour RCON (doit correspondre au serveur MC)
|
|
|
|
#### 2. Déploiement
|
|
|
|
```bash
|
|
cd .. # Retour au dossier parent
|
|
./deploy.sh
|
|
```
|
|
|
|
Le script va automatiquement :
|
|
- ✅ Vérifier les dépendances (Docker, Docker Compose)
|
|
- ✅ Configurer les chemins relatifs entre les projets
|
|
- ✅ Démarrer le serveur Minecraft
|
|
- ✅ Démarrer l'application web admin
|
|
- ✅ Afficher les URLs d'accès
|
|
|
|
#### 3. Accès
|
|
|
|
**Serveur Minecraft:**
|
|
- Adresse: `votre-ip:25565`
|
|
- Version: 1.6.4 (Forge modé)
|
|
|
|
**Interface Web Admin:**
|
|
- Local: `http://localhost:4001`
|
|
- Réseau: `http://votre-ip:4001`
|
|
- Premier accès: Créez le compte admin
|
|
|
|
## 🛠️ Gestion
|
|
|
|
### Arrêter les services
|
|
|
|
```bash
|
|
./stop.sh
|
|
```
|
|
|
|
### Voir les logs
|
|
|
|
**Serveur Minecraft:**
|
|
```bash
|
|
cd NationsGlory_ServeurBuild_Red
|
|
docker-compose logs -f
|
|
```
|
|
|
|
**Application web:**
|
|
```bash
|
|
cd WebNationsGlory_ServeurBuild_Red
|
|
docker-compose logs -f
|
|
```
|
|
|
|
### Redémarrer
|
|
|
|
```bash
|
|
./stop.sh
|
|
./deploy.sh
|
|
```
|
|
|
|
## 🔧 Configuration Avancée
|
|
|
|
### Variables d'environnement (WebNationsGlory_ServeurBuild_Red/.env)
|
|
|
|
```bash
|
|
# Environnement
|
|
NODE_ENV=production
|
|
PORT=4001
|
|
|
|
# Chemin relatif vers le serveur MC
|
|
MC_SERVER_PATH=../NationsGlory_ServeurBuild_Red
|
|
|
|
# RCON (doit correspondre au serveur MC)
|
|
RCON_HOST=localhost
|
|
RCON_PORT=25575
|
|
RCON_PASSWORD=minecraft
|
|
|
|
# Sécurité (IMPORTANT!)
|
|
SESSION_SECRET=votre-secret-genere
|
|
|
|
# Optionnel: Domaine public
|
|
# PUBLIC_HOST=votre-domaine.com
|
|
```
|
|
|
|
### Personnalisation du serveur Minecraft
|
|
|
|
Éditez `NationsGlory_ServeurBuild_Red/server.properties` selon vos besoins.
|
|
|
|
Redémarrez ensuite :
|
|
```bash
|
|
cd NationsGlory_ServeurBuild_Red
|
|
docker-compose restart
|
|
```
|
|
|
|
## 📡 Accès à Distance
|
|
|
|
L'application est conçue pour fonctionner nativement avec n'importe quelle adresse :
|
|
|
|
- **Localhost**: `http://localhost:4001`
|
|
- **IP locale**: `http://192.168.1.X:4001`
|
|
- **IP publique**: `http://votre-ip-publique:4001`
|
|
- **Nom de domaine**: `http://votre-domaine.com:4001`
|
|
|
|
Le frontend détecte automatiquement l'hôte et configure les appels API en conséquence.
|
|
|
|
### Configuration du pare-feu
|
|
|
|
Si vous déployez sur un serveur distant, ouvrez les ports :
|
|
|
|
```bash
|
|
# UFW (Ubuntu/Debian)
|
|
sudo ufw allow 25565/tcp # Minecraft
|
|
sudo ufw allow 25575/tcp # RCON
|
|
sudo ufw allow 4001/tcp # Web Admin
|
|
|
|
# Firewalld (CentOS/RHEL)
|
|
sudo firewall-cmd --permanent --add-port=25565/tcp
|
|
sudo firewall-cmd --permanent --add-port=25575/tcp
|
|
sudo firewall-cmd --permanent --add-port=4001/tcp
|
|
sudo firewall-cmd --reload
|
|
```
|
|
|
|
## 🔐 Sécurité
|
|
|
|
### Recommandations
|
|
|
|
1. **Changez le SESSION_SECRET** : Utilisez une valeur aléatoire forte
|
|
```bash
|
|
openssl rand -base64 32
|
|
```
|
|
|
|
2. **Changez le RCON_PASSWORD** : Ne laissez pas "minecraft" par défaut
|
|
|
|
3. **Utilisez HTTPS** : Pour la production, configurez un reverse proxy (nginx, Caddy) avec SSL
|
|
|
|
4. **Restreignez l'accès** : Utilisez un pare-feu ou VPN pour l'interface admin
|
|
|
|
### Exemple de configuration nginx avec SSL
|
|
|
|
```nginx
|
|
server {
|
|
listen 443 ssl http2;
|
|
server_name votre-domaine.com;
|
|
|
|
ssl_certificate /path/to/cert.pem;
|
|
ssl_certificate_key /path/to/key.pem;
|
|
|
|
location / {
|
|
proxy_pass http://localhost:4001;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|
|
```
|
|
|
|
## 📦 Portabilité
|
|
|
|
Cette configuration est entièrement portable :
|
|
|
|
✅ **Pas de chemins absolus** : Tout est relatif au dossier parent
|
|
✅ **Configuration par variables d'environnement** : Facile à adapter
|
|
✅ **Détection automatique de l'hôte** : Fonctionne sur n'importe quelle machine
|
|
✅ **Scripts de déploiement** : Installation simplifiée
|
|
|
|
### Déployer sur une nouvelle machine
|
|
|
|
1. Copiez tout le dossier `Serveur NationsGlory`
|
|
2. Configurez le fichier `.env`
|
|
3. Exécutez `./deploy.sh`
|
|
|
|
C'est tout ! 🎉
|
|
|
|
## 🐛 Dépannage
|
|
|
|
### Le serveur Minecraft ne démarre pas
|
|
|
|
```bash
|
|
cd NationsGlory_ServeurBuild_Red
|
|
docker-compose logs
|
|
```
|
|
|
|
Vérifiez que le fichier `mcpc.jar` est présent.
|
|
|
|
### L'application web ne se connecte pas au serveur MC
|
|
|
|
1. Vérifiez que `RCON_PASSWORD` est identique dans les deux configurations
|
|
2. Vérifiez que le serveur MC a démarré complètement
|
|
3. Testez RCON manuellement :
|
|
```bash
|
|
docker exec -it mc-nationsglory rcon-cli
|
|
```
|
|
|
|
### Erreur "SERVER_DIR not found"
|
|
|
|
Vérifiez que `MC_SERVER_PATH` dans `.env` pointe correctement vers le serveur MC.
|
|
|
|
### L'API ne répond pas depuis une machine distante
|
|
|
|
1. Vérifiez que le port 4001 est ouvert
|
|
2. Vérifiez que Docker utilise `network_mode: host` dans le docker-compose.yml
|
|
3. Testez l'accès : `curl http://votre-ip:4001/api/health`
|
|
|
|
## 📚 Documentation
|
|
|
|
- [QUICKSTART.md](WebNationsGlory_ServeurBuild_Red/QUICKSTART.md) - Guide rapide
|
|
- [DEPLOYMENT.md](WebNationsGlory_ServeurBuild_Red/DEPLOYMENT.md) - Guide de déploiement détaillé
|
|
- [CONFIGURATION.md](WebNationsGlory_ServeurBuild_Red/CONFIGURATION.md) - Configuration avancée
|
|
|
|
## 🔄 Mises à jour
|
|
|
|
Pour mettre à jour le projet :
|
|
|
|
```bash
|
|
./stop.sh
|
|
git pull # Si vous utilisez git
|
|
./deploy.sh
|
|
```
|
|
|
|
## 💾 Sauvegardes
|
|
|
|
Les sauvegardes sont gérées via l'interface web admin.
|
|
|
|
Pour une sauvegarde manuelle :
|
|
```bash
|
|
cd NationsGlory_ServeurBuild_Red
|
|
tar -czf backup-$(date +%Y%m%d-%H%M%S).tar.gz \
|
|
--exclude='*.log' \
|
|
--exclude='*.log.lck' \
|
|
world/ config/ mods/ plugins/
|
|
```
|
|
|
|
## 🤝 Support
|
|
|
|
Pour toute question ou problème :
|
|
1. Consultez les logs Docker
|
|
2. Vérifiez les fichiers de configuration
|
|
3. Assurez-vous que tous les ports sont ouverts
|
|
|
|
## 📄 Licence
|
|
|
|
Projet NationsGlory - Administration serveur Minecraft
|
|
|
|
---
|
|
|
|
**Note**: Ce README est généré pour faciliter le déploiement sur n'importe quel serveur. Les chemins sont relatifs et s'adaptent automatiquement à l'environnement.
|