Skip to content

server.json ​

game-server/server.json is read once at start-up. Example (the file shipped with the repository, plus a placeholder key):

json
{
  "name": "WildM LAN",
  "desc": "Serveur de test WildM en réseau local",
  "tags": ["roleplay", "dev"],
  "locale": "FR",
  "maxPlayers": 32,
  "httpPort": 30120,
  "gamePort": 30121,
  "masterUrl": "http://127.0.0.1:7777",
  "spawn": { "x": -3112.6, "y": 5535.8, "z": 956.0 },
  "svKey": "wfx_<your key from the Portal>"
}
FieldTypeUsed for
namestringServer name in /info and in the TCP welcome message. The public list uses the Portal's name instead.
descstringDescription in /info.
tagsstring[]Tags in /info.
localestringLocale in /info.
maxPlayersnumberEnforced: a hello beyond this count gets {"t":"error","msg":"Serveur plein"} and is disconnected. Also sent in the heartbeat.
httpPortnumberHTTP port for /info and resources. This is the port players use for direct connect, and the port announced to the master.
gamePortnumberTCP port for player sync. Players learn it from /info.
masterUrlstringBase URL of the master server; heartbeats go to <masterUrl>/heartbeat.
spawn{x,y,z}Sent to clients in welcome. Metres: x east, y north, z up.
svKeystringYour server key from the Portal. Optional; without it the server is not listed.
resourcesstring[]Resources to start, in order (dependencies first). All resources when absent. See Scripting (Lua).
permissionsstring[]ACE directives (add_ace …, add_principal …), applied at start-up, before permissions.cfg next to server.js. See Entities, state bags & permissions.
entityRangenumberDistance (metres, 2D) within which a player receives network entities. Default 400.
stateBagClientWritebooleanfalse forbids every state bag write from clients. Default: players may write their own player: bag and entities they own.
requireAccountbooleantrue refuses players without a WFX.re account verified by the master (needs svKey). Default false.

Name, description, tags and locale are also sent in each heartbeat, but the master ignores them for listed servers and uses the Portal's values.

Environment variables ​

VariableEffect
WILDM_SV_KEYReplaces svKey from server.json. Recommended, so the key is not stored in a file.
WILDM_HOSTThe address announced to the master and returned in /info.host. By default the server uses its first private LAN IPv4 address (10.x, 172.16–31.x, 192.168.x), or 127.0.0.1 if none. Set it to your public IP or hostname for an internet server.
powershell
$env:WILDM_SV_KEY = "wfx_…"; $env:WILDM_HOST = "play.example.org"; node server.js

Spawn point and the launcher

/info does not currently include spawn. The launcher therefore takes the spawn written into wildm_connect.json from the first resource.json in your resources that has a spawn field (today wildm-base/resource.json). Keep the two values consistent. The current client does not move the player to the spawn point.

WildM is an independent community project. It is not affiliated with or endorsed by Ubisoft. Ghost Recon Wildlands is a trademark of Ubisoft Entertainment.