Update: README.md pour déploiement Docker
This commit is contained in:
518
README.md
518
README.md
@@ -1,314 +1,358 @@
|
||||
# 🎮 Serveur NationsGlory MCPC+ 1.6.4
|
||||
# 🎮 Serveur NationsGlory 1.6.4 - Docker
|
||||
|
||||
Serveur Minecraft 1.6.4 avec support mods (Forge) et plugins (Bukkit) via MCPC+.
|
||||
Serveur Minecraft 1.6.4 moddé avec MCPC+ (Forge + Bukkit) déployable via Docker.
|
||||
**Tout inclus**: mcpc.jar, 21 mods Forge, 6 plugins Bukkit, configurations.
|
||||
|
||||
## <20> Navigation rapide
|
||||
---
|
||||
|
||||
- **🐳 [Déploiement Docker](DOCKER.md)** - Utilisation avec Docker Compose
|
||||
- **🚀 [Déploiement Production](DEPLOYMENT.md)** - Migration vers /srv/minecraft
|
||||
- **⚡ [Démarrage rapide](QUICKSTART.md)** - Commandes essentielles
|
||||
- **🔧 [Notes techniques](TECHNICAL_NOTES.md)** - Configuration détaillée
|
||||
- **📦 [Installation](INSTALLATION.md)** - Guide d'installation
|
||||
## 🚀 Installation rapide (3 commandes)
|
||||
|
||||
## 🐳 Déploiement Docker (recommandé)
|
||||
|
||||
### Option 1 : Migration locale vers /srv/minecraft
|
||||
```bash
|
||||
sudo ./migrate-to-srv.sh
|
||||
cd /srv/minecraft/moddé
|
||||
make start
|
||||
# 1. Cloner le dépôt (tout est inclus: mcpc.jar, mods, plugins)
|
||||
git clone <votre-repo> nationsglory-server
|
||||
cd nationsglory-server
|
||||
|
||||
# 2. (Optionnel) Configurer
|
||||
cp .env.example .env
|
||||
|
||||
# 3. Démarrer le serveur
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Option 2 : Développement local
|
||||
```bash
|
||||
cd server-final
|
||||
cp ../docker-compose.yml .
|
||||
cp ../.env.example .env
|
||||
make start
|
||||
```
|
||||
**C'est tout!** Le serveur est accessible sur `localhost:25565`
|
||||
|
||||
Voir [DOCKER.md](DOCKER.md) pour la documentation complète Docker.
|
||||
---
|
||||
|
||||
## 📋 Prérequis
|
||||
|
||||
### Sans Docker (méthode originale)
|
||||
- **Port 25565** disponible
|
||||
- Au moins **2 GB de RAM** libre
|
||||
- **Docker** et **Docker Compose** installés
|
||||
- **Port 25565** disponible
|
||||
- **4 GB RAM** minimum
|
||||
- **Git** pour cloner le dépôt
|
||||
|
||||
### Avec Docker (recommandé)
|
||||
- **Docker** installé sur votre système
|
||||
- **Docker Compose** installé
|
||||
- Au moins **2 GB de RAM** libre
|
||||
---
|
||||
|
||||
## 🚀 Démarrage rapide
|
||||
## 🎮 Commandes de gestion
|
||||
|
||||
### Méthode Docker (recommandée)
|
||||
### Démarrer
|
||||
```bash
|
||||
# Avec Make
|
||||
make start
|
||||
make logs
|
||||
|
||||
# Ou avec Docker Compose
|
||||
docker-compose up -d
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### Méthode originale (Docker manuel)
|
||||
### Voir les logs (sans spam)
|
||||
```bash
|
||||
cd server-final
|
||||
./start-docker.sh
|
||||
docker logs -f mc-nationsglory 2>&1 | sed -u '/^>/d'
|
||||
```
|
||||
|
||||
Le serveur démarre dans un conteneur Docker avec Java 7, requis pour MCPC+ 1.6.4.
|
||||
### Arrêter
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## 📁 Structure du serveur
|
||||
### Redémarrer
|
||||
```bash
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### Console interactive (RCON)
|
||||
```bash
|
||||
# Récupérer le mot de passe RCON
|
||||
docker exec mc-nationsglory cat /data/server.properties | grep rcon.password
|
||||
|
||||
# Ouvrir la console
|
||||
docker exec -it mc-nationsglory rcon-cli --password <mot-de-passe>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Structure du projet
|
||||
|
||||
```
|
||||
server-final/
|
||||
├── mcpc.jar # Serveur MCPC+ 1.6.4-R2.1-forge965-B251
|
||||
├── start-docker.sh # Script de démarrage Docker
|
||||
├── server.properties # Configuration serveur
|
||||
├── mods/ # Mods Forge
|
||||
nationsglory-server/
|
||||
├── docker-compose.yml # Configuration Docker
|
||||
├── .gitignore # Fichiers ignorés
|
||||
├── .env.example # Template configuration
|
||||
│
|
||||
├── mcpc.jar # Serveur MCPC+ (INCLUS - 29 MB)
|
||||
│
|
||||
├── mods/ # 21 mods Forge (20 MB)
|
||||
│ ├── aquatweaksng.jar
|
||||
│ ├── chisel-1.0.jar
|
||||
│ ├── ngbibliocraft-1.5.5.jar
|
||||
│ ├── customnpc-1.0.jar
|
||||
│ ├── flansmods-4.1.1.jar
|
||||
│ ├── westerosblocksng.jar
|
||||
│ └── ... (21 mods chargés)
|
||||
├── plugins/ # Plugins Bukkit
|
||||
│ ├── WorldEdit.jar # Édition de terrain
|
||||
│ └── Essentials.jar # Commandes essentielles
|
||||
├── config/ # Configurations mods
|
||||
├── libraries/ # Dépendances Maven
|
||||
└── world/ # Monde Minecraft (FLAT)
|
||||
│ └── ... (et 16 autres)
|
||||
│
|
||||
├── plugins/ # 6 plugins Bukkit (3.3 MB)
|
||||
│ ├── Essentials.jar # Commandes essentielles
|
||||
│ ├── EssentialsChat.jar
|
||||
│ ├── EssentialsSpawn.jar
|
||||
│ ├── worldedit-5.6.jar # Édition terrain
|
||||
│ └── ...
|
||||
│
|
||||
├── config/ # Configurations (488 KB)
|
||||
│ ├── forge.cfg
|
||||
│ ├── worldedit/
|
||||
│ └── ... (40+ fichiers)
|
||||
│
|
||||
├── world/ # Monde Minecraft (NON versionné)
|
||||
└── logs/ # Logs serveur (NON versionné)
|
||||
```
|
||||
|
||||
**Taille totale du dépôt Git: ~53 MB**
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
### Serveur (server.properties)
|
||||
### Paramètres serveur (automatiques)
|
||||
|
||||
- **Port** : `25565`
|
||||
- **Mode** : Créatif (`gamemode=1`)
|
||||
- **Type de monde** : FLAT (`level-type=FLAT`)
|
||||
- **Authentification** : Désactivée (`online-mode=false`) - comptes crack acceptés
|
||||
- **PvP** : Désactivé (`pvp=false`)
|
||||
- **Monstres** : Désactivés (`spawn-monsters=false`)
|
||||
- **Vol** : Autorisé (`allow-flight=true`)
|
||||
- **Version**: Minecraft 1.6.4
|
||||
- **Port**: 25565
|
||||
- **Mode**: Créatif (gamemode=1)
|
||||
- **Type monde**: FLAT
|
||||
- **RAM**: 2 GB (configurable)
|
||||
- **Authentification**: Désactivée (comptes crack acceptés)
|
||||
- **PvP**: Désactivé
|
||||
- **Vol**: Autorisé
|
||||
|
||||
### Ressources Docker
|
||||
### Modifier la mémoire
|
||||
|
||||
- **RAM Max** : 2 GB (`-Xmx2G`)
|
||||
- **RAM Init** : 1 GB (`-Xms1G`)
|
||||
- **GC** : G1GC (optimisé)
|
||||
- **File descriptors** : 65535 (ulimit configuré)
|
||||
Éditer `docker-compose.yml`:
|
||||
```yaml
|
||||
environment:
|
||||
MEMORY: "3G" # RAM max
|
||||
INIT_MEMORY: "1500M" # RAM initiale
|
||||
```
|
||||
|
||||
### Changer le port
|
||||
|
||||
Éditer `docker-compose.yml`:
|
||||
```yaml
|
||||
ports:
|
||||
- "25566:25565" # Utilise le port 25566
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Plugins installés
|
||||
|
||||
### WorldEdit
|
||||
Édition de terrain avancée pour constructions massives.
|
||||
|
||||
**Commandes principales** :
|
||||
- `//wand` - Obtenir l'outil de sélection
|
||||
- `//set <block>` - Remplir la sélection
|
||||
- `//replace <from> <to>` - Remplacer des blocs
|
||||
- `//copy` - Copier la sélection
|
||||
- `//paste` - Coller
|
||||
- `//undo` - Annuler
|
||||
- `//redo` - Refaire
|
||||
|
||||
### Essentials
|
||||
Commandes de gestion serveur essentielles.
|
||||
|
||||
**Commandes principales** :
|
||||
- `/tp <joueur>` - Téléportation
|
||||
- `/give <joueur> <item> [qté]` - Donner items
|
||||
- `/gamemode <mode>` - Changer mode de jeu
|
||||
- `/fly` - Activer/désactiver vol
|
||||
- `/heal` - Soigner
|
||||
- `/feed` - Nourrir
|
||||
- `/time <set/add> <temps>` - Contrôle du temps
|
||||
- `/weather <clear/rain/thunder>` - Météo
|
||||
|
||||
## 🔐 Gestion des permissions
|
||||
|
||||
### Opérateurs (OP)
|
||||
|
||||
Donner tous les droits à un joueur :
|
||||
### WorldEdit 5.6 (Édition terrain)
|
||||
```
|
||||
op <pseudo>
|
||||
//wand # Outil de sélection
|
||||
//set <block> # Remplir
|
||||
//replace <a> <b> # Remplacer
|
||||
//copy # Copier
|
||||
//paste # Coller
|
||||
//undo # Annuler
|
||||
```
|
||||
|
||||
Retirer les droits :
|
||||
### Essentials 2.13.1 (Gestion serveur)
|
||||
```
|
||||
deop <pseudo>
|
||||
/tp <joueur> # Téléporter
|
||||
/give <joueur> <item> [qté] # Donner items
|
||||
/gamemode <mode> # Changer mode
|
||||
/fly # Vol
|
||||
/heal # Soigner
|
||||
/time set <temps> # Temps
|
||||
/weather <clear/rain> # Météo
|
||||
```
|
||||
|
||||
### Fichiers de permissions
|
||||
---
|
||||
|
||||
- `ops.txt` - Liste des opérateurs
|
||||
- `white-list.txt` - Liste blanche (si activée)
|
||||
- `banned-players.txt` - Joueurs bannis
|
||||
- `banned-ips.txt` - IPs bannies
|
||||
## 🔐 Gestion des joueurs
|
||||
|
||||
## 🛠️ Commandes serveur
|
||||
|
||||
### Console serveur
|
||||
|
||||
Une fois démarré, vous pouvez taper des commandes :
|
||||
|
||||
```
|
||||
help # Liste des commandes
|
||||
op <pseudo> # Donner OP
|
||||
stop # Arrêter le serveur
|
||||
save-all # Sauvegarder le monde
|
||||
list # Liste des joueurs
|
||||
ban <pseudo> # Bannir un joueur
|
||||
pardon <pseudo> # Débannir
|
||||
```
|
||||
|
||||
### Redémarrage
|
||||
|
||||
1. Dans la console : `stop`
|
||||
2. Attendre l'arrêt complet
|
||||
3. Relancer : `./start-docker.sh`
|
||||
|
||||
## 🔧 Maintenance
|
||||
|
||||
### Sauvegardes
|
||||
|
||||
**Sauvegarder le monde** :
|
||||
### Donner les droits admin (OP)
|
||||
```bash
|
||||
cd server-final
|
||||
tar -czf backup-$(date +%Y%m%d-%H%M).tar.gz world/ DIM1/ DIM-1/
|
||||
# Via RCON
|
||||
docker exec mc-nationsglory rcon-cli --password <mdp> "op <pseudo>"
|
||||
|
||||
# Ou via console interactive
|
||||
docker exec -it mc-nationsglory rcon-cli --password <mdp>
|
||||
> op <pseudo>
|
||||
```
|
||||
|
||||
**Restaurer** :
|
||||
### Retirer les droits
|
||||
```bash
|
||||
rm -rf world/ DIM1/ DIM-1/
|
||||
tar -xzf backup-YYYYMMDD-HHMM.tar.gz
|
||||
docker exec mc-nationsglory rcon-cli --password <mdp> "deop <pseudo>"
|
||||
```
|
||||
|
||||
### Bannir/débannir
|
||||
```bash
|
||||
# Bannir
|
||||
docker exec mc-nationsglory rcon-cli --password <mdp> "ban <pseudo>"
|
||||
|
||||
# Débannir
|
||||
docker exec mc-nationsglory rcon-cli --password <mdp> "pardon <pseudo>"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Maintenance
|
||||
|
||||
### Sauvegarder le monde
|
||||
```bash
|
||||
docker exec mc-nationsglory rcon-cli --password <mdp> "save-all"
|
||||
tar -czf backup-$(date +%Y%m%d).tar.gz world/
|
||||
```
|
||||
|
||||
### Restaurer une sauvegarde
|
||||
```bash
|
||||
docker-compose down
|
||||
rm -rf world/
|
||||
tar -xzf backup-YYYYMMDD.tar.gz
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Réinitialiser le monde
|
||||
|
||||
⚠️ **Attention** : Supprime toutes les constructions !
|
||||
|
||||
```bash
|
||||
cd server-final
|
||||
rm -rf world/ DIM1/ DIM-1/
|
||||
# Au prochain démarrage, un nouveau monde FLAT sera généré
|
||||
docker-compose down
|
||||
rm -rf world/
|
||||
docker-compose up -d # Un nouveau monde FLAT sera créé
|
||||
```
|
||||
|
||||
### Nettoyer les logs
|
||||
|
||||
```bash
|
||||
cd server-final
|
||||
rm -f *.log *.log.* *.lck
|
||||
rm -rf crash-reports/*
|
||||
docker exec mc-nationsglory sh -c "rm -f /data/*.log /data/*.lck"
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
## 📦 Mods installés
|
||||
---
|
||||
|
||||
**21 mods actifs** :
|
||||
- Chisel - Blocs décoratifs
|
||||
- WesterosBlocks - Blocs Game of Thrones
|
||||
- BiblioCraft - Meubles et décorations
|
||||
- Autoutils - Outils automatiques
|
||||
- CustomNPCs - PNJs personnalisés
|
||||
- Flan's Mod - Véhicules et armes
|
||||
- Netherrocks - Minerais du Nether
|
||||
- TLSpecialArmor - Armures spéciales
|
||||
- UniversalElectricity - Électricité
|
||||
- WeaponMod - Armes
|
||||
- AquaTweaks - Modifications aquatiques
|
||||
- Et plus...
|
||||
## 📦 Mods inclus (21 mods)
|
||||
|
||||
- **Chisel** - Blocs décoratifs variés
|
||||
- **WesterosBlocks** - Blocs Game of Thrones
|
||||
- **BiblioCraft** - Meubles et décorations
|
||||
- **CustomNPCs** - PNJs personnalisables
|
||||
- **Flan's Mod** - Véhicules et armes
|
||||
- **UniversalElectricity** - Système électrique
|
||||
- **Netherrocks** - Nouveaux minerais
|
||||
- **WeaponMod** - Armes modernes
|
||||
- **TLSpecialArmor** - Armures spéciales
|
||||
- **AquaTweaks** - Modifications aquatiques
|
||||
- **Chisel** - Blocs architecturaux
|
||||
- **Parachute Mod** - Parachutes
|
||||
- **Dragons Radio Mod** - Radio
|
||||
- **Get All The Seeds** - Graines
|
||||
- **MapWriter** - Minimap
|
||||
- **Melons Spawn** - Pastèques
|
||||
- **NationsGUI** - Interface NationsGlory
|
||||
- **NGContent** - Contenu NationsGlory
|
||||
- **NGElectricity** - Électricité NationsGlory
|
||||
- **Pam's Harvestcraft** - Agriculture
|
||||
- **Et plus...**
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Mise à jour et déploiement
|
||||
|
||||
### Sur un nouveau serveur
|
||||
```bash
|
||||
git clone <repo>
|
||||
cd nationsglory-server
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Mettre à jour le serveur
|
||||
```bash
|
||||
git pull
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### Ajouter un mod
|
||||
```bash
|
||||
# 1. Copier le mod
|
||||
cp nouveau-mod.jar mods/
|
||||
|
||||
# 2. Commiter
|
||||
git add mods/nouveau-mod.jar
|
||||
git commit -m "Add: nouveau-mod"
|
||||
git push
|
||||
|
||||
# 3. Sur le serveur
|
||||
git pull
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Le serveur ne démarre pas
|
||||
|
||||
1. Vérifier que Docker est lancé : `docker ps`
|
||||
2. Vérifier le port 25565 : `netstat -tuln | grep 25565`
|
||||
3. Vérifier les logs : `cat server-final/server.log`
|
||||
|
||||
### Erreur "Permission denied"
|
||||
|
||||
Corriger les permissions :
|
||||
```bash
|
||||
sudo chown -R $USER:$USER server-final/
|
||||
# Vérifier les logs
|
||||
docker logs mc-nationsglory
|
||||
|
||||
# Vérifier le conteneur
|
||||
docker ps -a
|
||||
|
||||
# Recréer le conteneur
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Connexion refusée
|
||||
### Impossible de se connecter
|
||||
```bash
|
||||
# Vérifier le port
|
||||
docker ps | grep 25565
|
||||
|
||||
1. Vérifier que `online-mode=false` dans `server.properties`
|
||||
2. Le serveur accepte les comptes crack
|
||||
# Vérifier que le serveur écoute
|
||||
nc -zv localhost 25565
|
||||
```
|
||||
|
||||
### Lag/performances
|
||||
```bash
|
||||
# Augmenter la RAM dans docker-compose.yml
|
||||
MEMORY: "4G"
|
||||
INIT_MEMORY: "2G"
|
||||
|
||||
1. Augmenter la RAM dans `start-docker.sh` (changer `-Xmx2G` en `-Xmx4G`)
|
||||
2. Réduire `view-distance` dans `server.properties`
|
||||
3. Limiter les entités : `/killall [type]`
|
||||
|
||||
## 🌍 Type de monde
|
||||
|
||||
Le serveur génère un **monde plat** (`level-type=FLAT`) idéal pour :
|
||||
- Constructions massives
|
||||
- Villes et nations
|
||||
- PvP arènes
|
||||
- Projets créatifs
|
||||
|
||||
Pour changer le type de monde :
|
||||
1. `stop` dans la console
|
||||
2. Modifier `level-type` dans `server.properties` (`DEFAULT`, `FLAT`, `LARGEBIOMES`)
|
||||
3. Supprimer `world/` pour régénérer
|
||||
4. Redémarrer
|
||||
|
||||
## 📞 Support
|
||||
|
||||
### Logs importants
|
||||
|
||||
- `server.log` - Log principal
|
||||
- `ForgeModLoader-server-0.log` - Logs Forge/mods
|
||||
- `crash-reports/` - Rapports de crash
|
||||
|
||||
### Vérifier les mods chargés
|
||||
|
||||
Au démarrage, chercher dans les logs :
|
||||
```
|
||||
[INFO] Forge Mod Loader has successfully loaded 21 mods
|
||||
# Redémarrer
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Commandes de debug
|
||||
### RCON ne fonctionne pas
|
||||
```bash
|
||||
# Récupérer le bon mot de passe
|
||||
docker exec mc-nationsglory cat /data/server.properties | grep rcon.password
|
||||
|
||||
# Tester
|
||||
docker exec mc-nationsglory rcon-cli --password <mdp> "list"
|
||||
```
|
||||
/forge tps # Performance serveur
|
||||
/gc # Garbage collector
|
||||
/mem # Utilisation mémoire
|
||||
```
|
||||
|
||||
## 📝 Notes importantes
|
||||
|
||||
- ✅ Le serveur fonctionne avec **Java 7** via Docker
|
||||
- ✅ Compatible avec les **comptes crack** (online-mode=false)
|
||||
- ✅ **21 mods** chargés automatiquement
|
||||
- ✅ **Plugins Bukkit** compatibles 1.6.4
|
||||
- ⚠️ Les warnings "anonymous item" sont normaux (compatibilité 1.7)
|
||||
- ⚠️ Certains items peuvent manquer si le monde a été généré avec d'autres mods
|
||||
|
||||
## 🔄 Mises à jour
|
||||
|
||||
### Ajouter un mod
|
||||
|
||||
1. Placer le `.jar` dans `server-final/mods/`
|
||||
2. Redémarrer le serveur
|
||||
3. Vérifier les logs pour les erreurs
|
||||
|
||||
### Ajouter un plugin
|
||||
|
||||
1. Placer le `.jar` dans `server-final/plugins/`
|
||||
2. Redémarrer le serveur
|
||||
3. Le plugin se charge automatiquement
|
||||
|
||||
---
|
||||
|
||||
**Version** : MCPC+ 1.6.4-R2.1-forge965-B251
|
||||
**Forge** : 9.11.1.965
|
||||
**Minecraft** : 1.6.4
|
||||
**Java** : 7 (via Docker)
|
||||
## 📊 Informations techniques
|
||||
|
||||
- **Version Minecraft**: 1.6.4
|
||||
- **Serveur**: MCPC+ 1.6.4-R2.1-forge965-B251
|
||||
- **Forge**: 9.11.1.965
|
||||
- **Java**: 7 (via conteneur Docker)
|
||||
- **Image Docker**: itzg/minecraft-server:java7
|
||||
- **Mods**: 21 (Forge)
|
||||
- **Plugins**: 6 (Bukkit)
|
||||
- **Taille dépôt**: ~53 MB
|
||||
|
||||
---
|
||||
|
||||
## 📖 Documentation complémentaire
|
||||
|
||||
- [DEPLOY_README.md](DEPLOY_README.md) - Guide de déploiement détaillé
|
||||
- [DEPLOYMENT_CHECKLIST.md](DEPLOYMENT_CHECKLIST.md) - Checklist de déploiement
|
||||
- `.env.example` - Variables d'environnement disponibles
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Notes importantes
|
||||
|
||||
- ✅ **Comptes crack acceptés** (online-mode=false)
|
||||
- ✅ **Docker obligatoire** (Java 7 requis)
|
||||
- ✅ **Tout inclus** (mcpc.jar, mods, plugins)
|
||||
- ⚠️ Les warnings "anonymous item" sont normaux (compatibilité 1.7)
|
||||
- ⚠️ Le monde est en **FLAT** par défaut (idéal pour constructions)
|
||||
- ⚠️ `world/` n'est PAS versionné (données spécifiques au serveur)
|
||||
|
||||
---
|
||||
|
||||
**Serveur prêt à déployer en 3 commandes** 🚀
|
||||
|
||||
Reference in New Issue
Block a user