From e44de62a12780de08367b9d8fc889db42ee787d8 Mon Sep 17 00:00:00 2001 From: innotex Date: Thu, 5 Feb 2026 18:29:45 +0100 Subject: [PATCH] Configuration portable avec variables d'environnement --- .env.example | 32 ++++++++++++++++++++++++-------- README.md | 36 ++++++++++++++++++++++-------------- docker-compose.yml | 24 +++++++++++++----------- 3 files changed, 59 insertions(+), 33 deletions(-) diff --git a/.env.example b/.env.example index 7693720..5b03e33 100644 --- a/.env.example +++ b/.env.example @@ -1,13 +1,29 @@ -# Configuration Docker NationsGlory -# Copier ce fichier vers .env et ajuster les valeurs +# ==================================== +# Configuration Serveur Minecraft NationsGlory +# ==================================== +# Copiez ce fichier vers .env et ajustez les valeurs -# Mot de passe RCON -# ⚠️ IMPORTANT: Définir un mot de passe sécurisé -# Après modification, redémarrer: docker-compose restart -RCON_PASSWORD=ChangerCeMotDePasse - -# Port Minecraft +# Ports du serveur SERVER_PORT=25565 +RCON_PORT=25575 + +# Mot de passe RCON (CHANGEZ EN PRODUCTION!) +# Ce mot de passe doit être le même dans l'application web +RCON_PASSWORD=minecraft +ENABLE_RCON=true + +# Mémoire allouée au serveur +MEMORY=2G +INIT_MEMORY=1G + +# Paramètres du jeu +ONLINE_MODE=false +DIFFICULTY=1 +GAMEMODE=1 +LEVEL_TYPE=FLAT + +# Optimisations JVM +JVM_OPTS=-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 # Port RCON RCON_PORT=25575 diff --git a/README.md b/README.md index 4469597..c3fed95 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,34 @@ Serveur Minecraft 1.6.4 moddé avec MCPC+ (Forge + Bukkit) déployable via Docke [![Minecraft](https://img.shields.io/badge/Minecraft-1.6.4-green.svg)](https://minecraft.net/) [![Forge](https://img.shields.io/badge/Forge-9.11.1.965-orange.svg)](https://files.minecraftforge.net/) +> 📌 **Note**: Pour un déploiement complet avec l'interface web d'administration, consultez le [README principal](../README.md) et utilisez le script `../deploy.sh`. + ## 📖 Documentation - **[⚡ Démarrage Rapide](QUICKSTART.md)** - Installation en 3 minutes - **[🔧 Configuration Avancée](CONFIGURATION.md)** - RCON, optimisation, sauvegardes -- **[🚀 Déploiement Production](DEPLOY_README.md)** - Guide de déploiement complet +- **[🚀 Déploiement Production](DEPLOYMENT.md)** - Guide de déploiement complet --- -## 🚀 Installation rapide (2 commandes) +## 🚀 Installation rapide + +### Déploiement avec interface web (Recommandé) + +Depuis le dossier parent : +```bash +cd .. +./deploy.sh +``` + +### Déploiement standalone du serveur Minecraft ```bash -git clone nationsglory-server && cd nationsglory-server +# 1. Configuration +cp .env.example .env +nano .env # Configurez RCON_PASSWORD + +# 2. Démarrage docker-compose up -d ``` @@ -27,16 +43,8 @@ docker-compose up -d ### ⚙️ Configuration post-installation ```bash -# 1. Définir mot de passe RCON (remplacer VotreIP par l'IP du serveur) -sed -i 's/^rcon.password=.*/rcon.password=MotDePasseSecurise/' server.properties -docker-compose restart - -# 2. Donner droits admin (remplacer VotreIP) -docker exec mc-nationsglory rcon-cli \ - --host VotreIP \ - --port 25575 \ - --password MotDePasseSecurise \ - "op NomAdmin" +# Donner droits admin +docker exec mc-nationsglory rcon-cli "op NomAdmin" ``` --- @@ -46,7 +54,7 @@ docker exec mc-nationsglory rcon-cli \ - **Docker** et **Docker Compose** installés - **Port 25565** disponible - **4 GB RAM** minimum -- **Git** pour cloner le dépôt +- **Git** pour cloner le dépôt (optionnel) --- diff --git a/docker-compose.yml b/docker-compose.yml index 2065d3d..cb33503 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,23 +5,25 @@ services: restart: unless-stopped network_mode: "host" + env_file: + - .env environment: # IMPORTANT: Ne pas utiliser TYPE, utiliser CUSTOM_SERVER directement # Cela force le conteneur à utiliser le JAR local au lieu de télécharger - SERVER_PORT: "25565" - RCON_PORT: "25575" - RCON_PASSWORD: "minecraft" - ENABLE_RCON: "true" + SERVER_PORT: ${SERVER_PORT:-25565} + RCON_PORT: ${RCON_PORT:-25575} + RCON_PASSWORD: ${RCON_PASSWORD:-minecraft} + ENABLE_RCON: ${ENABLE_RCON:-true} SKIP_HEALTH_CHECK: "true" ACCEPT_EULA: "TRUE" EULA: "TRUE" - ONLINE_MODE: "FALSE" - DIFFICULTY: "1" - GAMEMODE: "1" - LEVEL_TYPE: "FLAT" - MEMORY: "2G" - INIT_MEMORY: "1G" - JVM_OPTS: "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200" + ONLINE_MODE: ${ONLINE_MODE:-FALSE} + DIFFICULTY: ${DIFFICULTY:-1} + GAMEMODE: ${GAMEMODE:-1} + LEVEL_TYPE: ${LEVEL_TYPE:-FLAT} + MEMORY: ${MEMORY:-2G} + INIT_MEMORY: ${INIT_MEMORY:-1G} + JVM_OPTS: ${JVM_OPTS:--XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200} # CRITICAL: Désactiver le download automatique SKIP_SERVER_PROPERTIES: "false" # Pointer directement au JAR local