Server Config JSON Reference
Complete reference for the Arma Reforger server configuration JSON file, including all settings for network, game, mods, and operating parameters.
Arma Reforger servers use a JSON configuration file for all server settings. This page is a complete reference for every available option.
💡 Tip: Use our free Arma Reforger Config Generator to build your server config visually — no manual JSON editing required.
⚠️ Warning: Parameters inside the JSON file are case-sensitive. Always keep
fastValidationset totruefor public servers, and limit max FPS with the-maxFPSstartup parameter.
Default Ports
| Port | Protocol | Required | Purpose |
|---|---|---|---|
| 2001 | UDP | Yes | Public game port |
| 17777 | UDP | No | A2S Steam query port |
| 19999 | UDP | No | RCON port |
Root Settings
dedicatedServerId
Unique server identifier linked to your Bohemia Interactive account. Used for backend registration and server identity.
"dedicatedServerId": "ar-gm-myserver"region
Geographic region for matchmaking. Helps players find servers in their area.
| Value | Region |
|---|---|
US | United States |
EU | Europe |
AS | Asia |
AU | Australia |
SA | South America |
AF | Africa |
bindAddress
IP address the server socket binds to. Leave empty to use 0.0.0.0 (accepts connections from any interface).
📝 Note: Leave this empty in most cases. IPv6 is not supported.
bindPort
UDP port the server socket binds to. Range: 1–65535, default: 2001. Automatically uses the same value as publicPort if not set.
publicAddress
Public IP address registered with the backend. Leave empty to auto-detect. You can use the keyword "local" to auto-detect the local network address.
publicPort
Public UDP port registered with the backend. Range: 1–65535, default: 2001.
a2s (Steam Query)
Steam A2S query protocol settings. See Valve's A2S documentation.
| Property | Type | Default | Description |
|---|---|---|---|
address | string | required | IP address for A2S socket binding |
port | number | 17777 | UDP port for A2S queries |
rcon (Remote Console)
Remote console settings for server administration. See RCON.
| Property | Type | Default | Description |
|---|---|---|---|
address | string | required | IP for RCON socket binding |
port | number | 19999 | RCON UDP port |
password | string | — | Required, no spaces, min 3 characters |
maxClients | number | 16 | Max simultaneous RCON connections (1–16) |
permission | string | — | "admin" (full access) or "monitor" (read-only) |
blacklist | array | [] | Commands excluded from execution |
whitelist | array | [] | If defined, only these commands can be executed |
game
name
Server name displayed in the browser. Max 100 characters.
password
Password required to join the server.
passwordAdmin
Admin password for in-game admin access. Use #login <password> in chat to authenticate. Does not support spaces.
admins
Array of IdentityIds and/or Steam IDs. Listed admins can #login without a password and use the priority join queue (IdentityIds only).
📝 Note: Limited to 20 unique IDs. Priority queue only works with IdentityIds, not Steam IDs.
scenarioId
The scenario .conf file path. See Scenario List or use the -listScenarios startup parameter.
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf"maxPlayers
Maximum player count. Range: 1–128, default: 64.
visible
Show server in the browser. Default: true.
crossPlatform
Accept all platforms. Default: false. Set to true for crossplay.
💡 Tip: Use
crossPlatform: trueinstead of manually settingsupportedPlatforms. See Enable Crossplay.
supportedPlatforms
Array of platform identifiers. Only used when crossPlatform is false.
| Key | Platform |
|---|---|
PLATFORM_PC | PC |
PLATFORM_XBL | Xbox |
PLATFORM_PSN | PlayStation |
modsRequiredByDefault
Override default required value for all mods. Default: true.
mods
Array of mods required by clients, automatically downloaded on join.
"mods": [
{
"modId": "59727DAE364DEADB",
"name": "WeaponSwitching",
"version": "1.0.1"
}
]| Property | Description |
|---|---|
modId | GUID of the mod from Workshop |
name | Human-readable name (comment only, not functional) |
version | Optional — latest version used if omitted |
required | Optional — if false, server starts without the mod if download fails |
See Installing Mods for a step-by-step guide.
gameProperties
| Property | Type | Default | Description |
|---|---|---|---|
serverMaxViewDistance | number | 1600 | Client max view distance (500–10000) |
serverMinGrassDistance | number | 0 | Min grass distance in meters (0 or 50–150) |
networkViewDistance | number | 1500 | Max network streaming range (500–5000) |
fastValidation | bool | true | Always keep true for public servers |
battlEye | bool | true | Enable/disable BattlEye anti-cheat |
disableThirdPerson | bool | false | Force first-person view |
VONDisableUI | bool | false | Hide VON UI |
VONDisableDirectSpeechUI | bool | false | Hide direct speech UI |
VONCanTransmitCrossFaction | bool | false | Allow cross-faction radio |
missionHeader
Overwrite scenario header settings like name, time, and weather. This is nested inside gameProperties:
"missionHeader": {
"m_sName": "My Custom Server",
"m_sDetails": "No teamkilling!",
"m_iStartingHours": 7,
"m_iStartingMinutes": 30,
"m_bRandomStartingWeather": true,
"m_fDayTimeAcceleration": 6,
"m_fNightTimeAcceleration": 12,
"m_fXpMultiplier": 10,
"m_iPlayerCount": 40
}See Mission Header Settings for all available properties.
persistence
Auto-save and persistence configuration:
| Property | Type | Default | Description |
|---|---|---|---|
autoSaveInterval | number | 10 | Minutes between auto-saves (0 to disable) |
hiveId | number | 0 | Server identifier for shared databases (0–16383). Each unique hiveId gets its own save data |
databases | object | — | Override system database configurations using named presets |
storages | object | — | Override system storage configurations |
operating
| Property | Type | Default | Description |
|---|---|---|---|
lobbyPlayerSynchronise | bool | true | Sync player list with backend |
disableCrashReporter | bool | false | Disable automatic crash reports |
disableNavmeshStreaming | array | — | Load navmesh into memory for better AI performance. Pass as array in v1.2+ |
disableServerShutdown | bool | false | Prevent auto-shutdown on backend disconnect |
disableAI | bool | false | Completely disable AI |
playerSaveTime | number | 120 | Player save interval in seconds |
aiLimit | number | -1 | Max AI characters (-1 = unlimited) |
slotReservationTimeout | number | 60 | Seconds to reserve slot for kicked players (5–300) |
joinQueue
| Property | Type | Default | Description |
|---|---|---|---|
maxSize | number | 0 | Max players in join queue (0 = disabled, max 50) |
Full Template
{
"dedicatedServerId": "",
"region": "",
"bindAddress": "",
"bindPort": 2001,
"publicAddress": "",
"publicPort": 2001,
"a2s": {
"address": "",
"port": 17777
},
"rcon": {
"address": "",
"port": 19999,
"password": "",
"maxClients": 16,
"permission": "monitor",
"blacklist": [],
"whitelist": []
},
"game": {
"name": "",
"password": "",
"passwordAdmin": "",
"admins": [],
"scenarioId": "",
"maxPlayers": 64,
"visible": true,
"crossPlatform": false,
"supportedPlatforms": ["PLATFORM_PC"],
"modsRequiredByDefault": true,
"gameProperties": {
"serverMaxViewDistance": 1600,
"serverMinGrassDistance": 0,
"networkViewDistance": 1500,
"disableThirdPerson": false,
"fastValidation": true,
"battlEye": true,
"VONDisableUI": false,
"VONDisableDirectSpeechUI": false,
"VONCanTransmitCrossFaction": false
},
"mods": []
},
"operating": {
"lobbyPlayerSynchronise": true,
"disableCrashReporter": false,
"disableServerShutdown": false,
"disableAI": false,
"playerSaveTime": 120,
"aiLimit": -1,
"slotReservationTimeout": 60,
"joinQueue": {
"maxSize": 0
}
}
}Example Configuration
{
"dedicatedServerId": "",
"region": "EU",
"bindAddress": "0.0.0.0",
"bindPort": 2001,
"publicAddress": "192.168.9.10",
"publicPort": 2001,
"a2s": {
"address": "192.168.9.10",
"port": 17777
},
"rcon": {
"address": "192.168.9.10",
"port": 19999,
"password": "changeme_withoutspaces",
"maxClients": 16,
"permission": "admin",
"blacklist": [],
"whitelist": []
},
"game": {
"name": "My Arma Reforger Server - Conflict Everon",
"password": "",
"passwordAdmin": "changeme",
"admins": [
"76561198200329058"
],
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"maxPlayers": 32,
"visible": true,
"crossPlatform": true,
"gameProperties": {
"serverMaxViewDistance": 2500,
"serverMinGrassDistance": 50,
"networkViewDistance": 1000,
"disableThirdPerson": true,
"fastValidation": true,
"battlEye": true,
"VONDisableUI": false,
"VONDisableDirectSpeechUI": false,
"VONCanTransmitCrossFaction": false,
"missionHeader": {
"m_iPlayerCount": 40,
"m_iStartingHours": 7,
"m_iStartingMinutes": 30,
"m_bRandomStartingWeather": true
}
},
"mods": [
{
"modId": "59727DAE364DEADB",
"name": "WeaponSwitching",
"version": "1.0.1"
}
]
},
"operating": {
"lobbyPlayerSynchronise": true,
"joinQueue": {
"maxSize": 12
}
}
}Related Guides
See also: Configure Your Server | Startup Parameters | Scenario List
If you need help, join our Discord.
How is this guide?
