🎮 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 (repo Git)
├── WebNationsGlory_ServeurBuild_Red/ # Application web admin (repo Git)
├── deploy.sh # Script de déploiement
├── stop.sh # Script d'arrêt
├── check-config.sh # Vérification et sync Git
└── repos.conf # Configuration des repos Git
🚀 Déploiement Rapide
Prérequis
- Git installé
- Docker et Docker Compose installés
- Ports disponibles: 25565 (Minecraft), 25575 (RCON), 4001 (Web Admin)
Installation en 4 étapes
0. Configuration Git (première fois uniquement)
# Copier et configurer les URLs des repositories
cp repos.conf.example repos.conf
nano repos.conf
Configurez les URLs de vos repositories Git :
MC_SERVER_REPO: URL du repository du serveur MinecraftWEB_ADMIN_REPO: URL du repository de l'application web
Exemples d'URLs :
# Git local (SSH)
MC_SERVER_REPO="git@192.168.1.195:/srv/git/NationsGlory_ServeurBuild_Red.git"
# GitHub
MC_SERVER_REPO="git@github.com:username/NationsGlory_ServeurBuild_Red.git"
1. Synchronisation et vérification
./check-config.sh
Ce script va automatiquement :
- ✅ Cloner les repositories s'ils n'existent pas
- ✅ Mettre à jour les repositories existants
- ✅ Vérifier Docker, les ports, et la configuration
- ✅ Détecter les problèmes de configuration
2. Configuration initiale
cd WebNationsGlory_ServeurBuild_Red
cp .env.example .env
nano .env
Modifiez au minimum :
SESSION_SECRET: Générez avecopenssl rand -base64 32RCON_PASSWORD: Mot de passe pour RCON (doit correspondre au serveur MC)
3. Déploiement
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
4. 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
./stop.sh
Voir les logs
Serveur Minecraft:
cd NationsGlory_ServeurBuild_Red
docker-compose logs -f
Application web:
cd WebNationsGlory_ServeurBuild_Red
docker-compose logs -f
Redémarrer
./stop.sh
./deploy.sh
🔧 Configuration Avancée
Variables d'environnement (WebNationsGlory_ServeurBuild_Red/.env)
# 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 :
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 :
# 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
-
Changez le SESSION_SECRET : Utilisez une valeur aléatoire forte
openssl rand -base64 32 -
Changez le RCON_PASSWORD : Ne laissez pas "minecraft" par défaut
-
Utilisez HTTPS : Pour la production, configurez un reverse proxy (nginx, Caddy) avec SSL
-
Restreignez l'accès : Utilisez un pare-feu ou VPN pour l'interface admin
Exemple de configuration nginx avec SSL
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 ✅ Synchronisation Git automatique : Clonage et mises à jour gérés par check-config.sh
Déployer sur une nouvelle machine
-
Clonez le repository parent :
git clone <url-du-repo-parent> NationsGlory cd NationsGlory -
Configurez les repositories :
cp repos.conf.example repos.conf nano repos.conf # Configurez les URLs Git -
Synchronisez et déployez :
./check-config.sh # Clone les repos si nécessaire ./deploy.sh
C'est tout ! 🎉
🔄 Mises à jour
Mettre à jour les projets
Le script check-config.sh gère automatiquement les mises à jour :
./check-config.sh
Le script va :
- ✅ Vérifier si des mises à jour sont disponibles sur les repositories
- ✅ Vous avertir si vous avez des modifications locales non commitées
- ✅ Mettre à jour automatiquement si aucun conflit n'est détecté
Workflow de mise à jour complet
# 1. Vérifier et mettre à jour les repositories
./check-config.sh
# 2. Arrêter les services
./stop.sh
# 3. Redémarrer avec les nouvelles versions
./deploy.sh
Forcer une mise à jour manuelle
Si vous avez des modifications locales et voulez les abandonner :
cd NationsGlory_ServeurBuild_Red
git reset --hard origin/main
git pull
cd ../WebNationsGlory_ServeurBuild_Red
git reset --hard origin/main
git pull
🐛 Dépannage
Le serveur Minecraft ne démarre pas
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
- Vérifiez que
RCON_PASSWORDest identique dans les deux configurations - Vérifiez que le serveur MC a démarré complètement
- Testez RCON manuellement :
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
- Vérifiez que le port 4001 est ouvert
- Vérifiez que Docker utilise
network_mode: hostdans le docker-compose.yml - Testez l'accès :
curl http://votre-ip:4001/api/health
📚 Documentation
- QUICKSTART.md - Guide rapide
- DEPLOYMENT.md - Guide de déploiement détaillé
- CONFIGURATION.md - Configuration avancée
🔄 Mises à jour
Pour mettre à jour le projet :
./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 :
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 :
- Consultez les logs Docker
- Vérifiez les fichiers de configuration
- 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.