This is the reference I come back to when I need to look up a specific config.json key, a scenario ID, or an RCON command. If you're setting up your first Reforger server, start with Arma Reforger: Getting Started instead – this article assumes you already have a server running on LOW.MS and just want to know what each setting actually does.
Where to edit config.json
On LOW.MS, open the Configuration Files tab in your server's control panel at control.low.ms and edit config.json directly. Save the file, then restart the server from the panel. That's it – there's no hidden "apply" step.
A quick tip: paste your edits into JSONLint before saving. A single stray comma will stop the server from starting, and the Reforger log line for a JSON error isn't always obvious.
Canonical config.json structure
Here's the full, current schema. This matches the official Bohemia wiki and is what LOW.MS ships by default.
{
"bindAddress": "",
"bindPort": 2302,
"publicAddress": "",
"publicPort": 2302,
"a2s": {
"address": "",
"port": 17777
},
"rcon": {
"address": "",
"port": 2312,
"password": "changeme",
"permission": "admin"
},
"game": {
"name": "My LOW.MS Reforger Server",
"password": "",
"passwordAdmin": "changeme",
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"maxPlayers": 64,
"visible": true,
"crossPlatform": true,
"supportedPlatforms": ["PLATFORM_PC", "PLATFORM_XBL", "PLATFORM_PSN"],
"gameProperties": {
"serverMaxViewDistance": 1600,
"serverMinGrassDistance": 0,
"networkViewDistance": 1500,
"disableThirdPerson": false,
"fastValidation": true,
"battlEye": true,
"VONDisableUI": false,
"VONDisableDirectSpeechUI": false,
"VONCanTransmitCrossFaction": false
},
"mods": []
},
"operating": {
"lobbyPlayerSync": true,
"playerSaveTime": 120,
"aiLimit": -1
}
}
A few notes before we break it down:
- The top-level networking keys are
bindAddress,bindPort,publicAddress,publicPort. If you find a guide online usinggameHostBindAddress,gameHostRegisterAddress, or similar, that's the pre-0.9.12 schema. Don't use it. - Your game port on LOW.MS is allocated in the 2302 range. Check the Service Settings page in your panel for the exact number – we show the examples as 2302 because that's the common case, but your actual port may differ.
- LOW.MS sets your RCON port to your game port + 10. So if your game port is 2302, RCON is on 2312. If your game port is 2402, RCON is on 2412. The Reforger engine default is 19999; LOW.MS overrides that to keep your ports predictable.
- The admin password is
game.passwordAdmin, not a root-leveladminPassword. The root key is the old pre-0.9.9 name and no longer works.
Core game settings
These all live inside the game block.
| Key | Purpose |
|---|---|
name |
Server name shown in the browser. Keep it short; long names get truncated. |
password |
Optional join password. Leave empty for a public server. |
passwordAdmin |
In-game admin password. Used with #login in chat. Min 3 chars, no spaces. |
scenarioId |
The mission file to load. See the scenarios section below. |
maxPlayers |
1 to 128. Default 64. |
visible |
true to show in the server browser. |
crossPlatform |
true enables PC, Xbox, and PS5 together. |
supportedPlatforms |
Array – use this to lock to specific platforms. |
If you want a PC-only server, set crossPlatform: false and supportedPlatforms: ["PLATFORM_PC"]. For a PC+Xbox server, leave crossPlatform: true and use ["PLATFORM_PC", "PLATFORM_XBL"].
gameProperties reference
This is where most of the tuning lives. Defaults are the Reforger engine defaults – the "Example" column is what I'd try first if you want to lean in a particular direction.
| Key | Default | Example | What it does |
|---|---|---|---|
serverMaxViewDistance |
1600 | 2000 | Maximum render distance for players, in metres. Raising this costs CPU. |
serverMinGrassDistance |
0 | 50 | Forces a minimum grass distance. 0 means clients choose. |
networkViewDistance |
1500 | 1200 | How far the server replicates entities to clients. Lower for heavy modded servers. |
disableThirdPerson |
false | true | Forces first-person only. Common for milsim. |
fastValidation |
true | true | Skips strict asset validation on join. Leave on unless debugging. |
battlEye |
true | true | Enables BattlEye anti-cheat. Leave on. |
VONDisableUI |
false | false | Hides the VOIP indicator UI. |
VONDisableDirectSpeechUI |
false | false | Hides the direct-speech indicator. |
VONCanTransmitCrossFaction |
false | false | Lets opposing factions hear each other on direct speech. |
A common mistake I see is people copying settings from Arma 3 guides and setting serverMaxViewDistance to 3500 or 5000. Reforger renders a lot more per metre than Arma 3 did, and the 1600 default is there for a reason. If you push this much higher on a busy server, expect frame drops.
Scenarios
scenarioId takes a GUID plus a mission path. These four are the stock scenarios most people want:
| Scenario | ID |
|---|---|
| Conflict – Everon | {ECC61978EDCC2B5A}Missions/23_Campaign.conf |
| Game Master – Everon | {59AD59368755F41A}Missions/21_GM_Eden.conf |
| Game Master – Arland | {2BBBE828037C6F4B}Missions/22_GM_Arland.conf |
| Combat Ops – Arland | {DAA03C6E6099D50F}Missions/24_CombatOps.conf |
Honestly, Conflict Everon is the one most people end up running. If you want to list every scenario your server can load (including ones added by mods), add -listScenarios to your commandline via the Commandline Manager in the panel. The server will dump the full list to the log.
Mods
The mods array lives inside the game block. Each entry is an object with modId, name, and version:
"mods": [
{ "modId": "591AF5BDA9F7CE8B", "name": "Capture & Hold", "version": "1.0.0" },
{ "modId": "5964E0B3BB7410CE", "name": "Game Master Enhanced", "version": "1.2.0" }
]
modId is the Workshop GUID, not the display name. You find it by subscribing to the mod in the in-game Workshop on a local client and looking at the folder name under My Games/ArmaReforger/addons.
A few things worth knowing:
- Reforger uses its own integrated Workshop. It is not Steam Workshop, even on the Steam version.
- Since Update 1.4 (May 2025), PC, Xbox, and PS5 can all join modded servers. Some individual mods are still flagged PC-only or PC+Xbox-only – that's decided by the mod author based on whether the mod ships script code (which Sony restricts) or only data assets.
- For the full mod install walkthrough with screenshots, see How to Install Mods on Your Arma Reforger Server.
RCON
Reforger ships a minimal RCON implementation that speaks the BattlEye protocol. The block looks like this:
"rcon": {
"address": "",
"port": 2312,
"password": "YourRconPasswordHere",
"permission": "admin"
}
address– leave empty to bind to all interfaces.port– on LOW.MS, this is your game port + 10. If your game port is 2302, use 2312.password– minimum 3 characters, no spaces.permission–admingives full access,monitoris read-only.
The supported commands are deliberately short:
kick <playerID>ban <playerID>#restart#shutdown
Note there's no # on kick or ban – only #restart and #shutdown use the prefix. If you've used Arma 3 RCON before, drop the chat-style #kick reflex; it won't work here.
For anything richer than the four commands above, use in-game admin (below) instead.
In-game admin
Set game.passwordAdmin in config.json, then in-game:
- Open chat (default
Enter). - Type
#login YourAdminPasswordand send. - You're now authenticated for that session.
Authenticated admins can kick and ban from the player list, and on Game Master scenarios they can take the GM slot from the role-select menu. There is no "first player to connect becomes admin" fallback – if you don't set passwordAdmin, you simply can't log in as admin.
Crossplay and platforms
Crossplay is enabled with crossPlatform: true and controlled in detail by supportedPlatforms:
["PLATFORM_PC"]– PC only.["PLATFORM_PC", "PLATFORM_XBL"]– PC and Xbox.["PLATFORM_PC", "PLATFORM_XBL", "PLATFORM_PSN"]– full crossplay.
Since Update 1.4, PS5 can join modded servers. Some mods are still author-flagged PC or PC+Xbox only, so if you run a mod pack that contains any script mods, PS5 players will be blocked from those specific mods. Data-only mods work everywhere.
Performance tuning
I'll be honest: there isn't a magic tier table for Reforger. The knobs that matter most are networkViewDistance, serverMaxViewDistance, and aiLimit in the operating block, and the best value depends entirely on your mission, your mods, and your player count.
General directional advice:
- If players are reporting rubber-banding or desync, lower
networkViewDistancebefore touching anything else. 1200 is a sensible first step from the 1500 default. - If the server CPU is pegged but network feels fine, lower
serverMaxViewDistance. Dropping from 1600 to 1200 is usually unnoticeable in gameplay. - If you're running a heavy AI scenario, use
aiLimitin theoperatingblock to cap total active AI.-1means no cap. - Most community Reforger servers sit comfortably in the 32 to 64 player range. You can push higher, but it stops being a plug-and-play experience once you do – aim higher at your own risk and test carefully.
For a more opinionated take on tuning, see Best Arma Reforger Server Settings.
Operating block
"operating": {
"lobbyPlayerSync": true,
"playerSaveTime": 120,
"aiLimit": -1
}
lobbyPlayerSync– keeps player state synced in the lobby. Leavetrue.playerSaveTime– seconds between player-state autosaves. 120 is a reasonable default; drop to 60 on Conflict servers with persistence mods.aiLimit– hard cap on concurrent AI.-1disables the cap and lets the scenario decide.
When something breaks
If the server refuses to start after a config edit, the cause is almost always one of:
- Invalid JSON (missing comma, trailing comma, unescaped quote). Run the file through JSONLint.
- A
scenarioIdthat doesn't exist on disk, usually because a required mod isn't listed in themodsarray. - An
rcon.passwordunder 3 characters or containing spaces.
Check the Log Viewer tab in the panel for the specific line the engine choked on. If you're stuck, Arma Reforger Troubleshooting has the common fixes.
Ready to run a server? Grab one from low.ms/game-servers/arma-reforger-server-hosting and you'll be editing config.json in a few minutes.