Arma Reforger Server Config: config.json Explained
Arma Reforger server config explained block by block: what each config.json section controls, its defaults, and how to edit it without breaking startup.
You will need
- Access to the server’s current config.json
- A way to create a separate backup before editing
An Arma Reforger server config is a case-sensitive JSON file divided into root networking and query objects, then game, gameProperties and operating blocks. Each key has a specific type and spelling; a value with the wrong type can stop the server before it starts. This guide maps what the blocks control and the defaults worth recognizing, without trying to replace Bohemia’s full schema or the guides for individual settings. If you would rather change common fields in a panel, Game Hosting’s Arma Reforger settings write the name, password, scenario, player count and crossplay to config.json, while the three free backup slots let you create and restore a separate copy before an edit.
Read the Arma Reforger server config from the top down#
The outermost level of config.json holds network and query objects. The game block describes the server listing and loaded scenario; gameProperties controls rules inside that scenario; and operating holds server behavior. The exact keys are in Bohemia’s Server Config reference.
| Root key | Type and documented default | What it controls |
|---|---|---|
bindAddress |
String; empty or absent uses 0.0.0.0 |
The local interface the game server listens on. Leave it empty unless you have a specific network setup. |
bindPort |
Number; 2001 |
The local game socket. If omitted, it follows publicPort. |
publicAddress |
String; empty or absent is detected automatically | The address the Bohemia backend registers for players. |
publicPort |
Number; 2001 |
The port registered with the game’s backend. |
a2s |
Optional object | Query settings for server-list tools. Its field details belong in the A2S guide. |
rcon |
Optional object | Arma Reforger’s remote-console settings. Use the Reforger reference; do not copy an Arma 3 server config. |
Those first four names are still part of the root object even when you do not set them manually. Empty or absent values can invoke documented defaults, so adding guessed addresses is not automatically an improvement. A2S and RCON are optional objects rather than standalone root strings; their own subkeys have separate types and constraints.
The details of opening and forwarding ports are a different task from understanding this map. Before changing network values, compare them with the server’s actual network setup; an incorrect address or mismatched port can make a server unreachable. For the rest of the file, first find the block that owns the setting instead of adding it beside a similarly named key.
Match each value to its exact JSON type#
Bohemia’s server config treats key names as case-sensitive and values as strings unless the schema documents another type. A number, a quoted number, a Boolean and a text value are not interchangeable. The official schema also distinguishes arrays and nested objects, so a field that looks like a list still needs the exact structure it documents.
| JSON type | Example shape | Common mistake |
|---|---|---|
| String | “name”: “Friday Operations” |
Using a number or leaving text unquoted. |
| Number | “maxPlayers”: 64 |
Writing “64” with quotation marks. |
| Boolean | “visible”: true |
Writing “true” as text or capitalizing it as True. |
| Array | “admins”: [] |
Replacing the brackets with braces or putting several values in one string. |
| Object | “rcon”: |
Adding child keys at the root instead of inside the object. |
For example, crossPlatform is a Boolean, not the string “true”; maxPlayers is numeric, not text. Keep braces, brackets, commas and quotation marks valid JSON too. A correct value in the wrong block is still in the wrong place.
The dedicated server validates its config against Bohemia’s schema. A dated real server log shows the message JSON is invalid! followed by shutdown when validation failed; that is evidence of the failure path, not a promise that every bad field produces identical wording. Bohemia’s 1.8.0.13 update notes include a fix for a crash involving vanilla scripted commands on modded servers through RCON, but they do not announce a change to this config structure. See the current 1.8.0.13 changelog for the release context.
If a server refuses to start after an edit, stop changing unrelated fields and preserve the error. This page explains the schema boundary; when a value fails validation, restore your known-good copy before trying another one.
Understand the game block before changing it#
The game object controls the public listing, access rules, active scenario and required mod list. These are representative schema fields, not a complete template; use Bohemia’s current page for every field before adding it.
| Key | Type and documented default | Meaning |
|---|---|---|
name |
String, 0–100 characters; no default stated | The name shown in the server browser. |
password |
String; an example may be empty | The join password. An empty value means the server does not require one. |
passwordAdmin |
String; an example may be empty | The admin login password. It is separate from the player join password. |
admins |
Array of strings; empty list by default, at most 20 unique IDs | Listed administrators. The schema accepts IdentityIds and/or Steam IDs; a console player’s identity is not a Steam ID. |
scenarioId |
String | The scenario resource path. Use an official or installed scenario’s exact ID; the scenario guide owns the ID list. |
maxPlayers |
Number from 1 to 128; default 64 | A technical server limit, not a promise about what a machine or hosting plan can sustain. |
visible |
Boolean; default true |
Whether the server appears in the browser. |
crossPlatform |
Boolean; default false |
When true, enables the all-platform option. The documented default is PC-only. |
supportedPlatforms |
Array; default [“PLATFORM_PC”] |
The platform list used when crossPlatform is false. |
mods |
Array of objects | The server’s mod requirements. Reforger uses Bohemia’s Workshop, not Steam Workshop. |
The difference between a game default and a hosting panel’s default matters. In a bare config, crossPlatform is false and the documented platform list is PC-only; Game Hosting’s own crossplay control is on by default. Bohemia recommends using crossPlatform and leaving supportedPlatforms undefined. Do not assume that the individual entries in a platform array prove every pairwise combination works. Crossplay spans PC, Xbox and PS5 when enabled, but that does not guarantee every mod is available or compatible on every platform. See the server crossplay setup and restart checklist for the exact all-platform setting.
Console storage is another constraint when a group uses mods: Bohemia lists a 25 GB allocation on PS5 and up to 50 GB on Xbox, whose cache grows with use. Check the current Workshop item compatibility and total download size before asking console players to join a modded server. The mods block itself belongs here; its IDs, versions and dependency order are covered in the Reforger server mods guide.
For admins, keep platform identity formats distinct. The schema’s list can contain IdentityIds and Steam IDs, while Bohemia’s server management reference uses an identityId when a player is not currently connected. That identifier is not a Reforger version of an Arma 3 UID. The scenarioId is also a string path, not a friendly mode name; use the exact current ID rather than guessing from “Conflict” or “Game Master.”
Map the gameProperties and operating blocks#
gameProperties changes scenario rules and the persistence system. operating controls server operations such as AI and the join queue. Defaults below come from Bohemia’s current schema; they describe the starting behavior, not recommended values for every scenario.
| Key | Type and documented default | Note |
|---|---|---|
serverMaxViewDistance |
Number; default 1600, range 500–10000 | A server-side view distance limit. The schema range is not a performance recommendation. |
networkViewDistance |
Number; default 1500, range 500–5000 | A separate network distance setting. |
fastValidation |
Boolean; default true |
Bohemia recommends leaving it on for public servers. |
battlEye |
Boolean; default true |
BattlEye anti-cheat. |
disableThirdPerson |
Boolean; default false |
When enabled, players cannot switch to third-person view. |
VONDisableUI, VONDisableDirectSpeechUI, VONCanTransmitCrossFaction |
Boolean; each defaults to false |
Voice settings; each key has a different effect. |
missionHeader |
Nested object | Scenario metadata and rule overrides. Use its exact documented field names. |
persistence |
Nested object | Save interval, retention, load behavior, database and storage choices. |
playerSaveTime |
Number; default 120 seconds | An operating setting. |
aiLimit |
Number; default -1 | Negative means no configured limit. |
slotReservationTimeout |
Number; default 60 seconds, range 5–300 | How long a reserved slot is held. |
joinQueue.maxSize |
Number; default 0, range 0–50 | Zero disables the join queue. |
The persistence defaults are autoSaveInterval: 10 minutes, saveRetention: 10, loadSessionSave: true and keepSessionSave: false. A save interval of zero disables automatic saves. Persistence only helps when the current scenario supports the save types being used; it is not the same thing as a separate hosting backup.
That distinction matters before a wipe, scenario change or restore. In the 1.7.0.30 Experimental changelog, Bohemia says its persistence UUID layout changed, old save-game data became incompatible and was ignored, and binary became the default format for missions. The change is documented in the 1.7 persistence notes. Make a separate backup before changing a scenario or restoring older saves; do not assume an old game save will load just because the JSON parses.
As of this guide’s check, stable is 1.8.0.13. Bohemia’s 1.9.0.10 note says it updated the Steam and Xbox Experimental applications on September 22, 2026; Experimental is incompatible with stable, is a separate channel and is not a PS5 test path. Keep the server and the players on the same branch, and recheck the current Experimental notes before changing builds or mods. The 1.9 changes can require mod authors to adapt their work, so a valid config alone does not prove a modded server is compatible.
Replace obsolete keys instead of copying old examples#
Some older Arma Reforger guides still show names from before version 0.9.8.73. Bohemia’s current schema labels them as legacy names, not supported aliases.
| Old name | Current schema name or block | What to do |
|---|---|---|
gameHostBindAddress |
bindAddress |
Use the current root key. |
playerCountLimit |
maxPlayers |
Use the numeric field under game. |
a2sQueryEnabled and steamQueryPort |
a2s object |
Follow the current object schema if query settings are needed. |
Do not add keys such as dedicatedServerId or region because a third-party example contains them. They are not part of the documented current schema. Similarly, do not move a current key into an old location: passwordAdmin, for example, is in game now, not the old root-level location.
An old tutorial can still be useful for understanding why a field exists, but check every spelling, type, nesting level and default against Bohemia’s live Server Config page before carrying it forward. If the page describes a field as removed or renamed, do not rely on the server accepting both spellings. You can find unrelated log causes in the dedicated server guide; this page stays focused on the schema and does not try to diagnose every startup failure.
Edit one setting and keep a recovery copy#
Use a small, reversible edit. A backup is especially important before changing scenario or persistence settings: the game’s save format has changed between releases, and a restore from the wrong point can lose progress.
Stop and copy the current file
Stop the server before editing. Create a separate copy of its current
config.jsonand note which scenario and game branch it was using. For a rented server, create a host backup as well as copying the JSON; the game’s own persistence save is not that backup.Change one documented field
Pick the exact key in Bohemia’s schema, keep its capitalization and nesting, and use the documented type. Change one value only so a later error has a short list of possible causes.
Check the JSON before saving it
Run the file through a local JSON parser to catch syntax errors. The panel validates fields managed by its form; the full server schema is checked when the game starts, so it is not a preflight for every key you edit by hand.
Restart and inspect the server log
Start the server and look for a config validation error in its current log. If startup fails after your change, stop and restore the saved copy before attempting another edit. The exact success text can vary by version, so do not depend on one copied log line.
For the complete home-hosted install, server profile and launch workflow, see the Arma Reforger dedicated server guide. If you prefer a managed server, compare the hosting trade-offs and choose the settings path that fits your group. This guide stays on JSON settings; use Bohemia’s Server Config and Startup Parameters references for the separate file-selection and launch-option details.
Quick answers
How do I set up an Arma Reforger server config?
Start from Bohemia’s current server config schema and keep each key in its documented JSON type. Make a backup before changing the file.
Are Arma Reforger config.json keys case-sensitive?
Yes. The dedicated server config uses case-sensitive key names, so copy the spelling and capitalization from Bohemia’s schema.
Which config settings should I change first for a private server?
Change only the name, join password, visibility and platform settings your group needs. Back up the current file first and leave unrelated fields alone.

