Default configuration serveur Build NG RED
This commit is contained in:
349
DOCKER.md
Normal file
349
DOCKER.md
Normal file
@@ -0,0 +1,349 @@
|
||||
# 🐳 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
|
||||
Reference in New Issue
Block a user