top of page

Bring & Braai... and Host Your Own Arma Reforger Server Too!

Fire up the braai, drop some biltong, and spin up your own low-ping Arma Reforger server — all from your TrueNAS homelab. Local is lekker, even in war games.

If you're a ZA gamer or home lab enthusiast, hosting your own Arma Reforger server locally means:

Lower ping

✅ Total control over maps and modes

✅ Public visibility (or private setup for friends)

✅ Great testing platform for LANs or gaming communities


This guide walks you step-by-step through everything from pulling the Docker image, setting up your config, configuring TrueNAS datasets, exposing ports, and launching your own server.

🔧 Prerequisites

Ensure you have the following ready:

  • ✅ A working TrueNAS SCALE setup with Docker or Apps enabled

  • ✅ Access to TrueNAS shell (via Web GUI or SSH)

  • ✅ A static IP address for your TrueNAS server

  • ✅ Open router/firewall ports

  • ✅ A config.json file with your custom server settings

  • ✅ At least 5GB free space for Docker + mods


Note: Make sure that the ports used for your server are forwarded on your router. In this example case those ports would be:

Port

Protocol

Purpose

2001

UDP

Main game traffic

17777

UDP

Steam A2S query for browser listing

19999

TCP

RCON for remote admin control

Basic Port Forwarding Guide:

  1. Login to your router (typically 192.168.1.1 look on bottom or back of router if needed)

  2. Go to NAT or Port Forwarding

  3. Add the 3 entries above pointing to your TrueNAS IP

  4. Make sure your TrueNAS box uses a static IP address

🧭 Step-by-Step Instructions


Step 1: Create the Dataset

  1. Open TrueNAS SCALE.

  2. Go to Storage > Datasets.

  3. Create a new dataset, e.g., docker-reforger under your main pool (tank).

  4. Enable ACL if needed, but typically restricted is fine.

This dataset will hold your config, mods, and any files your server uses.


Step 2: Open Shell and Pull Docker Image

  1. Go to System Settings > Shell.

  2. Run:

sudo docker pull rouhim/arma-reforger-server
  1. Tag the image for easier use:

docker tag rouhim/arma-reforger-server arma-reforger:custom

Step 3: Create the Folder Structure

In your dataset path (/mnt/tank/docker-reforger), create this structure:

mkdir -p /mnt/tank/docker-reforger/mods/temp
nano /mnt/tank/docker-reforger/config.json

Paste the following config:

{
  "a2s": {
    "address": "102.182.166.xxx",
    "port": 17777
  },
  "rcon": {
    "address": "102.182.166.xxx",
    "port": 19999,
    "password": "Password123",
    "permission": ""
  },
  "game": {
    "name": "My Server",
    "password": "",
    "passwordAdmin": "Password123",
    "admins": [],
    "scenarioId": "{C41B6F1DBE94071A}Missions/23_Campaign_Arland.conf",
    "maxPlayers": 48,
    "visible": true,
    "supportedPlatforms": [
      "PLATFORM_PC",
      "PLATFORM_XBL",
      "PLATFORM_PSN"
    ],
    "gameProperties": {
      "serverMaxViewDistance": 1600,
      "serverMinGrassDistance": 50,
      "networkViewDistance": 1500,
      "disableThirdPerson": false,
      "fastValidation": true,
      "battleEye": true,
      "missionHeader": {}
    }
  },
  "mods": []
}

Step 4: Run the Docker Container

In Shell:

docker run -d \
  --name arma-reforger \
  -p 2001:2001/udp \
  -p 17777:17777/udp \
  -p 19999:19999/tcp \
  -v /mnt/tank/docker-reforger/config.json:/config/config.json \
  -v /mnt/tank/docker-reforger/mods:/mods \
  arma-reforger:custom \
  -config /config/config.json -addonsDir /mods -addonTempDir /mods/temp

To apply any config changes later:

docker restart arma-reforger

🌐 Scenario IDs for Conflict Modes

Scenario

ID

Notes

Conflict - Everon

{ECC16978DCD25AB3}Missions/23_Campaign.conf

Default Everon

Conflict - Arland

{C41B6F1DBE94071A}Missions/23_Campaign_Arland.conf

Smaller map

Game Master - Arland

{28B8BE23807C6F4B}Missions/22_GM_Arland.conf

Admin creative mode

To switch modes, replace the scenarioId in your config.json, then restart the container.

🚨 Troubleshooting

Error

Cause

Solution

JSON parse error

Trailing commas or typos

Validate JSON using an online validator

BackendDebug:: cannot create directory ($logs:.backend/)

Permissions issue

Ensure container has write access to volume

Not showing in browser

Wrong ports, invalid config, or visibility off

Check port forwarding and visible: true

To view logs:

docker logs arma-reforger

To check if the container is running:

docker ps

🔍 How to Find and Join Your Server In-Game

Once your Arma Reforger container is running and ports are forwarded correctly, you should be able to join your server in two ways:

1. Via the In-Game Server Browser

  • Open Arma Reforger

  • Go to Multiplayer > Browse Servers

  • Use the Search field to look for your server name(Example: ZA Server Vanilla)

  • If your config has "visible": true and ports are properly open, it should appear in the list within a few seconds.

💡 If the server doesn’t appear: Double-check that port 17777 UDP is open and forwarded correctly. Ensure "visible": true is present in your config.json.


2. Via Direct Connect (Public IP)

  • Go to Multiplayer > Direct Connect

  • Enter your public IP address and port 2001

  • Click Join

💡 You can test that port 2001 is open using: https://canyouseeme.org


🚀 Want to Skip the Setup?

If all this feels too technical or you’re not ready to host your own server just yet — you can still enjoy low-ping ZA gameplay.

🕹️ Join the Pro-IT hosted Arma Reforger Server:

🔹 Server Name: ZA Server Vanilla


Hosted locally for the South African community by Pro-IT for maximum performance and zero fuss.


⚠️ Ping Warning – Don’t Be Fooled by High Ping in Server Browser

When browsing for servers in Arma Reforger, you might notice your local server showing a very high ping (e.g., 200+ ms) — even though it’s hosted on your local network or within South Africa.

🧠 Why this happens:

This is a known issue with Arma Reforger’s server browser. The ping shown in the list is not your actual in-game ping, but rather the latency between Arma’s central datacenter and your server.

✅ Real in-game ping is much lower!

Once you join the server, your actual latency is often below 10–30ms — especially for local users on the same network or region. Gameplay will be smooth and responsive.


Comments


Designed by Pro-IT

Copyright © 2025 Pro-IT. All rights reserved.

Pro-IT Logo
  • Instagram
  • Facebook
  • X
bottom of page