7.0 KiB
📋 Notes Techniques - Serveur NationsGlory
Configuration système
Docker Container
Image: anapsix/alpine-java:7
Base: Alpine Linux
Java: OpenJDK 1.7.0_80
Architecture: amd64
Commande de lancement
docker run -it --rm \
--ulimit nofile=65535:65535 \
-p 25565:25565 \
-v "$PWD":/server \
anapsix/alpine-java:7 \
sh -c 'cd /server && java -Xmx2G -Xms1G -XX:+UseG1GC -jar mcpc.jar nogui'
Paramètres JVM
-Xmx2G: RAM maximale 2 GB-Xms1G: RAM initiale 1 GB-XX:+UseG1GC: Garbage Collector G1 (optimisé pour serveurs)--ulimit nofile=65535:65535: Limite de fichiers ouverts (évite erreur ENOMEM)
Structure Maven (libraries/)
libraries/
├── net/minecraft/launchwrapper/1.8/launchwrapper-1.8.jar
├── org/ow2/asm/asm-all/4.1/asm-all-4.1.jar
├── org/scala-lang/
│ ├── scala-library/2.10.2/scala-library-2.10.2.jar
│ └── scala-compiler/2.10.2/scala-compiler-2.10.2.jar
├── lzma/lzma/0.0.1/lzma-0.0.1.jar
└── net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar
Mods chargés (21)
- mcp - Minecraft Coder Pack
- FML - Forge Mod Loader
- Forge - Minecraft Forge 9.11.1.965
- AquaTweaks - Modifications aquatiques
- etfuturum - Fonctionnalités futures
- bspkrsCore - Bibliothèque de base
- CalclaviaCore - Core pour mods électriques
- Autoutils - Outils automatiques
- Chisel - Blocs décoratifs variés
- customnpcs - PNJs personnalisables
- FlansMod - Véhicules, avions, armes
- MattCore - Core de base
- model-api - API de modèles
- nabot - Mod NationsGlory
- netherrocks - Minerais du Nether
- BiblioCraft - Meubles et décorations
- ParachuteMod - Parachutes
- TLSpecialArmor - Armures spéciales
- UniversalElectricity - Système électrique
- weaponmod - Armes avancées
- WesterosBlocks - Blocs Game of Thrones
Plugins Bukkit (2)
WorldEdit
- Version: Compatible Bukkit 1.6.4
- Taille: 8.8 KB
- Source: dev.bukkit.org/projects/worldedit/files/562101
Essentials
- Version: Compatible Bukkit 1.6.4
- Taille: 8.8 KB
- Source: dev.bukkit.org/projects/essentials/files/862412
Fichiers de configuration
server.properties (principaux paramètres)
server-port=25565
max-players=20
gamemode=1
difficulty=0
spawn-monsters=false
spawn-npcs=true
spawn-animals=true
pvp=false
level-type=FLAT
level-name=world
online-mode=false
allow-flight=true
view-distance=10
bukkit.yml
Configuration Bukkit par défaut générée automatiquement.
spigot.yml
Configuration Spigot (intégré dans MCPC+).
forge.cfg
Configuration Forge pour le chargement des mods.
Permissions système
Propriétaire des fichiers
innotex:innotex - Fichiers utilisateur
root:root - Fichiers générés par Docker (world, config, etc.)
Correction des permissions si nécessaire
sudo chown -R innotex:innotex /home/innotex/Documents/Projet/Serveur\ NationsGlory/server-final/
Ports réseau
- 25565/TCP : Port Minecraft principal
- Mappé avec
-p 25565:25565dans Docker
Logs et monitoring
Fichiers de logs
server.log - Log principal temps réel
ForgeModLoader-server-0.log - Logs Forge
*.log.lck - Fichiers de verrouillage (ne pas supprimer pendant exécution)
crash-reports/ - Rapports de crash
Rotation des logs
Les logs sont automatiquement archivés :
server.log.1,server.log.2, etc.ForgeModLoader-server-0.log.1, etc.
Performances
Métriques observées
- Démarrage: ~0.8 secondes
- RAM utilisée: ~1.2 GB en fonctionnement
- CPU: Variable selon nombre de joueurs
Optimisations appliquées
- G1GC pour réduction des pauses GC
- ulimit nofile élevé (65535)
- view-distance modéré (10 chunks)
Problèmes connus et solutions
SEVERE: Anonymous items
Problème: Messages "anonymous item will NOT survive a 1.7 upgrade"
Impact: Aucun sur Minecraft 1.6.4
Solution: Ignorer, avertissements pour migration future
Item discrepancies (IDs 2054, 4095)
Problème: Items manquants de mods
Impact: Avertissements au démarrage, pas de crash
Solution: Monde généré avec config différente, supprimable si besoin
Invalid material warnings (WesterosBlocks)
Problème: Material 'stone' et step sound 'dirt' invalides
Impact: Minimal, blocs fonctionnels
Solution: Problème de mod, ignorer
MattparksCore update check failed
Problème: Échec de vérification de mise à jour
Impact: Aucun, fonctionnalité cosmétique
Solution: Ignorer ou désactiver dans config
Compatibilité
Client Minecraft
- Version requise: 1.6.4
- Launcher: NationsGlory, MultiMC, ou launcher officiel avec profile 1.6.4
- Mods client: Même liste que serveur recommandée
Système d'exploitation
- ✅ Linux (testé sur Debian 13)
- ✅ Windows (via Docker Desktop)
- ✅ macOS (via Docker Desktop)
Dépendances
- Docker 20.10+
- 4 GB RAM système minimum
- 1 GB espace disque
Backup et restauration
Fichiers critiques à sauvegarder
server-final/world/ # Monde principal
server-final/DIM1/ # Nether (si existe)
server-final/DIM-1/ # End (si existe)
server-final/ops.txt # Opérateurs
server-final/white-list.txt # Liste blanche
server-final/banned-*.txt # Bans
Script de backup automatique
#!/bin/bash
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/server-final
DATE=$(date +%Y%m%d-%H%M)
tar -czf ../backups/world-$DATE.tar.gz world/ DIM*/
echo "Backup créé: world-$DATE.tar.gz"
Commandes utiles
Monitoring
# Voir les processus Docker
docker ps
# Logs en temps réel
docker logs -f <container_id>
# Utilisation ressources
docker stats
# Joueurs connectés
grep "logged in" server-final/server.log | tail -10
Maintenance
# Arrêt propre
docker stop <container_id>
# Forcer l'arrêt (déconseillé)
docker kill <container_id>
# Nettoyer les conteneurs arrêtés
docker container prune
Sécurité
Points d'attention
- ⚠️ online-mode=false : Pas d'authentification Mojang
- ⚠️ Aucun firewall : Port 25565 exposé
- ⚠️ Pas de whitelist : Serveur public par défaut
Recommandations
- Activer whitelist pour serveur privé
- Utiliser iptables pour filtrer IPs
- Configurer les permissions via OP
- Sauvegardes régulières
Version Control (.gitignore)
Fichiers exclus
*.log- Logsworld/- Monde (optionnel)crash-reports/- Rapports de crashcache/,debug/- Fichiers temporairesops.txt,banned-*.txt- Fichiers sensibles
Fichiers versionnés
server-final/mcpc.jar- Exécutable serveurserver-final/start-docker.sh- Script de démarrageserver-final/server.properties- Configurationserver-final/mods/- Modsserver-final/plugins/- Plugins- Documentation (README, etc.)
Dernière mise à jour: 3 février 2026
Mainteneur: Configuration automatique GitHub Copilot