Updates
The server keeps itself up to date. It asks NodeWorld for a new version 30 seconds after it starts, then every hour. When there is one, it downloads it, checks it, and installs it as soon as no one is on the server, then starts again. As long as players are on it, it waits, however long that takes.
Its log says each step:
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.What the server checks
Each version comes with the list of its packages, one per system, signed by NodeWorld. The server installs a package only when:
- the list's signature matches NodeWorld's key, built into the server;
- the package has the size and the SHA-256 fingerprint that the list gives;
- the version is newer than the one running: never an older one.
Otherwise it keeps its version and writes why in its log. Your server-config.yaml, your worlds and your scripts are not in the packages: an update never touches them.
How it starts again
- As a service: the server stops with exit code
4, and systemd or Windows starts it again. - In a Linux terminal: the new version takes over the same process, in the same terminal.
- In a Windows console: the old version starts the new one in the same window and waits for it;
Ctrl+Cstops both.
Turn automatic updates off
In server-config.yaml:
AutoUpdate: falseThen restart the server. It still checks every hour and writes in its log when a new version is out, and installs nothing.
A server that is not up to date
When a new version of the game changes the way it talks to servers (its protocol), the servers that have not updated yet are greyed out in Explore and players cannot join them. With automatic updates on, this lasts until your server is empty and installs the new version.
Update by hand
With AutoUpdate: false:
- Stop the server.
- Download the package of your system:
https://downloads.nodeworldvr.com/server/<version>/NodeWorld-Server-linux-x64.tar.gz(or-linux-arm64.tar.gz,-win-x64.zip), and extract it. - Copy
NodeWorld.Server(NodeWorld.Server.exeon Windows) and the FL# runtime next to it (libnodeworld_fluxsharp.so, ornodeworld_fluxsharp.dllon Windows) over the old ones. Keep yourConfigfolder. - Start the server.
Go back to the previous version
An update renames each file it replaces by adding .old (NodeWorld.Server.old), and keeps these files until the next update. To go back:
- Stop the server and set
AutoUpdate: false, or it installs the new version again. - Delete the new files, then remove
.oldfrom the names of the old ones. - Start the server.
