# 📋 Notes Techniques - Serveur NationsGlory ## Configuration système ### Docker Container ```bash Image: anapsix/alpine-java:7 Base: Alpine Linux Java: OpenJDK 1.7.0_80 Architecture: amd64 ``` ### Commande de lancement ```bash 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) 1. **mcp** - Minecraft Coder Pack 2. **FML** - Forge Mod Loader 3. **Forge** - Minecraft Forge 9.11.1.965 4. **AquaTweaks** - Modifications aquatiques 5. **etfuturum** - Fonctionnalités futures 6. **bspkrsCore** - Bibliothèque de base 7. **CalclaviaCore** - Core pour mods électriques 8. **Autoutils** - Outils automatiques 9. **Chisel** - Blocs décoratifs variés 10. **customnpcs** - PNJs personnalisables 11. **FlansMod** - Véhicules, avions, armes 12. **MattCore** - Core de base 13. **model-api** - API de modèles 14. **nabot** - Mod NationsGlory 15. **netherrocks** - Minerais du Nether 16. **BiblioCraft** - Meubles et décorations 17. **ParachuteMod** - Parachutes 18. **TLSpecialArmor** - Armures spéciales 19. **UniversalElectricity** - Système électrique 20. **weaponmod** - Armes avancées 21. **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) ```properties 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 ```bash innotex:innotex - Fichiers utilisateur root:root - Fichiers générés par Docker (world, config, etc.) ``` ### Correction des permissions si nécessaire ```bash 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:25565` dans 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 ```bash #!/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 ```bash # Voir les processus Docker docker ps # Logs en temps réel docker logs -f # Utilisation ressources docker stats # Joueurs connectés grep "logged in" server-final/server.log | tail -10 ``` ### Maintenance ```bash # Arrêt propre docker stop # Forcer l'arrêt (déconseillé) docker kill # 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 1. Activer whitelist pour serveur privé 2. Utiliser iptables pour filtrer IPs 3. Configurer les permissions via OP 4. Sauvegardes régulières ## Version Control (.gitignore) ### Fichiers exclus - `*.log` - Logs - `world/` - Monde (optionnel) - `crash-reports/` - Rapports de crash - `cache/`, `debug/` - Fichiers temporaires - `ops.txt`, `banned-*.txt` - Fichiers sensibles ### Fichiers versionnés - `server-final/mcpc.jar` - Exécutable serveur - `server-final/start-docker.sh` - Script de démarrage - `server-final/server.properties` - Configuration - `server-final/mods/` - Mods - `server-final/plugins/` - Plugins - Documentation (README, etc.) --- **Dernière mise à jour**: 3 février 2026 **Mainteneur**: Configuration automatique GitHub Copilot