Server administration

How to Run and Deploy Your First Arma Reforger Server

A first server needs only a clean install, a small config.json, reachable ports, and a repeatable launch command. This guide keeps the first deployment simple, then points you toward mods and hardening once the server is online.

Install Configure Open ports Verify
Prefer building the file visually?Use the config builder to create a valid starter config.json, then deploy that file with your server.
Open Config Generator

What you need first

  • A Windows or Linux host that can stay online while people play.
  • Access to install the Arma Reforger dedicated server through Steam or SteamCMD.
  • Permission to open UDP ports on the host firewall and, for home hosting, on the router.
  • A folder where the server files, profiles, logs, and config.json can live together.

Install the dedicated server

Install the Arma Reforger Server application on the machine that will host the server. SteamCMD is common for VPS and dedicated machines because it can update the server without opening the Steam client.

steamcmd +force_install_dir ./reforger-server +login anonymous +app_update 1874900 validate +quit

After install, keep the server directory predictable. A simple layout makes updates and backups easier to reason about.

reforger-server/
  ArmaReforgerServer
  config.json
  profiles/
  logs/

Create the first config.json

Start with the smallest useful public server: bind to all interfaces, set the public game port, choose a server name, choose a scenario, and keep the player count modest while testing.

{
  "bindAddress": "0.0.0.0",
  "bindPort": 2001,
  "publicAddress": "",
  "publicPort": 2001,
  "a2s": {
    "address": "0.0.0.0",
    "port": 17777
  },
  "game": {
    "name": "My First Reforger Server",
    "password": "",
    "passwordAdmin": "change-this-admin-password",
    "scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
    "maxPlayers": 32,
    "visible": true,
    "crossPlatform": true,
    "supportedPlatforms": [
      "PLATFORM_PC"
    ],
    "mods": []
  }
}

Do not reuse the example admin password. Change it before the server is reachable from the internet.

Open the required ports

The game port and A2S query port must be reachable over UDP. If you host from home, forward the same ports from your router to the server machine.

2001/udp
Default game traffic port from bindPort and publicPort.
17777/udp
Default A2S query port used for server browser status.

Use publicAddress only when needed

Leave publicAddress empty for most normal deployments. Set it only when the server cannot advertise the address players should use, such as a NAT or routed hosting setup.

Keep bindAddress as 0.0.0.0 unless you deliberately want the process to listen on one network interface.

Launch the server

Run the server executable with a profile folder and the config file. Keep the command in a script once it works so updates and restarts use the same inputs every time.

./ArmaReforgerServer -config ./config.json -profile ./profiles

On Windows, use the same arguments with the Windows server executable. The important part is that the process receives the correct -config path and can write to the profile directory.

Verify the first deployment

  • Watch the first startup log for JSON parsing errors, missing scenario messages, and port binding failures.
  • Confirm the server appears in the in-game browser with the expected name and player limit.
  • Join from a second machine or ask another player to test from outside your network.
  • Restart once after a successful join to confirm the launch command and config survive a clean reboot.

Deploy it for real use

Once the basic server is reachable, move from a manual terminal session to a service manager such as systemd, Windows Task Scheduler, or your host panel. The goal is simple: start after reboot, keep logs, and make restarts intentional.

  • Back up config.json before every major change.
  • Keep server updates separate from mod list changes so problems are easier to isolate.
  • Use a strong admin password, and do not publish it with example configs or screenshots.
  • Validate the config before each deployment if you edit it by hand.
Next stepsAdd mods, understand the config fields, or troubleshoot startup failures before inviting a full player group.