Masterlist
The masterlist lets players discover public Varion servers. Publishing is configured in server.toml. An empty masterListUrl disables publishing; announce = false disables publishing even when a URL is set. Production trust is verified by the backend, not by a gamemode resource.
Config
The native server config loader (server/src/CServerConfig.cpp) reads two masterlist keys from server.toml — announce and masterListUrl. The default values (from server.example.toml):
announce = false # false = never publish, even with masterListUrl set
masterListUrl = "" # empty = don't announceA production profile enables publishing and points at the backend URL:
announce = true
masterListUrl = "https://master.example/api"Identity Fields
The identity and license model is defined in the engine config struct (include/varion.h) with the defaults shown below. It describes the backend trust/licensing contract:
| Key | Default | Purpose |
|---|---|---|
masterListUrl | "" | Backend URL for publishing (empty = don't announce) |
masterListToken | "" | Optional owned-server token |
masterListTokenFile | data/masterlist-token.txt | Token file/cache path |
publicHost | "" | Public host sent to backend (empty = backend uses request IP) |
serverId | "" | Official server identity |
serverLicenseToken | "" | Opaque production proof issued by the Varion backend |
serverLicenseTokenFile | data/server-license.txt | Production proof file |
requireServerLicense | false | Fail startup without official identity/proof |
allowLocalUnlicensed | true | Allow local/dev identity without a license |
There is no identityMode or licenseProof in the engine — these are not config keys.
Trust Model
The production trust state must be verified by the backend. The client and local files are not the authority for the trusted listing state. The server passes its serverLicenseToken to connecting clients in the HandshakeAck (it may be empty for unlicensed/dev), but the backend is what decides trusted/listed status.
Server Info
/server-info.json exposes: name, player counts (players, maxPlayers), gamemode, protocol, build, gtaBuild, channel, minClientBuild and the early/cloud auth flags (useEarlyAuth, earlyAuthUrl, useCloudAuth). It does NOT expose serverId or identityMode — those values are not part of the server-info JSON.
Source Backing
This page is derived from include/varion.h, server/src/CServerConfig.cpp and src/network/CNetworkManager.cpp (the server-info JSON and the HandshakeAck license token).