274 lines
7.0 KiB
Markdown
274 lines
7.0 KiB
Markdown
# 📋 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 <container_id>
|
|
|
|
# Utilisation ressources
|
|
docker stats
|
|
|
|
# Joueurs connectés
|
|
grep "logged in" server-final/server.log | tail -10
|
|
```
|
|
|
|
### Maintenance
|
|
```bash
|
|
# 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
|