Server list

The list Explore shows in the game and on the website. No account is needed.

bash
curl https://api.nodeworldvr.com/servers

GET /servers

Returns { "servers": [ … ] }, the servers listed by their hosts, the most recently seen first. Each server:

FieldTypeMeaning
idstringServer id (UUID).
name, descriptionstring, string or nullAs the host wrote them.
coverUrl, coverHashstring or nullThe cover picture (a signed URL that expires after a few minutes) and its hash.
address, portstring, numberWhere the game connects.
regionstring or nulleurope, north-america, asia, south-america, oceania.
capacity, playerCountnumberPlayers at most, players now.
worldsarrayThe worlds of the server (below).
curatedbooleanPicked by NodeWorld.
adultbooleanThe whole server is 18+.
version, protocolstring or null, number or nullVersion and game protocol the server runs.
upToDatebooleanThe newest game can join it: same protocol as the newest published game.
statusstringonline, offline or disabled.
lastHeartbeatAtstring or nullLast time the server reported itself (ISO 8601).

Each world: worldId, displayName, description, iconUrl, iconHash, capacity, playerCount, homeWorld, adult.

18+ servers and worlds

Without an account, the list leaves out 18+ servers and 18+ worlds. With the account of an adult who turned 18+ content on (Authorization: Bearer <id token>), they are mixed with the others and carry "adult": true. Two filters:

  • ?adult=only: only 18+ servers;
  • ?adult=hide: no 18+ server.

A world is 18+ when it declares it, when its whole server is 18+, or when NodeWorld marks it.

Servers that are not up to date

A server whose protocol differs from the protocol of the newest game has "upToDate": false: the game shows it greyed out and cannot join it. As long as no game version is published, every server is up to date.

GET /servers/regions

Returns { "regions": [ { "id": "europe", "label": "Europe" }, … ] }.