Default configuration serveur Build NG RED
This commit is contained in:
273
TECHNICAL_NOTES.md
Normal file
273
TECHNICAL_NOTES.md
Normal file
@@ -0,0 +1,273 @@
|
||||
# 📋 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
|
||||
Reference in New Issue
Block a user