Workload · Hosting an Arma Reforger server

An Arma Reforger dedicated server your whole unit can count on

To run an Arma Reforger dedicated server, you download Bohemia's free server build with SteamCMD (app 1874900), describe your server in a single JSON file, and let players in on UDP port 2001. It keeps your scenario running whether or not anyone in your group has the game open, and it can pull your Workshop mods for you at start-up.

The short version
  1. Free server build, anonymous SteamCMD download
  2. Up to 128 players per server
  3. Players connect on UDP 2001
  4. Mods come straight from the Workshop
  5. Ready about 30 minutes once approved

Why your group outgrows a listen server

Hosting from inside the game works for one evening: it is PC only, and the session lives on the host's own computer, so when that player logs off, everyone else goes with them. A dedicated server is the game without anyone sitting at it. It only runs the world and keeps everybody's copy in step, so your Conflict campaign or Game Master session is there whenever someone wants to play.

Bohemia publishes the server for Windows and Linux. This guide uses Linux, because the official Linux walkthrough was tested on Ubuntu.

How big a server do you need?

Bohemia does not publish a CPU or memory minimum for the server; the only figures on its hosting page are the 4 cores and 6 GB its Docker example gives the container. What the official pages do give you is the list of things that make it work harder:

  • Player count. maxPlayers goes from 1 to 128; leave it out and you get 64.
  • AI. Scenarios full of AI soldiers cost more. aiLimit puts a ceiling on how many can exist at once.
  • View distance. serverMaxViewDistance (default 1600) caps how far clients are allowed to see, and networkViewDistance (default 1500) sets how far out replicated entities are streamed to each player.
  • Navmesh streaming. Switching it off loads the full navigation mesh into memory, which the docs put at up to hundreds of megabytes depending on the terrain.

The honest way to size it: launch with -logStats 10000 added. Every 10 seconds it logs frames per second, frame time, memory use, and how many players, AI and vehicles are live. Play a real session, read the numbers, and you will know whether you have headroom.

Always start with -maxFPS set between 60 and 120. Bohemia's wiki warns that without it the server may try to take every resource the machine has.

The server that fits

A game server on bare metal is a whole physical machine that is yours alone. Nobody else's workload is competing for the processor while your players are mid-firefight, and the service page puts bare metal at up to 30% better compute and I/O performance than a virtual machine.

  • Your own port. It is not shared with any other customer at the access switch, and it is unmetered, so there is no transfer allowance to run past on a busy weekend.
  • An IPv4 address included. That matters here, because Reforger does not support IPv6 at all.
  • Five cities. Put the server where most of your squad lives: Amsterdam or Bucharest if they are European, New York, Miami or San Francisco if they are in the Americas. The data center pages describe each site.
  • A way back in. Rack servers and blades include a remote console, so a firewall rule that locks you out is a fix, not a reinstall.
  • No contract. You pay by the month.

Want to start tonight? The instant servers are already racked and are handed to you about 30 minutes once your order is approved; payment checks can make the first one take longer. Pick Ubuntu from the Linux options when you order.

Up and running in an evening

  1. Log in over SSH and install SteamCMD from Ubuntu's repositories. Valve's instructions turn on the multiverse repository and 32-bit packages first.
  2. Make a separate user called steam and switch to it. Valve tells you not to run it as root, for safety.
  3. Download the server anonymously. You do not need a Steam account for this. Use 1890870 instead of 1874900 if your group plays the experimental branch.
  4. Create the folder for your profile and config. Logs land here, and so do downloaded mods unless you tell the server otherwise.
  5. Write config.json (below), lock it down with chmod 600, and start the server.
  6. Once it runs cleanly, set it up as a systemd service so it restarts after a crash (and, if you like, starts at boot). Bohemia's Linux guide suggests a systemd service for this.
sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
sudo useradd -m steam
sudo -u steam -s
cd /home/steam
/usr/games/steamcmd +force_install_dir /home/steam/reforger +login anonymous +app_update 1874900 validate +quit
mkdir -p /home/steam/profile

