Arma Reforger Dedicated Server Setup Guide

Running your own Arma Reforger dedicated server gives you full control over the map, scenario, mods, player slots, and rules — and unlike many survival games, Bohemia Interactive ships a genuine standalone server that installs anonymously through SteamCMD. You don’t need to own the game on the host machine. This guide walks through the entire process on both Windows and Linux: installing the binary, writing a valid JSON config, opening the right UDP ports, choosing launch parameters, and picking a scenario by its GUID. Everything here targets the current 1.6 “Operation Omega” stable line; build numbers change weekly, so treat anything version-specific as “the current 1.6 build” rather than a fixed number.

What you need before you start

Arma Reforger runs on Bohemia’s Enfusion engine and offers a native dedicated server for both Windows and Linux — no Proton or Wine layer is required on Linux. Here is the short list of prerequisites:

  • SteamCMD — the command-line Steam client used to download and update the server.
  • The dedicated-server app ID: 1874900 (stable). The experimental branch is app 1874900‘s sibling 1890870, and the game client is 1874880 — but you do not need the client to host.
  • Anonymous Steam access. You log in to SteamCMD as anonymous; no Bohemia/Steam account ownership of the game is required on the host.
  • Linux dependencies (Linux only): typically libcurl4 and libssl (often libssl1.1), and optionally net-tools for diagnostics.
  • Open UDP ports: 2001 (game socket) and 17777 (Steam/A2S query). If you enable RCON, also 19999 per your config.

A capable VPS or dedicated box with a few CPU cores and 4 GB+ of RAM is a sensible baseline; AI-heavy Conflict scenarios and large modded servers want more. If you’d rather skip the OS-level plumbing, spinning up a managed Reforger host gives you the same config control through a panel with the ports and binaries already wired up.

Step 1 — Install the server with SteamCMD

Once SteamCMD is installed, the install and update process is a single command. On Windows:

steamcmd.exe +force_install_dir "C:\ArmaReforger\Server" +login anonymous +app_update 1874900 validate +quit

On Linux, run SteamCMD interactively (or script the same lines):

force_install_dir ../armar_ds
login anonymous
app_update 1874900 validate
quit

The validate keyword forces Steam to verify file integrity — keep it on every update so a half-applied patch never corrupts the install. After it finishes you’ll have the server binary in place: ArmaReforgerServer.exe on Windows, or the native ./ArmaReforgerServer on Linux. Re-run the exact same command any time a patch drops to update.

Step 2 — Write the JSON server config

This is the part that trips up newcomers. Arma Reforger does not use a classic Arma .cfg file — it uses a JSON config (commonly named config.json or ServerConfig.json). Two rules will save you hours of debugging:

  • Every key is case-sensitive. bindPort is valid; BindPort is not.
  • IPv6 is not supported. Use IPv4 addresses everywhere.

The config is organized into a handful of top-level blocks: bindAddress, bindPort, publicAddress, publicPort, plus the nested a2s, rcon, game, and operating objects. Here is a realistic, working skeleton you can adapt:

{
  "bindAddress": "",
  "bindPort": 2001,
  "publicAddress": "",
  "publicPort": 2001,
  "a2s": {
    "address": "0.0.0.0",
    "port": 17777
  },
  "rcon": {
    "address": "127.0.0.1",
    "port": 19999,
    "password": "ChangeMe123",
    "permission": "admin",
    "maxClients": 16,
    "blacklist": [],
    "whitelist": []
  },
  "game": {
    "name": "My Reforger Server",
    "password": "",
    "passwordAdmin": "SuperSecretAdminPass",
    "admins": [],
    "scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
    "maxPlayers": 64,
    "visible": true,
    "crossPlatform": false,
    "supportedPlatforms": ["PLATFORM_PC"],
    "gameProperties": {
      "serverMaxViewDistance": 1600,
      "serverMinGrassDistance": 0,
      "networkViewDistance": 1500,
      "fastValidation": true,
      "battlEye": true,
      "disableThirdPerson": false,
      "VONDisableUI": false,
      "VONCanTransmitCrossFaction": false
    },
    "mods": []
  },
  "operating": {
    "lobbyPlayerSynchronise": true,
    "playerSaveTime": 120,
    "aiLimit": -1,
    "slotReservationTimeout": 60,
    "joinQueue": { "maxSize": 0 }
  }
}

