Bring & Braai... and Host Your Own Arma Reforger Server Too!
- hanro440
- Aug 18
- 4 min read
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:
Login to your router (typically 192.168.1.1 look on bottom or back of router if needed)
Go to NAT or Port Forwarding
Add the 3 entries above pointing to your TrueNAS IP
Make sure your TrueNAS box uses a static IP address
🧭 Step-by-Step Instructions
Step 1: Create the Dataset
Open TrueNAS SCALE.
Go to Storage > Datasets.
Create a new dataset, e.g., docker-reforger under your main pool (tank).
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
Go to System Settings > Shell.
Run:
sudo docker pull rouhim/arma-reforger-serverTag the image for easier use:
docker tag rouhim/arma-reforger-server arma-reforger:customStep 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.jsonPaste 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/tempTo 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-reforgerTo 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
Example: 102.182.166.xxx: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