Arma 3

PlatformSupportNotes
Linux✅ NativeFull support, excellent performance
Windows✅ NativeFull support

Arma 3

This guide covers setting up a dedicated Arma 3 server on a Linux VPS, including SteamCMD installation, configuration, and mod management.

02

System Requirements

Arma 3 is heavily CPU-bound. Performance depends significantly on single-core CPU speed, not just core count. For smooth gameplay with high player counts, prioritize single-thread performance over core count.

  • RAM: 4GB minimum (8GB recommended for active multiplayer servers)
  • vCPU: 2+ cores
  • Storage: 20GB+ available space
  • Network: Stable connection, upstream bandwidth for player slots
  • OS: Ubuntu 20.04+ or similar
03

Install SteamCMD

First, update your system and install SteamCMD:

bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y steamcmd lib32gcc-s1 lib32stdc++6 libncurses5:i386

Create a directory for the Steam user:

bash
sudo useradd -m -s /bin/bash steam
sudo su - steam
mkdir -p ~/steamcmd
cd ~/steamcmd
steamcmd +quit
04

Install Arma 3 Server

The Arma 3 server requires that your Steam account owns a copy of Arma 3. You cannot download the server without owning the game.

Log in to SteamCMD and download the server:

bash
cd ~/steamcmd
./steamcmd.sh +login your_steam_username your_steam_password +app_update 233780 validate +quit

The server will install to ~/steamcmd/steamapps/common/Arma 3 Server/.

05

Configuration Files

Create and configure basic.cfg:

bash
nano ~/steamapps/common/Arma\ 3\ Server/basic.cfg

basic.cfg — contains server identity and core settings:

class Missions { class Mission01 { template = "Stratis"; difficulty = "Regular"; }; }; allowedFilePatching = 0; maxMem = 2048; maxVRAM = 1024;

Create server.cfg:

bash
nano ~/steamapps/common/Arma\ 3\ Server/server.cfg

server.cfg — multiplayer and gameplay settings:

hostname = "DeluxHost | Arma 3 Server"; password = "your_server_password"; passwordAdmin = "your_admin_password"; maxPlayers = 32; motd[] = { "Welcome to DeluxHost", "Visit our website: deluxhost.com" }; motdInterval = 300; logFile = "server.log"; verifySignatures = 0; battlEye = 1; vonCodecQuality = 10; disableVon = 0;
06

Launch Parameters

Start the server with:

bash
cd ~/steamapps/common/Arma\ 3\ Server/
./arma3server -config=server.cfg -cfg=basic.cfg -profiles=. -port=2302 -mod=;

Common parameters:

  • -config=server.cfg — Main server configuration
  • -cfg=basic.cfg — Basic server settings
  • -profiles=. — Profile directory
  • -port=2302 — Game port
  • -mod=mod1;mod2; — Load mods (semicolon-separated)
  • -serverMod=mod1;mod2; — Load server-side mods only
07

Port Configuration

Open these UDP ports on your firewall:

bash
sudo ufw allow 2302/udp
sudo ufw allow 2303/udp
sudo ufw allow 2304/udp
sudo ufw allow 2305/udp
sudo ufw allow 27016/udp

Port assignments:

  • 2302/UDP — Game traffic
  • 2303/UDP — Game traffic (continued)
  • 2304/UDP — Game traffic (continued)
  • 2305/UDP — Game traffic (continued)
  • 27016/UDP — Query port (optional, for server browser)
08

Mods Setup

Download Mods via SteamCMD

Find the mod's Workshop ID, then download it:

bash
./steamcmd.sh +login your_steam_username your_steam_password +workshop_download_item 107410 mod_id +quit

Mods download to steamapps/workshop/content/107410/.

Example: Downloading ACE mod:

bash
./steamcmd.sh +login your_steam_username your_steam_password +workshop_download_item 107410 463939057 +quit

Enable Mods

Create a symlink to your mods directory:

bash
cd ~/steamapps/common/Arma\ 3\ Server/
ln -s ~/steamcmd/steamapps/workshop/content/107410 mods

Launch server with mods:

bash
./arma3server -config=server.cfg -cfg=basic.cfg -profiles=. -port=2302 \
  -mod=mods/463939057;mods/other_mod_id;
09

Systemd Service

Create /etc/systemd/system/arma3-server.service:

bash
sudo tee /etc/systemd/system/arma3-server.service > /dev/null <<'EOF'
[Unit]
Description=Arma 3 Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/steamapps/common/Arma 3 Server
ExecStart=/home/steam/steamapps/common/Arma 3 Server/arma3server \
  -config=server.cfg \
  -cfg=basic.cfg \
  -profiles=. \
  -port=2302
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

Enable and start the service:

