Worlds on your server
Your server runs the worlds you copy into its worlds folder and list in its configuration. A world comes from its creator as the folder the World Publisher made: a manifest.json, one folder per platform (StandaloneWindows64, StandaloneLinux64, Android), and, for its FL# scripts, scripts/client.wasm and a server folder.
Add a world
- Stop the server.
- Copy the world's whole folder into
Config/Worlds, as the creator gave it. The folder's name is the world's ID:Config/Worlds/Tavernfor the worldTavern. - Add it to the
Worldslist ofserver-config.yaml:
Worlds:
- WorldId: Tavern
Capacity: 20
GraceSeconds: 120
HomeWorld: false
MaxInstances: 0- Start the server. It checks each world and tells NodeWorld which worlds it runs: they show on your server's page in Explore.
A world without files for a platform cannot be joined from that platform: players on a Quest need its Android folder. Every server, Windows or Linux, x86-64 or ARM64 (a Raspberry Pi…), runs the world's FL# scripts from the same scripts/client.wasm.
Each world is checked
At start, the server checks each world of the list as the players' games do, always (there is no setting to turn it off):
manifest.jsonis in format 4, the format of SDK 0.3.0, and it is the world of this folder;- every file the manifest lists is there, with its size and SHA-256.
A world that passes is served:
World 'Tavern' checked: 7 files match its manifest.A world that fails is not served: it is left out of what the server tells NodeWorld and of its world list, no instance of it starts, and none of its files is sent. The log says why:
World 'Tavern' is not served: its manifest format 3 is older than 4, the oldest this server reads: the world's creator must publish it again with the NodeWorld SDK.
World 'Tavern' is not served: StandaloneWindows64/world.bundle does not match the size and SHA-256 of the manifest: copy the whole package the SDK wrote again.- Format older than 4: the world was published with an SDK older than 0.3.0; ask its creator for a new version.
- File that does not match: a file was changed, is missing or comes from another version; copy the creator's folder again, whole.
- Format newer than the server reads: update the server.
You are told
At every heartbeat, the server also tells NodeWorld which worlds it refused and why. The first time a world is refused for a reason, you and the server's co-owners get a notification on the website, and in the game's Notifications: The Pier is not served on My Server, with the reason and what to do. On the website, it opens your server's page in My servers, where Refused worlds lists the worlds the server does not serve, each with its reason, as long as they are refused.
The notification comes again only for another reason, or if the world was served in between and is refused again. Turn it off on the website, in Settings, Notifications, Refused worlds on my servers.
The world's creator is not told: NodeWorld does not know who made a world. The server's owner and co-owners are told, since they are the ones who publish the world again or ask its creator for it.
When an instance starts, the server reads the world's FL# module and server/scene.json again, each checked against the manifest, before running the world's scripts. They always run in the FL# sandbox, the server's interpreter, whoever published the world.
Players download the world from your server
The first time a player enters a world, their game downloads the files of its platform from your server (through the game port, in TCP), then keeps them. A new version of the world is downloaded again once.
Icons and home worlds
- On the website, the page of your server in My servers lists its worlds: Upload icon gives each world the picture players see in the menu.
- A world with
HomeWorld: truecan welcome players in their home world, if your server has Allow home hosting on the website and an admin approved it.
A world's name and description
Players see the Display Name and the Description the creator wrote in the World Publisher, read from the world's manifest.json. To change them, the world is published again from the World Publisher: copy its new folder into Config/Worlds and restart the server. The website does not change them.
Changes made by NodeWorld's admins
NodeWorld's admins can replace the name or the description of a world, or decide whether it is a home world. Players then see their value, whatever your server sends, until they remove it: then your server's value is back.
