Skip to content

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.tomlannounce and masterListUrl. The default values (from server.example.toml):

toml
announce = false          # false = never publish, even with masterListUrl set
masterListUrl = ""        # empty = don't announce

A production profile enables publishing and points at the backend URL:

toml
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:

KeyDefaultPurpose
masterListUrl""Backend URL for publishing (empty = don't announce)
masterListToken""Optional owned-server token
masterListTokenFiledata/masterlist-token.txtToken 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
serverLicenseTokenFiledata/server-license.txtProduction proof file
requireServerLicensefalseFail startup without official identity/proof
allowLocalUnlicensedtrueAllow 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).

Varion Multiplayer Platform