Masterlist
Masterlist позволяет игрокам находить публичные Varion servers. Publishing настраивается в server.toml. Пустой masterListUrl отключает publishing; announce = false запрещает publish даже при заданном URL. Production trust verify-ится backend-ом, а не gamemode resource.
Config
Native server config loader (server/src/CServerConfig.cpp) читает из server.toml два masterlist-ключа — announce и masterListUrl. Значения по умолчанию (из server.example.toml):
announce = false # false = никогда не публиковать, даже с masterListUrl
masterListUrl = "" # пусто = не анонсироватьProduction-профиль включает publishing и указывает backend URL:
announce = true
masterListUrl = "https://master.example/api"Identity fields
Identity и license model определена в engine config struct (include/varion.h) с указанными defaults. Она описывает 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 |
Полей identityMode или licenseProof в engine нет — это не config keys.
Trust model
Production trust state должен verify-иться backend-ом. Client и local files не являются authority для trusted listing state. Server передает подключающимся клиентам свой serverLicenseToken в HandshakeAck (может быть пустым для unlicensed/dev), но именно backend решает trusted/listed status.
Server info
/server-info.json отдает: name, player counts (players, maxPlayers), gamemode, protocol, build, gtaBuild, channel, minClientBuild и early/cloud auth flags (useEarlyAuth, earlyAuthUrl, useCloudAuth). Он НЕ отдает serverId или identityMode — эти значения не входят в server-info JSON.
Source backing
Страница основана на include/varion.h, server/src/CServerConfig.cpp и src/network/CNetworkManager.cpp (server-info JSON и HandshakeAck license token).