- 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
6.8 KiB
6.8 KiB
🔧 Configuration avancée - NationsGlory 1.6.4
📝 Fichiers de configuration
docker-compose.yml
Configuration Docker principale. Variables importantes:
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
# É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)
# 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
# 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
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
# 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:
docker exec mc-nationsglory rcon-cli \
--host 192.168.1.252 \
--port 25575 \
--password VotreMotDePasse \
"op NomJoueur"
Manuellement:
# Ajouter au fichier ops.txt
echo "NomJoueur" >> ops.txt
docker-compose restart
Bannir/Débannir
# 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
#!/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
# É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
# docker-compose.yml
environment:
MEMORY: "4G" # RAM max
INIT_MEMORY: "2G" # RAM initiale
deploy:
resources:
limits:
memory: 5G # Limite Docker
Options JVM optimisées
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
# 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
# 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:
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:
# 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:
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:
- Augmenter RAM (voir Optimisation)
- Réduire view-distance dans server.properties:
view-distance=8 - 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 |