Files
NationsGlory_ServeurBuild_Red/TECHNICAL_NOTES.md

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)

  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)

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: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

#!/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

  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