
Arma Reforger ships with a native Linux dedicated server binary. No Wine, no Proton, no compatibility layer. The binary runs directly on the OS, which means lower overhead and a simpler setup compared to most game servers. Here is how to get one running.
Requirements
Reforger's server is single-threaded for the simulation tick but benefits from extra cores for networking and mod loading. Practical sizing:
| Use case | RAM | CPU | Storage |
|---|---|---|---|
| Small squad, vanilla scenario | 2-4 GB | 2 cores, 3.5 GHz+ | 15-20 GB |
| Active Conflict server with Workshop mods | 6-8 GB | 3 cores, 4.0 GHz+ | 40-60 GB |
| Large operation with heavy mod load | 10-12 GB | 4 cores, 4.0 GHz+ | 60-90 GB |
Storage grows fast when you add Workshop mods, especially map mods. Start with more disk than you think you need.
Installation via SteamCMD
Reforger's dedicated server app ID is 1874900. Install it with SteamCMD:
steamcmd +force_install_dir /opt/arma_reforger +login anonymous +app_update 1874900 validate +quit
Anonymous login works. No paid account needed for the server binary.
After the download finishes, the main executable is ArmaReforgerServer in the install directory:
/opt/arma_reforger/ArmaReforgerServer
Before launching it, you need a configuration file.
Server Configuration
Reforger reads its config from a JSON file you pass at launch. Create server.json:
{
"dedicatedServerId": "",
"region": "EU",
"gameHostBindAddress": "0.0.0.0",
"gameHostBindPort": 2001,
"gameHostRegisterBindAddress": "0.0.0.0",
"gameHostRegisterPort": 2001,
"adminPassword": "changeme",
"game": {
"name": "My Reforger Server",
"password": "",
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"maxPlayers": 64,
"visible": true,
"gameProperties": {
"serverMaxViewDistance": 2500,
"serverMinGrassDistance": 50,
"networkViewDistance": 1500,
"disableThirdPerson": false,
"VONDisableUI": true,
"VONDisableDirectSpeechUI": true
},
"mods": []
},
"a2sQueryEnabled": true,
"steamQueryPort": 17777
}
Key fields:
- scenarioId: determines the game mode. The string above is Conflict on Everon. Find scenario IDs in the Workshop or by browsing the game files.
- maxPlayers: Reforger supports up to 128 players in the engine, but realistic performance caps depend on hardware and scenario complexity. Most community servers run 32 to 64.
- adminPassword: used for in-game admin commands. Change it.
- mods: an array of Workshop mod entries (covered below).
Launching the Server
/opt/arma_reforger/ArmaReforgerServer -config server.json -profile /opt/arma_reforger/profile -maxFPS 60
-config: path to your JSON config.-profile: directory for logs, saves, and downloaded mod files.-maxFPS: caps the server tick rate. 60 is standard. Going higher uses more CPU without meaningful gameplay benefit for most scenarios.
The server logs to the console and to files in the profile directory.
Adding Workshop Mods
Mods are added to the mods array in server.json. Each entry needs a mod ID and a name:
"mods": [
{
"modId": "5965680B349E9B53",
"name": "ExampleMod",
"version": "1.0.0"
}
]
Find mod IDs on the Arma Reforger Workshop. The server downloads and caches mods automatically on startup. Players need the same mods installed through the in-game Workshop to connect.
When running many mods, increase RAM allocation. Each map mod can add several GB to the server's memory footprint.
Ports
Open these ports on your firewall:
| Port | Protocol | Purpose |
|---|---|---|
| 2001 | UDP | Game traffic |
| 17777 | UDP | Steam query (server browser) |
If you changed gameHostBindPort or steamQueryPort in the config, open those instead.
Running as a systemd Service
To keep the server running after you close your terminal and to auto-restart on crashes:
[Unit]
Description=Arma Reforger Dedicated Server
After=network.target
[Service]
Type=simple
User=arma
WorkingDirectory=/opt/arma_reforger
ExecStart=/opt/arma_reforger/ArmaReforgerServer -config server.json -profile /opt/arma_reforger/profile -maxFPS 60
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
Save as /etc/systemd/system/arma-reforger.service, then:
systemctl daemon-reload
systemctl enable arma-reforger
systemctl start arma-reforger
Performance Notes
Reforger's server performance scales with three things: player count, AI count, and mod complexity.
Conflict mode spawns AI groups that grow as players contest objectives. A 64-player Conflict server with many active objectives can push 8 GB of RAM usage. Game Master mode with a human GM spawning units can spike higher depending on what the GM is doing.
If you see the server tick rate drop (visible in logs), the usual fixes are:
- Lower
serverMaxViewDistanceto reduce simulation range - Lower
networkViewDistanceto reduce replication scope - Reduce max players if the scenario cannot handle the count
- Add RAM if the OOM killer is involved
Updating
Reforger updates frequently during its development cycle. To update the server, stop it and re-run the SteamCMD command:
systemctl stop arma-reforger
steamcmd +force_install_dir /opt/arma_reforger +login anonymous +app_update 1874900 validate +quit
systemctl start arma-reforger
Check your mods after an update. Game updates sometimes break mod compatibility, and players connecting with outdated mods will fail to join.
FAQ
Can I run multiple scenarios on one server? Not simultaneously. Each server instance runs one scenario. To offer both Conflict and Game Master, run two server instances on different ports.
Does the server require a GPU? No. The dedicated server is headless and does no rendering.
Is the server browser the only way players connect? Players can also connect directly by IP. In the game's server browser, search by name or use the direct connect option.
How often does Bohemia update the server? During Early Access, updates have landed roughly monthly, sometimes more frequently. Each update requires re-running SteamCMD.
Hosting on Space-Node
Our Arma Reforger hosting plans run the native Linux binary on AMD Ryzen hardware with NVMe SSD. Workshop mods download automatically through the panel, DDoS protection is included, and the server is live in minutes. Five regions: Netherlands, Canada, USA, Singapore, India.