The network fields

Leave bindAddress empty (it resolves to 0.0.0.0) on most VPS and home setups. bindPort and publicPort both default to 2001. Only set publicAddress if auto-detection picks the wrong network interface — for example on a multi-homed server. The a2s block controls the Steam query socket the server browser uses; its port defaults to 17777.

Key fields in the game block

FieldDefaultWhat it does
nameServer browser display name (0–100 chars)
passwordemptyPlayer join password; leave blank for public
passwordAdminIn-game admin login password; no spaces
admins[]Array of identity/Steam IDs; max ~20
scenarioIdThe mission GUID + path (see Step 4)
maxPlayers64Range 1–128
crossPlatformfalseAccept all platforms (see cross-play section)
battlEyetrueAnti-cheat; required for console players

The gameProperties object holds world-tuning values like serverMaxViewDistance (default 1600, range 500–10000) and networkViewDistance (default 1500, range 500–5000). Keep fastValidation: true on public servers — it speeds up the client-join handshake. The operating block governs runtime behaviour: playerSaveTime (default 120 seconds) is how often player state is persisted, aiLimit (-1 = no limit) caps active AI, and joinQueue.maxSize (default 0 = disabled, max 50) lets full servers queue arrivals. For an exhaustive field-by-field breakdown, see our Arma Reforger server configuration guide.

Step 3 — Launch the server with the right parameters

With the config saved, launch the binary and point it at the file. Windows:

ArmaReforgerServer.exe -config ".\Configs\ServerConfig.json" -maxFPS 60 -profile ".\profile"

Linux:

./ArmaReforgerServer -config /path/to/config.json -maxFPS 60 -profile /path/to/profile

The -maxFPS flag is the single most important launch parameter and the one most often forgotten. Without it, the dedicated server will happily run at thousands of frames per second and pin a CPU core to 100% doing nothing useful. Cap it between 60 and 120. Sixty is plenty for most servers; raise it only if you have headroom and want tighter tick timing.

  • -config — path to the JSON config file (required).
  • -maxFPS — caps server frame rate; set 60–120 to stop CPU pinning.
  • -profile — sets the profile/logs directory where logs and crash data are written.
  • -logStats — periodically logs server FPS and performance stats, useful for capacity tuning.
  • -listScenarios — prints every loadable scenario ID on startup; the fastest way to find a modded scenario’s GUID.
  • -backendlog — enables backend logging.
  • -addonsDir / -addons — load local mods for testing.

On first run, the server contacts Bohemia’s backend, registers itself, and (if you listed any mods) auto-downloads them before going live. Watch the console: a clean startup ends with the server reporting it has loaded the scenario and is accepting connections. If it never appears in the browser, the culprit is almost always a firewall blocking UDP 2001/17777 or a JSON syntax error — paste your config through a JSON validator.

Step 4 — Choose your scenario by GUID

The scenarioId field follows a strict format: {16-HEX-GUID}Missions/FileName.conf. The GUID in braces identifies the owning resource — the base game or a specific mod — and the path points to the scenario’s .conf file. The default in the skeleton above loads Conflict on Everon. Here are the canonical built-in scenario IDs for the 1.6 line:

