Files
NationsGlory_ServeurBuild_Red/CONFIGURATION.md
y.campiontrebouta@innotexnas.ovh 6357df2f2c fix: Ajoute libraries essentielles pour démarrage serveur
- Inclut libraries/*.jar dans Git (21 MB)
- Ajoute Scala 2.10.2 (library + compiler)
- Ajoute launchwrapper, asm-all, jopt-simple, lzma
- Corrige .gitignore pour versionner libraries
- Corrige configuration RCON dans conteneur
- Met à jour .env.example avec avertissement sécurité

Résout: ClassNotFoundException au démarrage
2026-02-04 00:14:35 +01:00

310 lines
6.8 KiB
Markdown

# 🔧 Configuration avancée - NationsGlory 1.6.4
## 📝 Fichiers de configuration
### docker-compose.yml
Configuration Docker principale. Variables importantes:
```yaml
environment:
SERVER_PORT: "25565" # Port du serveur Minecraft
RCON_PORT: "25575" # Port RCON (administration)
RCON_PASSWORD: "minecraft" # ⚠️ À CHANGER pour la sécurité
ONLINE_MODE: "FALSE" # Accepte les comptes crack
GAMEMODE: "1" # 0=Survie, 1=Créatif, 2=Aventure
LEVEL_TYPE: "FLAT" # Type de monde (FLAT, DEFAULT, LARGEBIOMES)
MEMORY: "2G" # RAM maximale
INIT_MEMORY: "1G" # RAM initiale
```
### server.properties
Généré automatiquement. Modifications manuelles nécessaires pour:
- `online-mode=false` (authentification crack)
- `level-type=FLAT` (monde plat)
- `gamemode=1` (mode créatif)
- `rcon.password=VotreMotDePasse` (mot de passe RCON)
⚠️ **Redémarrez après modification**: `docker-compose restart`
---
## 🔐 Configuration RCON sécurisée
### 1. Définir le mot de passe RCON
**Méthode 1: Avant le premier démarrage**
```bash
# Éditer server.properties
echo "rcon.password=VotreMotDePasseSecurise" >> server.properties
echo "enable-rcon=true" >> server.properties
```
**Méthode 2: Serveur en cours (modification dans le conteneur)**
```bash
# Modifier directement dans le conteneur
docker exec mc-nationsglory sed -i 's/^rcon.password=.*/rcon.password=NouveauMotDePasse/' /data/server.properties
# Redémarrer pour appliquer
docker-compose restart
```
### 2. Tester RCON
```bash
# Remplacer 192.168.1.252 par votre IP serveur
docker exec mc-nationsglory rcon-cli \
--host 192.168.1.252 \
--port 25575 \
--password VotreMotDePasse \
"list"
```
### 3. Mode interactif
```bash
docker exec -it mc-nationsglory rcon-cli \
--host 192.168.1.252 \
--port 25575 \
--password VotreMotDePasse
# Dans la console RCON:
> list
> op JoueurAdmin
> save-all
> stop
```
---
## 🌍 Configuration du monde
### Réinitialiser le monde en FLAT
```bash
# 1. Arrêter le serveur
docker-compose down
# 2. Supprimer l'ancien monde
sudo rm -rf world world_*
# 3. Modifier server.properties
sed -i 's/level-type=.*/level-type=FLAT/' server.properties
# 4. Redémarrer (génère un nouveau monde FLAT)
docker-compose up -d
```
### Types de mondes disponibles
- **FLAT** : Monde plat (idéal construction)
- **DEFAULT** : Monde normal avec biomes
- **LARGEBIOMES** : Biomes plus grands
- **AMPLIFIED** : Relief extrême (nécessite plus de RAM)
---
## 🎮 Gestion des joueurs
### Donner les droits OP
**Via RCON:**
```bash
docker exec mc-nationsglory rcon-cli \
--host 192.168.1.252 \
--port 25575 \
--password VotreMotDePasse \
"op NomJoueur"
```
**Manuellement:**
```bash
# Ajouter au fichier ops.txt
echo "NomJoueur" >> ops.txt
docker-compose restart
```
### Bannir/Débannir
```bash
# Bannir
docker exec mc-nationsglory rcon-cli --host IP --port 25575 --password MDP "ban JoueurMechant"
# Débannir
docker exec mc-nationsglory rcon-cli --host IP --port 25575 --password MDP "pardon JoueurMechant"
```
---
## 💾 Sauvegardes automatiques
### Script de sauvegarde
```bash
#!/bin/bash
# save-world.sh
BACKUP_DIR="$HOME/backups/nationsglory"
DATE=$(date +%Y%m%d_%H%M%S)
# Créer le dossier de sauvegarde
mkdir -p "$BACKUP_DIR"
# Forcer la sauvegarde
docker exec mc-nationsglory rcon-cli \
--host 192.168.1.252 \
--port 25575 \
--password VotreMotDePasse \
"save-all"
# Attendre la fin
sleep 5
# Archiver
cd /chemin/vers/serveur
tar -czf "$BACKUP_DIR/world_$DATE.tar.gz" world/
echo "✅ Sauvegarde créée: $BACKUP_DIR/world_$DATE.tar.gz"
```
### Automatiser avec cron
```bash
# Éditer crontab
crontab -e
# Sauvegarder toutes les 6 heures
0 */6 * * * /chemin/vers/save-world.sh >> /var/log/minecraft-backup.log 2>&1
```
---
## 🚀 Optimisation performances
### Augmenter la RAM
```yaml
# docker-compose.yml
environment:
MEMORY: "4G" # RAM max
INIT_MEMORY: "2G" # RAM initiale
deploy:
resources:
limits:
memory: 5G # Limite Docker
```
### Options JVM optimisées
```yaml
command:
- sh
- -c
- |
cd /data
exec java \
-Xms2G -Xmx4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-jar mcpc.jar nogui
```
---
## 🔍 Monitoring
### Voir les logs en temps réel
```bash
# Tous les logs
docker logs -f mc-nationsglory
# Sans spam Forge (filtrer les >)
docker logs -f mc-nationsglory 2>&1 | sed -u '/^>/d'
# Rechercher des erreurs
docker logs mc-nationsglory 2>&1 | grep -i "error\|exception"
```
### Surveiller les ressources
```bash
# Utilisation CPU/RAM
docker stats mc-nationsglory
# Processus Java
docker exec mc-nationsglory ps aux | grep java
```
---
## 🐛 Dépannage courant
### Problème: "Failed to verify username"
**Cause**: `online-mode=true`
**Solution**:
```bash
docker exec mc-nationsglory sed -i 's/online-mode=true/online-mode=false/' /data/server.properties
docker-compose restart
```
### Problème: RCON "authentication failed"
**Cause**: Mot de passe incorrect ou vide
**Solution**:
```bash
# Vérifier le mot de passe
docker exec mc-nationsglory grep "rcon.password" /data/server.properties
# Le définir
docker exec mc-nationsglory sed -i 's/^rcon.password=.*/rcon.password=NouveauMDP/' /data/server.properties
docker-compose restart
```
### Problème: Le monde n'est pas FLAT
**Solution**:
```bash
docker-compose down
sudo rm -rf world world_*
sed -i 's/level-type=.*/level-type=FLAT/' server.properties
docker-compose up -d
```
### Problème: Serveur lag
**Solutions**:
1. Augmenter RAM (voir Optimisation)
2. Réduire view-distance dans server.properties: `view-distance=8`
3. Nettoyer les logs: `docker exec mc-nationsglory rm -f /data/*.log`
---
## 📊 Variables d'environnement complètes
| Variable | Valeur par défaut | Description |
|----------|------------------|-------------|
| `SERVER_PORT` | 25565 | Port Minecraft |
| `RCON_PORT` | 25575 | Port RCON |
| `RCON_PASSWORD` | minecraft | Mot de passe RCON |
| `ENABLE_RCON` | true | Activer RCON |
| `ONLINE_MODE` | FALSE | Authentification Mojang |
| `GAMEMODE` | 1 | Mode de jeu (0/1/2) |
| `DIFFICULTY` | 1 | Difficulté (0-3) |
| `LEVEL_TYPE` | FLAT | Type de monde |
| `MEMORY` | 2G | RAM maximale |
| `INIT_MEMORY` | 1G | RAM initiale |
| `JVM_OPTS` | (voir docker-compose.yml) | Options Java |
---
## 🔗 Ressources
- [Documentation MCPC+](https://www.spigotmc.org/wiki/mcpc-plus/)
- [Commandes WorldEdit](https://worldedit.enginehub.org/en/latest/commands/)
- [Commandes Essentials](https://essinfo.xeya.me/commands.html)
- [Options JVM Minecraft](https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/)