NodeWorld

Lancer en service

En service, le serveur démarre avec l’ordinateur, redémarre tout seul après une mise à jour ou un plantage, et continue de tourner quand tu fermes la console. L’assistant de configuration l’installe : réponds y à sa dernière question, ou relance-le avec --setup --install-service yes.

Si tu déplaces le dossier du serveur, relance l’assistant : le service pointe vers l’ancien emplacement.

Linux (systemd)

L’assistant écrit /etc/systemd/system/nodeworld-server.service, l’active et le démarre. Il lui faut les droits d’administrateur : sudo demande ton mot de passe. Le service tourne sous l’utilisateur qui l’a installé, avec le même server-config.yaml.

bash
systemctl status nodeworld-server        # état
journalctl -u nodeworld-server -f        # journal, en direct
sudo systemctl restart nodeworld-server  # après une modification de server-config.yaml
sudo systemctl stop nodeworld-server     # arrêt

systemd redémarre le serveur quand il s’arrête tout seul, sauf après une erreur de configuration (code de sortie 2) : corrige server-config.yaml, puis redémarre le service.

Pour retirer le service :

bash
sudo systemctl disable --now nodeworld-server
sudo rm /etc/systemd/system/nodeworld-server.service
sudo systemctl daemon-reload

Ubuntu, Debian et Raspberry Pi OS ont systemd. Sans lui (WSL sans systemd, certains conteneurs), l’assistant le dit et le serveur tourne dans la console : garde-le en marche avec tmux ou screen.

Windows

L’assistant installe le service Windows NodeWorld Server et le démarre. Windows demande les droits d’administrateur (Contrôle de compte d’utilisateur) : choisis Oui. L’assistant :

  • fait tourner le service sous Service local, un compte avec peu de droits, et lui permet d’écrire dans le dossier du serveur (mises à jour, fichiers des mondes, journaux) ;
  • ajoute une règle du Pare-feu Windows Defender pour le serveur : le port est ouvert sur cette machine ;
  • demande à Windows de relancer le service quelques secondes après un arrêt tout seul (après une mise à jour ou un plantage).

Un service n’a pas de fenêtre : son journal va dans le dossier Logs à côté de NodeWorld.Server.exe, un fichier par jour, les 14 derniers gardés.

Dans PowerShell :

powershell
Get-Service NodeWorldServer       # état
Restart-Service NodeWorldServer   # après une modification de server-config.yaml (en administrateur)
Stop-Service NodeWorldServer      # arrêt (en administrateur)

Tu peux aussi ouvrir Services (services.msc) et chercher NodeWorld Server.

Pour retirer le service, dans un PowerShell en administrateur :

powershell
Stop-Service NodeWorldServer
sc.exe delete NodeWorldServer
Remove-NetFirewallRule -DisplayName "NodeWorld Server"