ScenarioscenarioId
Conflict – Everon{ECC61978EDCC2B5A}Missions/23_Campaign.conf
Conflict – Arland{C41618FD18E9D714}Missions/23_Campaign_Arland.conf
Conflict – Northern Everon{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf
Conflict – Southern Everon{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf
Game Master – Everon{59AD59368755F41A}Missions/21_GM_Eden.conf
Game Master – Arland{2BBBE828037C6F4B}Missions/22_GM_Arland.conf
Game Master – Kolguyev{F45C6C15D31252E6}Missions/27_GM_Cain.conf
Combat Ops – Arland{DAA03C6E6099D50F}Missions/24_CombatOps.conf
Combat Ops – Everon{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf
Capture & Hold – Briars{3F2E005F43DBD2F8}Missions/CAH_Briars_Coast.conf
Tutorial{002AF7323E0129AF}Missions/Tutorial.conf

As of 1.6 the map roster is Everon, Arland, and Kolguyev (Kolguyev was added in 1.6). There are roughly 31 official scenarios in total across maps and modes; re-check the list after any major content patch, since new GUIDs can appear. To run a custom or modded scenario, add its mod to the mods array and set scenarioId to that mod’s {GUID}Missions/....conf string — the -listScenarios flag will print the exact ID for you. Our walkthrough on creating a custom scenario in Arma Reforger covers building one in the Workbench World Editor and publishing it.

Step 5 — Add mods (from the Reforger Workshop)

Arma Reforger mods come from the in-game Reforger Workshop (also browsable at reforger.armaplatform.com/workshop) — not the Steam Workshop. The server auto-downloads any mods listed in the config on startup. Each mod is referenced by its modId, a 16-character hexadecimal GUID, with optional name (a human label), version (omit to pull the latest), and required:

"mods": [
  { "modId": "591AF5BDA9F7CE8B", "name": "Capture & Hold", "version": "1.0.3", "required": true }
]

To find a modId, open the mod’s page in the Reforger Workshop and copy the 16-character hex GUID from the page URL (it’s also stored in the mod’s ServerData.json). Load order matters: frameworks and dependencies must load before the content that depends on them — ACE core before its extensions, base Overthrow before its faction packs — and every dependency-of-a-dependency must be present too. Popular picks for 2026 servers include RHS – Status Quo (modern US/Russian forces), ACE Anvil (the flagship realism framework), Overthrow (open-world insurgency campaign), and QoL mods like Where Am I and VPad. See our roundup of the best Arma Reforger mods for the current standouts.

Step 6 — Enable cross-play (PC, Xbox, PlayStation)

Arma Reforger’s biggest draw — and the reason console players flock to community servers — is cross-platform play. You enable it one of two mutually-exclusive ways:

  • Set "crossPlatform": true to accept all platforms, or
  • Leave it false and explicitly list platforms in supportedPlatforms using the tokens PLATFORM_PC, PLATFORM_XBL (Xbox), and PLATFORM_PSN (PS5, supported since v1.2.1.169).

Two caveats decide whether console players can actually connect. First, BattlEye must be enabled (battlEye: true, which is the default) — console players cannot join a server with it off. Second, mods change the picture: since Update 1.4 (May 2025) PS5 can join modded servers, but only mods that ship data/assets — anything containing script code is blocked on PSN by Sony policy. A heavy scripted modpack will silently exclude PS5 players even if you list PLATFORM_PSN. Xbox follows similar data-vs-script gating, with mods needing to declare platform compatibility. The full nuance is covered in our guide on making your Reforger server cross-platform.

Game modes you can host

The scenario you pick determines the mode. The main ones:

  • Conflict — the flagship large-scale mode: pick a faction (US vs USSR, plus FIA as a third force), capture bases within radio range, manage supplies, build, and spawn vehicles. In 1.6 it was reworked toward a Headquarters Commander (HQC) command layer.
  • Game Master (GM) — a Zeus-style sandbox where an admin controls the world live, spawning AI and objects. It’s also how you perform a manual, named save of a hosted Conflict session.
  • Combat Ops — randomized solo/co-op missions (destroy, clear, assassinate, then extract), roughly 45–60 minutes each. A great practice ground.
  • Single-player Campaign (Operation Omega) — added in 1.6, set 1989 on Kolguyev. The proper offline campaign.

If you mainly want a quiet co-op box for you and friends, see our solo-mode getting-started guide — and once it’s running, point new players at the medic-role guide so they learn to keep the squad alive with bandages, tourniquets, saline, and morphine.

Maintaining and monitoring your server

Once it’s live, a few habits keep it healthy. Run SteamCMD with validate on every patch day. Keep -logStats in your launch line so you can watch server FPS in the profile logs — if it dips well below your -maxFPS cap under load, you’re CPU-bound and should trim AI limits, mods, or view distance. Set up RCON (the rcon block; password minimum 3 characters, no spaces) for remote admin without being in-game. For step-by-step panel and admin reference, our Arma Reforger documentation covers the operational side in detail.

Frequently asked questions

Do I need to own Arma Reforger to host a dedicated server?

No. The dedicated server is a separate SteamCMD application (app ID 1874900) that installs anonymously — you log in to SteamCMD as anonymous and no game ownership is checked on the host machine. You only need to own the game on the PCs that will connect and play.

What ports do I need to open for an Arma Reforger server?

Open UDP 2001 for the game socket (bindPort/publicPort) and UDP 17777 for the Steam/A2S query that powers the server browser (the a2s block). If you enable remote console, also open the RCON port from your config — 19999 by default. A server that runs locally but never appears in the browser is almost always blocked on 17777.

Can I run an Arma Reforger server on Linux without Wine or Proton?

Yes. Bohemia ships a genuine native Linux binary, ./ArmaReforgerServer — no compatibility layer is needed. You’ll typically need the libcurl4 and libssl (often libssl1.1) libraries installed, and net-tools is handy for diagnostics. The launch syntax mirrors Windows, just with the native binary and forward-slash paths.

Why is my server using 100% CPU even when nobody is connected?

Because you didn’t cap the frame rate. The dedicated server runs uncapped by default and will spin at thousands of FPS, pinning a core. Add -maxFPS 60 (anywhere from 60 to 120) to your launch command. This is the most common first-time mistake and the fix is immediate.

How do I change the map or scenario my server runs?

Edit the scenarioId field in the game block of your JSON config to the GUID + path of the scenario you want — for example {C41618FD18E9D714}Missions/23_Campaign_Arland.conf for Conflict on Arland — then restart the server. To discover the exact ID of a custom or modded scenario, launch with -listScenarios and read the printed list.

Why can’t PlayStation players join my modded server?

PS5 can join modded servers since Update 1.4, but only mods that ship data and assets — any mod containing script code is blocked on PSN under Sony’s policy. If your modpack includes a scripted realism or gameplay framework, PS5 players are silently excluded even when PLATFORM_PSN is listed and BattlEye is on. Run a vanilla or data-only-mod server for full PC + Xbox + PSN cross-play.

Wrapping up

That’s the complete path: install app 1874900 through SteamCMD anonymously, write a case-sensitive JSON config with the right ports (2001 and 17777), launch the native binary with -config and a sane -maxFPS cap, point scenarioId at the GUID you want, and layer in Reforger Workshop mods by their 16-character modId. Mind the BattlEye and scripted-mod rules if you want console players, and keep the server patched with validate. From there it’s tuning — view distances, AI limits, mod stacks — until it runs the way your community wants.

Free Arma Reforger Tools

Speed up your server with our free Arma Reforger tools:

Ready to play?

Run your own Arma Reforger server with XGamingServer

Spin up an always-on Arma Reforger server your friends can join in minutes — no port-forwarding, no tech headaches.

99.9%Uptime SLA
< 5 minInstant setup
24/7Human support
DDoSProtected
Instant setup Your server is live in minutes with a one-click control panel.
Mods & plugins Install mods, plugins and workshop content in a few clicks.
DDoS protected Enterprise DDoS mitigation keeps your server online 24/7.
Low-latency hardware Premium CPUs & NVMe SSDs for lag-free multiplayer.
Free backups Automatic backups so your world is never lost.
Real human support Gamers helping gamers — 24/7, no bots, no scripts.

Pick your Arma Reforger plan & play in minutes

See all plans
Novice $10.50/mo 6 GB RAM Renews $15/mo Buy now
Pro $24.50/mo 12 GB RAM Renews $35/mo Buy now
ProMax $31.50/mo 16 GB RAM Renews $45/mo Buy now