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 fastValidation set to true for public servers, and limit max FPS with the -maxFPS startup parameter.

Default Ports

PortProtocolRequiredPurpose
2001UDPYesPublic game port
17777UDPNoA2S Steam query port
19999UDPNoRCON 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.

ValueRegion
USUnited States
EUEurope
ASAsia
AUAustralia
SASouth America
AFAfrica

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.

PropertyTypeDefaultDescription
addressstringrequiredIP address for A2S socket binding
portnumber17777UDP port for A2S queries

rcon (Remote Console)

Remote console settings for server administration. See RCON.

PropertyTypeDefaultDescription
addressstringrequiredIP for RCON socket binding
portnumber19999RCON UDP port
passwordstringRequired, no spaces, min 3 characters
maxClientsnumber16Max simultaneous RCON connections (1–16)
permissionstring"admin" (full access) or "monitor" (read-only)
blacklistarray[]Commands excluded from execution
whitelistarray[]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: true instead of manually setting supportedPlatforms. See Enable Crossplay.

supportedPlatforms

Array of platform identifiers. Only used when crossPlatform is false.

KeyPlatform
PLATFORM_PCPC
PLATFORM_XBLXbox
PLATFORM_PSNPlayStation

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"
    }
]
PropertyDescription
modIdGUID of the mod from Workshop
nameHuman-readable name (comment only, not functional)
versionOptional — latest version used if omitted
requiredOptional — if false, server starts without the mod if download fails

See Installing Mods for a step-by-step guide.

gameProperties

PropertyTypeDefaultDescription
serverMaxViewDistancenumber1600Client max view distance (500–10000)
serverMinGrassDistancenumber0Min grass distance in meters (0 or 50–150)
networkViewDistancenumber1500Max network streaming range (500–5000)
fastValidationbooltrueAlways keep true for public servers
battlEyebooltrueEnable/disable BattlEye anti-cheat
disableThirdPersonboolfalseForce first-person view
VONDisableUIboolfalseHide VON UI
VONDisableDirectSpeechUIboolfalseHide direct speech UI
VONCanTransmitCrossFactionboolfalseAllow 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:

PropertyTypeDefaultDescription
autoSaveIntervalnumber10Minutes between auto-saves (0 to disable)
hiveIdnumber0Server identifier for shared databases (0–16383). Each unique hiveId gets its own save data
databasesobjectOverride system database configurations using named presets
storagesobjectOverride system storage configurations

operating

PropertyTypeDefaultDescription
lobbyPlayerSynchronisebooltrueSync player list with backend
disableCrashReporterboolfalseDisable automatic crash reports
disableNavmeshStreamingarrayLoad navmesh into memory for better AI performance. Pass as array in v1.2+
disableServerShutdownboolfalsePrevent auto-shutdown on backend disconnect
disableAIboolfalseCompletely disable AI
playerSaveTimenumber120Player save interval in seconds
aiLimitnumber-1Max AI characters (-1 = unlimited)
slotReservationTimeoutnumber60Seconds to reserve slot for kicked players (5–300)

joinQueue

PropertyTypeDefaultDescription
maxSizenumber0Max players in join queue (0 = disabled, max 50)

Full Template

server-config.json
{
    "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

example-config.json
{
    "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
        }
    }
}

See also: Configure Your Server | Startup Parameters | Scenario List

If you need help, join our Discord.

How is this guide?

40% Off — Limited TimeGet your Arma Reforger server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page