bash
sudo systemctl daemon-reload
sudo systemctl enable arma3-server
sudo systemctl start arma3-server

Check status:

bash
sudo systemctl status arma3-server
sudo journalctl -u arma3-server -f
10

BattlEye Anti-Cheat

BattlEye is built into the server. To enable it, set in server.cfg:

battlEye = 1;

The first time the server runs with BattlEye enabled, it will generate necessary files. Ensure your server account is registered at BattlEye's website for administration features.

11

TADST (Optional Tool)

The Arma 3 Server Configuration Tool (TADST) is a GUI tool for generating configs:

TADST is optional but helpful if you prefer a UI over manual configuration.

  • Download from the Bohemia Interactive forums
  • Generate your server.cfg and basic.cfg files
  • Transfer the files to your server
12

Maintenance

Backup Server

bash
tar -czf arma3-server-backup.tar.gz \
  ~/steamapps/common/Arma\ 3\ Server/{server.cfg,basic.cfg,*.log}

Update Server

bash
cd ~/steamcmd
./steamcmd.sh +login your_steam_username your_steam_password +app_update 233780 validate +quit
sudo systemctl restart arma3-server

Monitor Performance

bash
top
free -h
netstat -tupn | grep 2302
13

Troubleshooting

Server won't start: Check logs with journalctl -u arma3-server -n 50

Low FPS/Performance: Reduce player count, lower mission complexity, or upgrade CPU

Mods not loading: Verify mod IDs are correct and paths use forward slashes

BattlEye kicks players: Verify BattlEye is properly initialized and players have latest client

14

Windows Server Setup

Step 1: Download Server on Windows

powershell
steamcmd +login your_steam_username your_steam_password +force_install_dir "C:\Arma3-Server" +app_update 233780 validate +quit

Step 2: Create Config Files on Windows

Create C:\Arma3-Server\basic.cfg and C:\Arma3-Server\server.cfg (see Configuration Files section above).

Step 3: Create Startup Batch Script

Create C:\Arma3-Server\start-server.bat:

batch
@echo off
cd /d C:\Arma3-Server
arma3server.exe -config=server.cfg -cfg=basic.cfg -profiles=. -port=2302 -mod=;
pause

Step 4: Run as Service (Optional)

powershell
nssm install Arma3Server "C:\Arma3-Server\arma3server.exe" "-config=server.cfg -cfg=basic.cfg"
nssm start Arma3Server
15

Tips & Tweaks

server.cfg Key Parameters

ParameterValueImpact
maxPlayers16-64Adjust based on mission complexity
motdInterval300Message rotation (seconds)
vonCodecQuality1-10Voice quality (higher = more bandwidth)
disableVon0-1Disable voice comms entirely if 1
verifySignatures0-2Signature verification strictness
battlEye0-1Enable/disable anti-cheat

Mod Loading and Management

SyntaxPurpose
-mod=mod1;mod2;Load mods in order
-serverMod=mod1;Server-side only mods
@modnameRequired notation for mods
-mod=@ACE;@CBA_A3;Common dependency order

Load order importance: Ensure dependencies load before dependent mods (e.g., CBA before ACE).

Headless Client Setup

Offload AI processing to dedicated headless client machine:

Main server startup:

-mod=@ACE;@CBA_A3 -server

Headless client (separate machine):

arma3.exe -client -headlessClient=127.0.0.1 -password=your_password

Headless client connects locally to main server, reducing server CPU burden.

Performance Tuning Flags

FlagPurposeExample
-hugepagesEnable large memory pages (Linux)Improves memory performance
-enableHTEnable hyper-threading utilizationBetter multi-core usage
-malloc=systemUse system mallocPotentially better performance
-cpuCount=8Specify CPU thread countMatch your vCPU count

Example command:

arma3server.exe -config=server.cfg -malloc=system -hugepages -enableHT -cpuCount=4

Admin Commands (In-Game Console)

CommandPurpose
addMissionEventHandler ["PlayerConnected", {...}]Log player joins
["kicked"] remoteExec ["BIS_fnc_log"]Kick notification
hint "Server message"Display hint to players
player setBehaviour "AWARE"Change AI awareness

Use scripting for advanced admin control via .sqf files.

16

Next Steps

  • Configure headless client for large multiplayer missions
  • Set up custom mission rotations
  • Enable anti-cheat and configure BattlEye whitelists
  • Create community mods package (ACE, CBA, etc.)
  • Monitor performance and adjust maxPlayers accordingly

DeluxHost, fondata nel 2023, offre soluzioni di hosting di alta qualità per diverse esigenze digitali. Forniamo hosting condiviso, VPS e server dedicati con sicurezza avanzata e datacenter globali.

© DeluxHost, Tutti i diritti riservati. | Partita IVA: IT17734661006
Tutti i sistemi operativi