Updating later is the same steamcmd line again. The validate part checks every file and repairs anything that does not match.

Writing config.json

Everything about your server lives in one JSON file, and the key names are case-sensitive, so copy them exactly. Here is a small, working shape for a Game Master server on Arland with one mod:

{
  "a2s": { "address": "192.0.2.44", "port": 17777 },
  "rcon": {
    "address": "192.0.2.44",
    "port": 19999,
    "password": "pick-a-long-one",
    "permission": "monitor"
  },
  "game": {
    "name": "Our Unit - Game Master",
    "password": "friends-only",
    "passwordAdmin": "admin-secret-here",
    "admins": ["76561198000000000"],
    "scenarioId": "{2BBBE828037C6F4B}Missions/22_GM_Arland.conf",
    "maxPlayers": 32,
    "gameProperties": { "fastValidation": true, "battlEye": true },
    "modsRequiredByDefault": false,
    "mods": [ { "modId": "59727DAE32981C7D", "name": "Explosive Goats beta" } ]
  }
}
  • Replace 192.0.2.44 with your server's own IPv4 address. Leave out publicAddress and the server works out its public address by itself.
  • Not sure of a scenario's path? Start the server once with -listScenarios and the paths appear in the log.
  • password makes the server private; an empty string opens it to anyone who finds it in the browser.
  • The admin password and the RCON password may not contain a space, and the RCON password must be at least 3 characters long. In game, open chat and type #login with the admin password to take control.
  • Keep fastValidation on true. Bohemia says every server people join over the internet needs it.

With the file saved, make it readable by the steam user alone, then launch:

chmod 600 /home/steam/profile/config.json
cd /home/steam/reforger && ./ArmaReforgerServer -config /home/steam/profile/config.json -profile /home/steam/profile -maxFPS 90

Adding mods from the Workshop

You never copy mod files by hand. Each mod in the mods list needs its modId, the GUID shown on its Workshop page; the name is just a label for you. The server fetches them when it starts, and your players' games download the same set as they join.

  • Leave out version and you always get the newest release of that mod.
  • With modsRequiredByDefault set to false (or required: false on a single entry), a mod the Workshop cannot deliver is skipped with a warning instead of stopping your server.
  • The easy way to build the list: enable your mods in the game, open the mod manager's JSON tab and copy it to the clipboard.
  • Playing with friends on console? crossPlatform: true lets Xbox join; PlayStation players can join vanilla servers only, not modded ones.

Opening the right ports

Three UDP ports matter. Open 2001 so people can play, and 17777 if you want server-query tools to see your player count. Port 19999 is RCON, the remote admin console: open it only to your own home IP, and give RCON the monitor permission unless you really need commands that change the server.

If anything misbehaves, read the console log in your profile folder first; a typo in the JSON and a closed port are the two things to rule out before anything else.

When this isn't the right fit

If you only play together a couple of times a month, hosting from the game is free and may be all you need. And if you would rather nobody in your group ever touched a terminal, know that this route means you install the game, apply its updates and keep an eye on it yourself.

Questions people ask

Do I need to own Arma Reforger to run the server?
Not on the server. SteamCMD downloads app 1874900 with an anonymous login, so no Steam account is involved there. Your players still join with their own copies of the game.
Why can't my friends see the server in the browser?
Check three things in order: the server is running without errors in its log, UDP 2001 is open in your firewall, and visible has not been set to false in the config. A Steam query tool also needs 17777 open.
Is 128 players realistic?
It is the most the config accepts, and 64 is the default. Whether your machine keeps a smooth frame rate at 128 comes down to which scenario you run, how much AI it spawns and your view distances, so turn on -logStats, fill the server, and watch the FPS line before you raise the cap.
Can I run the experimental branch?
Yes. Install app 1890870 instead of 1874900 with the same SteamCMD command.
How soon can I start?
A server that is already racked goes live about 30 minutes after your order is approved, though payment verification can stretch the first order. From there, the steps above take one evening.

Give your unit a server that is always on

A whole machine on its own unmetered port, in the city nearest your players, billed by the month.

Start your Reforger server

Read next