Gaming Servers

ARMA Reforger

Install and configure an ARMA Reforger dedicated server on Linux with SteamCMD

ARMA Reforger is Bohemia Interactive's modern military sandbox, built on the Enfusion engine. It supports dedicated servers on Linux via SteamCMD.

Requirements

  • Ubuntu 22.04 / Debian 12 (64-bit)
  • 8 GB RAM minimum (16 GB recommended for modded servers)
  • 20 GB disk space
  • SteamCMD installed
  • Ports: 2001/UDP (game), 17777/UDP (Steam query)

Install SteamCMD

sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd -y

Create a dedicated user

sudo useradd -m -s /bin/bash arma
sudo su - arma

Install the server

/usr/games/steamcmd +force_install_dir /home/arma/server \
  +login anonymous \
  +app_update 1874900 validate \
  +quit

App ID 1874900 is the ARMA Reforger Dedicated Server.


Server configuration

Create the config directory and main config file:

mkdir -p /home/arma/server/config
nano /home/arma/server/config/server.json
{
  "bindAddress": "0.0.0.0",
  "bindPort": 2001,
  "publicAddress": "YOUR_SERVER_IP",
  "publicPort": 2001,
  "a2s": {
    "address": "0.0.0.0",
    "port": 17777
  },
  "game": {
    "name": "My ARMA Reforger Server",
    "password": "",
    "passwordAdmin": "AdminPassword123!",
    "scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
    "maxPlayers": 32,
    "visible": true,
    "supportedGameClientTypes": ["PLATFORM_PC"],
    "gameProperties": {
      "serverMaxViewDistance": 1600,
      "serverMinGrassDistance": 50,
      "networkViewDistance": 500,
      "disableThirdPerson": false,
      "fastValidation": true,
      "battlEye": true
    },
    "mods": []
  },
  "operating": {
    "lobbyPlayerSynchronise": true,
    "playerSaveTime": 120,
    "aiLimit": -1
  }
}

Built-in scenarios (scenarioId)

ScenarioID
Conflict{ECC61978EDCC2B5A}Missions/23_Campaign.conf
Game Master (Everon){59AD59368755F41A}Missions/21_GM_Eden.conf
Combat Ops (Everon){C41618FD18E9D714}Missions/22_CombatPatrol.conf

Start the server

/home/arma/server/ArmaReforgerServer \
  -config /home/arma/server/config/server.json \
  -profile /home/arma/server/profile \
  -maxFPS 60

Run as systemd service

Exit back to root and create the service:

exit
sudo nano /etc/systemd/system/arma-reforger.service
[Unit]
Description=ARMA Reforger Dedicated Server
After=network.target

[Service]
Type=simple
User=arma
WorkingDirectory=/home/arma/server
ExecStart=/home/arma/server/ArmaReforgerServer \
  -config /home/arma/server/config/server.json \
  -profile /home/arma/server/profile \
  -maxFPS 60
Restart=on-failure
RestartSec=15s
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target

Enable and start:

sudo systemctl daemon-reload
sudo systemctl enable arma-reforger
sudo systemctl start arma-reforger
sudo systemctl status arma-reforger

Firewall rules

sudo ufw allow 2001/udp
sudo ufw allow 17777/udp

Adding mods (Workshop)

Mods are referenced by their Workshop ID in the config. In server.json, add to the mods array:

"mods": [
  {
    "modId": "591AF5BDA9F7CE8B",
    "name": "ACE Reforger",
    "version": ""
  }
]

The server downloads mods automatically on first start if they are public.

For mods that require a Steam account to download, you'll need to authenticate with SteamCMD using a Steam account (not anonymous).


Server updates

sudo systemctl stop arma-reforger
sudo -u arma /usr/games/steamcmd +force_install_dir /home/arma/server \
  +login anonymous \
  +app_update 1874900 validate \
  +quit
sudo systemctl start arma-reforger

View logs

journalctl -u arma-reforger -f

# Server profile logs
tail -f /home/arma/server/profile/logs/*.log

BattlEye setup

BattlEye is enabled by default when "battlEye": true in config. The necessary files are downloaded automatically by the server. No additional setup required on Linux.


Performance tips

  • Set -maxFPS 60 to prevent CPU overload on idle servers
  • Increase networkViewDistance only if you have enough bandwidth
  • Reduce aiLimit if CPU usage is high with AI-heavy scenarios
  • Use fastValidation: true to speed up player connection validation

On this page