server: config PM2 (lancement du serveur dans le nix-shell)
This commit is contained in:
@@ -43,6 +43,7 @@ Pour régénérer le monde (ex. changer de `level-type`), stoppe le serveur et s
|
||||
| `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
|
||||
|
||||
@@ -62,3 +63,30 @@ Pour régénérer le monde (ex. changer de `level-type`), stoppe le serveur et s
|
||||
- `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.org` vers 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.
|
||||
|
||||
```bash
|
||||
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 :
|
||||
|
||||
```bash
|
||||
cd /srv/mc/server
|
||||
nix-shell /srv/mc --run "bash /srv/mc/server/start.sh"
|
||||
```
|
||||
|
||||
> PM2 ne relaie pas la console interactive : utilise `pm2 logs` pour la sortie et
|
||||
> `pm2 sendSignal`/`pm2 stop` (SIGINT → sauvegarde propre via le shutdown hook Java).
|
||||
|
||||
Reference in New Issue
Block a user