350 lines
5.7 KiB
Markdown
350 lines
5.7 KiB
Markdown
# 🐳 NationsGlory - Déploiement Docker
|
|
|
|
Serveur Minecraft 1.6.4 MCPC+ conteneurisé avec Docker.
|
|
|
|
## 🚀 Démarrage rapide
|
|
|
|
```bash
|
|
# Copier la configuration
|
|
cp .env.example .env
|
|
|
|
# Démarrer le serveur
|
|
make start
|
|
# ou: docker-compose up -d
|
|
|
|
# Voir les logs
|
|
make logs
|
|
# ou: docker-compose logs -f
|
|
```
|
|
|
|
Le serveur démarre sur `localhost:25565`
|
|
|
|
## 📋 Commandes Make disponibles
|
|
|
|
```bash
|
|
make help # Afficher l'aide
|
|
make start # Démarrer le serveur
|
|
make stop # Arrêter le serveur
|
|
make restart # Redémarrer
|
|
make logs # Voir les logs en temps réel
|
|
make status # État et ressources
|
|
make console # Console serveur (RCON)
|
|
make backup # Créer une sauvegarde
|
|
make check # Vérifier la configuration
|
|
```
|
|
|
|
Voir toutes les commandes : `make help`
|
|
|
|
## 📁 Structure des volumes
|
|
|
|
```
|
|
/srv/minecraft/moddé/
|
|
├── data/ # Volume: données serveur
|
|
│ ├── mcpc.jar # Serveur MCPC+
|
|
│ ├── server.properties
|
|
│ ├── ops.txt
|
|
│ └── logs/
|
|
├── mods/ # Volume: mods Forge
|
|
├── plugins/ # Volume: plugins Bukkit
|
|
├── config/ # Volume: configurations
|
|
├── libraries/ # Volume: dépendances Maven
|
|
├── world/ # Volume: monde Minecraft
|
|
└── backups/ # Sauvegardes locales
|
|
```
|
|
|
|
## ⚙️ Configuration (.env)
|
|
|
|
Principales variables :
|
|
|
|
```env
|
|
MEMORY=2G # RAM maximale
|
|
INIT_MEMORY=1G # RAM initiale
|
|
MINECRAFT_PORT=25565 # Port d'écoute
|
|
MAX_PLAYERS=20 # Joueurs max
|
|
GAMEMODE=creative # Mode de jeu
|
|
LEVEL_TYPE=FLAT # Type de monde
|
|
```
|
|
|
|
Après modification : `make restart`
|
|
|
|
## 🎮 Gestion du serveur
|
|
|
|
### Console serveur
|
|
|
|
```bash
|
|
# Se connecter à la console
|
|
make console
|
|
|
|
# Dans la console:
|
|
> op <pseudo>
|
|
> list
|
|
> save-all
|
|
> stop
|
|
```
|
|
|
|
### Commandes administratives
|
|
|
|
```bash
|
|
# Donner OP
|
|
docker-compose exec nationsglory-modded rcon-cli op <pseudo>
|
|
|
|
# Liste des joueurs
|
|
docker-compose exec nationsglory-modded rcon-cli list
|
|
|
|
# Sauvegarder
|
|
docker-compose exec nationsglory-modded rcon-cli save-all
|
|
```
|
|
|
|
## 💾 Sauvegardes
|
|
|
|
### Backup manuel
|
|
|
|
```bash
|
|
make backup
|
|
```
|
|
|
|
Crée : `backups/world-YYYYMMDD-HHMM.tar.gz`
|
|
|
|
### Lister les backups
|
|
|
|
```bash
|
|
make list-backups
|
|
```
|
|
|
|
### Restaurer un backup
|
|
|
|
```bash
|
|
# Arrêter le serveur
|
|
make stop
|
|
|
|
# Restaurer
|
|
tar -xzf backups/world-YYYYMMDD-HHMM.tar.gz
|
|
|
|
# Redémarrer
|
|
make start
|
|
```
|
|
|
|
## 🔧 Maintenance
|
|
|
|
### Nettoyer les logs
|
|
|
|
```bash
|
|
make clean-logs
|
|
```
|
|
|
|
### Supprimer vieux backups (>7j)
|
|
|
|
```bash
|
|
make clean-backups
|
|
```
|
|
|
|
### Mettre à jour Docker image
|
|
|
|
```bash
|
|
make update
|
|
make restart
|
|
```
|
|
|
|
### Réinitialiser le monde
|
|
|
|
⚠️ **DESTRUCTIF** - Supprime toutes les constructions !
|
|
|
|
```bash
|
|
make reset-world
|
|
```
|
|
|
|
## 📊 Monitoring
|
|
|
|
### Statistiques
|
|
|
|
```bash
|
|
make status # État général
|
|
make stats # Statistiques détaillées
|
|
```
|
|
|
|
### Logs
|
|
|
|
```bash
|
|
make logs # Temps réel
|
|
docker-compose logs --tail=100 # 100 dernières lignes
|
|
docker-compose logs | grep ERROR # Erreurs uniquement
|
|
```
|
|
|
|
### Ressources
|
|
|
|
```bash
|
|
docker stats mc-nationsglory
|
|
```
|
|
|
|
## 🚚 Migration vers /srv/minecraft
|
|
|
|
### Automatique (recommandé)
|
|
|
|
```bash
|
|
sudo make migrate
|
|
# ou: sudo ./migrate-to-srv.sh
|
|
```
|
|
|
|
### Manuelle
|
|
|
|
```bash
|
|
# Créer la structure
|
|
sudo mkdir -p /srv/minecraft/moddé
|
|
|
|
# Copier les fichiers
|
|
sudo cp -r data mods plugins config libraries /srv/minecraft/moddé/
|
|
sudo cp docker-compose.yml .env /srv/minecraft/moddé/
|
|
|
|
# Permissions
|
|
sudo chown -R 1000:1000 /srv/minecraft/moddé
|
|
|
|
# Démarrer
|
|
cd /srv/minecraft/moddé
|
|
make start
|
|
```
|
|
|
|
## 🔐 Sécurité
|
|
|
|
### Whitelist
|
|
|
|
```bash
|
|
# Activer
|
|
docker-compose exec nationsglory-modded rcon-cli whitelist on
|
|
|
|
# Ajouter joueur
|
|
docker-compose exec nationsglory-modded rcon-cli whitelist add <pseudo>
|
|
```
|
|
|
|
### Bannir
|
|
|
|
```bash
|
|
docker-compose exec nationsglory-modded rcon-cli ban <pseudo> <raison>
|
|
```
|
|
|
|
## 🐛 Dépannage
|
|
|
|
### Le serveur ne démarre pas
|
|
|
|
```bash
|
|
# Vérifier les logs
|
|
make logs
|
|
|
|
# Vérifier la config
|
|
make check
|
|
|
|
# Réparer permissions
|
|
make fix-permissions
|
|
```
|
|
|
|
### Port déjà utilisé
|
|
|
|
Dans `.env` :
|
|
```env
|
|
MINECRAFT_PORT=25566
|
|
```
|
|
|
|
Puis : `make restart`
|
|
|
|
### Problème de mémoire
|
|
|
|
Dans `.env` :
|
|
```env
|
|
MEMORY=4G
|
|
INIT_MEMORY=2G
|
|
```
|
|
|
|
### Réparer les permissions
|
|
|
|
```bash
|
|
make fix-permissions
|
|
```
|
|
|
|
## 📚 Documentation complète
|
|
|
|
- [README.md](README.md) - Guide complet
|
|
- [DEPLOYMENT.md](DEPLOYMENT.md) - Déploiement production
|
|
- [QUICKSTART.md](QUICKSTART.md) - Démarrage rapide
|
|
- [TECHNICAL_NOTES.md](TECHNICAL_NOTES.md) - Notes techniques
|
|
|
|
## 🌐 Intégration réseau
|
|
|
|
### Avec Traefik
|
|
|
|
Ajouter dans `docker-compose.yml` :
|
|
|
|
```yaml
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.tcp.routers.minecraft.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.minecraft.entrypoints=minecraft"
|
|
|
|
networks:
|
|
- traefik-network
|
|
```
|
|
|
|
### Multi-serveurs (Velocity/BungeeCord)
|
|
|
|
Structure recommandée :
|
|
```
|
|
/srv/minecraft/
|
|
├── proxy/ # Velocity/BungeeCord
|
|
├── moddé/ # Ce serveur
|
|
└── survie/ # Autre serveur
|
|
```
|
|
|
|
## ⚡ Optimisation
|
|
|
|
### Augmenter performances
|
|
|
|
Dans `.env` :
|
|
```env
|
|
MEMORY=4G
|
|
INIT_MEMORY=2G
|
|
VIEW_DISTANCE=8
|
|
```
|
|
|
|
Dans `docker-compose.yml` :
|
|
```yaml
|
|
JVM_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:+UnlockExperimentalVMOptions"
|
|
```
|
|
|
|
### Limites Docker
|
|
|
|
```yaml
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2'
|
|
memory: 4G
|
|
```
|
|
|
|
## 📞 Support
|
|
|
|
### Vérifier la configuration
|
|
|
|
```bash
|
|
make check
|
|
```
|
|
|
|
### Logs importants
|
|
|
|
- Docker: `make logs`
|
|
- Serveur: `data/logs/latest.log`
|
|
- Crash: `data/crash-reports/`
|
|
|
|
### État du système
|
|
|
|
```bash
|
|
make status
|
|
make stats
|
|
docker ps
|
|
docker stats
|
|
```
|
|
|
|
---
|
|
|
|
**Image Docker** : `itzg/minecraft-server:java8`
|
|
**Serveur** : MCPC+ 1.6.4-R2.1-forge965-B251
|
|
**Mods** : 21 actifs
|
|
**Plugins** : WorldEdit, Essentials
|