3.9 KiB
SurviePote — Serveur (plug-and-play)
Serveur Minecraft 26.3 + Fabric Loader 0.20.0, pré-configuré en « défauts survie ».
Prérequis
- Java 21+ (
java -version) - Port 25565/TCP ouvert/redirigé vers la machine du serveur
- Adresse publique : mcpv.ihorizon.org
Premier lancement
cd server
echo "eula=true" > eula.txt # déjà présent (eula=false) : à passer à true
./start.sh # installe le runtime automatiquement si absent, puis démarre
(Sous Windows : start.bat, même comportement.)
Le runtime Fabric (jars vanilla/Fabric, libraries/, versions/, .fabric/) n'est pas
versionné (voir .gitignore) : il est (re)généré par setup.sh, appelé automatiquement par
start.sh s'il manque, ou manuellement :
cd server
nix-shell .. --run 'bash server/setup.sh' # ou : ./setup.sh (avec Java dans le PATH)
Au premier démarrage, le serveur génère world/, config/, logs/, etc.
Pour régénérer le monde (ex. changer de level-type), stoppe le serveur et supprime world/.
Contenu
| Fichier | Rôle |
|---|---|
setup.sh / setup.bat |
Installe/repare le runtime Fabric (télécharge vanilla + lanceur Fabric) |
fabric-server-launch.jar |
Lanceur Fabric (généré par fabric-installer 1.1.2 — non versionné) |
server.jar |
Serveur Minecraft 26.3 vanilla (téléchargé par l'installeur — non versionné) |
fabric-installer.jar |
Installeur (pour réinstaller/réparer — non versionné) |
mods/ |
46 mods serveur (copie physique) — voir mods/SOURCE.md |
config/ |
Configs générées au premier lancement (non versionnées) |
server.properties |
Config plug-and-play (survie, normal, 20 joueurs) |
eula.txt |
Passer à eula=true avant de lancer |
start.sh / start.bat |
Scripts de lancement (4 Go RAM, nogui) |
ecosystem.config.cjs |
Config PM2 (démarre le serveur dans le nix-shell, Java 25) |
Mods
- Inclus (46) : gameplay/contenu (Better Combat, BOP, BCLib/Better End, Waystones, Backpacks, Drawers, VeinMiner, Tree Harvester, Jade, JEI, etc.). Détail dans
mods/SOURCE.md. - Exclus (15, client-only) : sodium, iris, continuity, dynamic-fps, xaerominimap, xaeroworldmap, skinlayers3d, waveycapes, capes, chat_heads, morechathistory, fast-ip-ping, modmenu, appleskin, vanillarice. À garder côté client uniquement.
- Resourcepacks/shaders : jamais côté serveur.
Config / monde
config/: généré au premier lancement ; dépose ici les customs précis quand ils seront définis.world/: généré au premier lancement (level-name=world, graine aléatoire, pas delevel-seedfixe).level-type=minecraft:normalpar défaut ; alternative commentée dansserver.propertiespour Biomes O' Plenty.
Réseau
server-port=25565,online-mode=true,white-list=false.server-ip=10.7.0.2: le serveur n'écoute que sur l'interface portant cette IP (VPN). Laisser vide = écouter sur toutes les interfaces (0.0.0.0).- Ouvre le port 25565/TCP (box/pare-feu) et pointe
mcpv.ihorizon.orgvers l'IP publique.
PM2 (daemon)
ecosystem.config.cjs lance le serveur dans le nix-shell du repo (shell.nix → jdk25),
sans dépendre du Java du système. Les chemins sont résolus depuis le fichier (__dirname) :
server/ et la racine du repo.
cd /srv/mc/server
pm2 start ecosystem.config.cjs
pm2 logs surviepote-mc
pm2 restart surviepote-mc
pm2 stop surviepote-mc
pm2 save # mémorise la liste des process
sudo pm2 startup systemd -u anais --hp /home/anais # relance au boot
Équivalent manuel de la commande lancée par PM2 :
cd /srv/mc/server
nix-shell /srv/mc --run "bash /srv/mc/server/start.sh"
PM2 ne relaie pas la console interactive : utilise
pm2 logspour la sortie etpm2 sendSignal/pm2 stop(SIGINT → sauvegarde propre via le shutdown hook Java).