NodeWorld

Mises à jour

Le serveur se tient à jour tout seul. Il demande à NodeWorld s’il y a une nouvelle version 30 secondes après son démarrage, puis toutes les heures. S’il y en a une, il la télécharge, la vérifie, et l’installe dès que plus personne n’est sur le serveur, puis redémarre. Tant que des joueurs sont dessus, il attend, aussi longtemps qu’il le faut.

Son journal dit chaque étape :

text
Server 0.2.1 downloaded and checked: it is installed as soon as no one is on the server.
Server 0.2.1 installed: starting it.

Ce que le serveur vérifie

Chaque version arrive avec la liste de ses paquets, un par système, signée par NodeWorld. Le serveur n’installe un paquet que si :

  • la signature de la liste correspond à la clé de NodeWorld, inscrite dans le serveur ;
  • le paquet a la taille et l’empreinte SHA-256 que donne la liste ;
  • la version est plus récente que celle qui tourne : jamais une plus ancienne.

Sinon, il garde sa version et écrit pourquoi dans son journal. Ton server-config.yaml, tes mondes et tes scripts ne sont pas dans les paquets : une mise à jour n’y touche jamais.

Comment il redémarre

  • En service : le serveur s’arrête avec le code de sortie 4, et systemd ou Windows le redémarre.
  • Dans un terminal Linux : la nouvelle version prend la place de l’ancienne dans le même processus, dans le même terminal.
  • Dans une console Windows : l’ancienne version lance la nouvelle dans la même fenêtre et l’attend ; Ctrl+C arrête les deux.

Couper les mises à jour automatiques

Dans server-config.yaml :

yaml
AutoUpdate: false

Puis redémarre le serveur. Il vérifie toujours toutes les heures et écrit dans son journal quand une nouvelle version sort, sans rien installer.

Un serveur pas à jour

Quand une nouvelle version du jeu change sa façon de parler aux serveurs (son protocole), les serveurs pas encore mis à jour sont grisés dans Explorer et les joueurs ne peuvent pas les rejoindre. Avec les mises à jour automatiques, ça dure jusqu’à ce que ton serveur soit vide et installe la nouvelle version.

Mettre à jour à la main

Avec AutoUpdate: false :

  1. Arrête le serveur.
  2. Télécharge le paquet de ton système : https://downloads.nodeworldvr.com/server/<version>/NodeWorld-Server-linux-x64.tar.gz (ou -linux-arm64.tar.gz, -win-x64.zip), et extrais-le.
  3. Copie NodeWorld.Server (NodeWorld.Server.exe sur Windows) et le runtime FL# à côté (libnodeworld_fluxsharp.so, ou nodeworld_fluxsharp.dll sur Windows) par-dessus les anciens. Garde ton dossier Config.
  4. Démarre le serveur.

Revenir à la version d’avant

Une mise à jour renomme chaque fichier qu’elle remplace en ajoutant .old (NodeWorld.Server.old), et garde ces fichiers jusqu’à la mise à jour suivante. Pour revenir en arrière :

  1. Arrête le serveur et mets AutoUpdate: false, sinon il réinstalle la nouvelle version.
  2. Supprime les nouveaux fichiers, puis enlève .old du nom des anciens.
  3. Démarre le serveur.