Arma Reforger 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 Mod Setup 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: Server Configuration | Startup Parameters | Scenario List
If you need help, join our Discord.
How is this guide?

Arma Reforger Server Admin Tools Setup
Set up administration tools for your Arma Reforger server including admin password, RCON, Game Master access, and BattlEye RCon.
How to Configure Your Arma Reforger Server (Config Editor & config.json)
Configure your Arma Reforger dedicated server using the built-in Config Editor tool or by editing config.json manually.