Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes

An Arma 3 dedicated server is a separate, free copy of Arma 3 that runs a mission on its own, with no player sitting at the host PC. You install it with SteamCMD (app 233780) on Windows or Linux, give it 4–8 GB of RAM and the fastest CPU core you have, open UDP ports 2302–2306, and control it from a server.cfg file. This guide covers every step — requirements, install, config, mods, missions, admin — and then the problems people actually hit, like a server not showing up for friends.

Dedicated server or hosting from the game?

Arma 3 can host a multiplayer game straight from the client, or run as a dedicated server. Hosting from the game is quicker for one evening with friends; a dedicated server is what you want for a unit, a persistent mission like Antistasi, or anything with heavy AI. The table shows the difference at a glance.

Host from the game (non-dedicated) Arma 3 dedicated server
Runs when the host is offline No — the server closes when you quit Yes
Performance Your PC renders the game and simulates the mission All of the CPU goes to the mission and AI
Config Menu options Full control in server.cfg, basic.cfg and the profile
Mods Whatever you load in the launcher -mod= and server-only -serverMod=
Best for A quick co-op night Units, persistent missions, public servers

How to host a server for friends from the game

  1. Load the mods everyone will use in the Arma 3 Launcher, then start the game.
  2. Open Multiplayer → Server Browser and choose the Host Server tab.
  3. Set a server name, set Host to Internet, add a password, tick UPnP and click Host Server.
  4. Pick a map and mission, then click Play. Friends find it by name in the server browser.

If UPnP doesn’t work, forward UDP 2302–2306 to your PC by hand (see ports) — but don’t use UPnP and manual forwarding at the same time, they conflict. Only the host needs to forward ports. If you can’t forward at all, a VPN tool like Hamachi works as a workaround, as long as every player installs the same tool and joins the same network.

Arma 3 dedicated server requirements

An Arma 3 server is limited by the CPU first. The server binary can use more than one core, but the mission and AI simulation lean on one fast core, so a high clock speed beats a high core count. A server does not need a graphics card. These are the numbers to plan around:

Bare minimum Recommended
CPU 2.4 GHz dual-core, 64-bit x86 3.5 GHz+ quad-core
RAM 2 GB 4–8 GB; add about 2 GB per headless client
Storage 32 GB 50 GB+ SSD — mods add a lot
Network 0.5 Mbit/s upload per player 1–5 Mbit/s per player, real IPv4
OS 64-bit Windows or Linux

Two catches. Arma 3 servers don’t support IPv6 or DS-Lite tunnels, so you need a real public IPv4 address. And on CPUs with efficiency cores, performance can tank if the server lands on the slow cores; the -cpuCount or -cpuAffinity startup parameters keep it on the fast ones. Server RAM is mostly a modpack question: a vanilla Zeus night fits in 4 GB, while Antistasi or Exile with a large mod list wants the upper end of 8 GB.

How to set up an Arma 3 dedicated server

Step 1: Download the server with SteamCMD

The Arma 3 dedicated server download is Steam app ID (AppID) 233780, separate from the game (107410). Unlike many games, it can’t be installed with SteamCMD’s anonymous login: you need a real Steam account with Steam Guard turned off. That account doesn’t have to own Arma 3, so make a separate account just for servers.

On Windows, install SteamCMD to a folder like C:\SteamCMD and run:

steamcmd +force_install_dir C:\arma3server +login yoursteamaccount +app_update 233780 validate +quit

On Linux (Ubuntu or Debian), install SteamCMD from your package manager, create a non-root user for the server, and run the same command with a Linux path:

steamcmd +force_install_dir /home/arma3/server +login yoursteamaccount +app_update 233780 validate +quit

The same command updates the server later. You’ll get arma3server_x64.exe on Windows and arma3server_x64 on Linux (plus 32-bit versions you can ignore).

Step 2: Create server.cfg

The server doesn’t ship with a server.cfg — you make the file yourself. Create it next to the executable and start with:

hostname = "My Arma 3 Server";
password = "squad-only";
passwordAdmin = "something-long-and-private";
maxPlayers = 32;
motd[] = {"Welcome to the server", "TeamSpeak and rules on our Discord"};
motdInterval = 30;
persistent = 1;
verifySignatures = 2;
BattlEye = 1;
kickDuplicate = 1;
voteThreshold = 0.33;
voteMissionPlayers = 1;

Lines starting with // are comments. Every setting line ends with a semicolon. The settings table below explains what each one does.

Step 3: Write the start command

On Windows, save this as start_server.bat in the server folder:

arma3server_x64.exe -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=profiles -name=server -world=empty -mod=@cba_a3;@ace

On Linux, the same line goes in a shell script — quote the mod list, because a semicolon ends a shell command:

./arma3server_x64 -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=profiles -name=server -world=empty "-mod=@cba_a3;@ace"

Leave out -mod= for a vanilla server and -cfg=basic.cfg until you’ve made that file.

Step 4: Open the ports and start it

Forward the ports in the ports table on your router, allow them through the firewall (on Linux: sudo ufw allow 2302:2306/udp), then run the script. Join from the game to check it works, then hand the address to your friends.

Server tools if you’d rather click than type

On Windows, community tools like FASTER and the older TADST put the startup parameters, the mod list and server.cfg behind a window, which helps if you run several setups. On Linux, LinuxGSM can install and run the server and keep it updated. A server manager doesn’t change the files underneath, so knowing what server.cfg does still pays off. Or skip running anything yourself with Arma 3 server hosting.

Arma 3 server config: server.cfg, basic.cfg and the profile

An Arma 3 server reads three files. server.cfg (loaded with -config=) holds the name, passwords, security and the mission cycle. basic.cfg (loaded with -cfg=) tunes bandwidth and packet sizes. The server profile, server.Arma3Profile in the profiles folder, holds the difficulty settings. Most owners only ever touch the first.

server.cfg setting What it does
hostname Name in the server browser
password Join password; leave it out for a public server
passwordAdmin Password for #login
admins[] Steam64 IDs that can log in as admin without the password
maxPlayers Slots; the real limit is AI and scripting load
verifySignatures 2 checks every client addon against the keys folder
BattlEye 1 on, 0 off
persistent 1 keeps the mission running with nobody on
disableVoN 1 turns off in-game voice
headlessClients[] / localClient[] IP addresses allowed to connect as headless clients
class Missions The mission cycle (next section)

Mission files and the mission cycle

Missions are .pbo files named MissionName.MapName.pbo. Put them in the mpmissions folder, then list them in server.cfg — without that, a fresh server sits on an empty rotation and waits for an admin to pick one:

class Missions
{
    class Mission1
    {
        template = MP_Marksmen_01.Altis;
        difficulty = "veteran";
        class Params {};
    };
};

template is the file name without .pbo. Add more class blocks for a rotation. Mission parameters (the options a mission offers in its lobby) go inside class Params, using the parameter names that mission defines. Add -autoInit to the start command (it only works with persistent = 1;) and the server starts the first mission on boot instead of waiting for a player.

Custom difficulty settings

The built-in difficulties (Recruit, Regular, Veteran) need no setup. For a custom difficulty — no crosshair, no third person, no name tags — add a CustomDifficulty class to server.Arma3Profile:

class DifficultyPresets
{
    class CustomDifficulty
    {
        class Options
        {
            groupIndicators = 0;
            friendlyTags = 0;
            enemyTags = 0;
            weaponCrosshair = 0;
            thirdPersonView = 0;   // 0 off, 1 on, 2 vehicles only
            mapContent = 0;
        };
        aiLevelPreset = 3;         // 3 = use CustomAILevel
    };
    class CustomAILevel
    {
        skillAI = 0.5;
        precisionAI = 0.5;
    };
};

Then set difficulty = "Custom"; on the mission in class Missions.

Performance settings

Server performance is measured in server FPS — log in as admin and type #monitor 5 to see it. The usual levers, in order: fewer AI and better-written missions, a headless client that takes the AI off the main server, and only then basic.cfg values like MaxMsgSend, MinBandwidth and MaxBandwidth. -limitFPS caps how many simulation cycles the server runs per second, and -loadMissionToMemory keeps the mission pre-processed in memory after the first client downloads it, which saves server CPU for the next ones. A headless client is a second copy of Arma 3 started with -client -connect=127.0.0.1 -port=2302 and listed in headlessClients[]; the mission has to support it.

How to add mods to an Arma 3 dedicated server

Arma 3 server mods load from @folders next to the executable. Client mods go on -mod= and every player must run the same ones; server-only mods go on -serverMod= and players don’t need them. Every client mod also ships a .bikey file that must go into the server’s keys folder, or verifySignatures kicks everyone running it.

  1. Download the Workshop mods. Subscribe in the Arma 3 Launcher on your own PC. Steam saves them under steamapps/workshop/content/107410/<mod ID>. Downloading Workshop mods straight on the server through SteamCMD only works if the server’s Steam account owns Arma 3.
  2. Copy them to the server as named folders, for example @cba_a3 and @ace.
  3. On Linux, make everything lowercase — the folder names and the addons folder inside each mod. Uppercase letters stop the server from loading them.
  4. Copy each mod’s .bikey from its keys (or key) folder into the server’s keys folder.
  5. Add the folders to the start command: -mod=@cba_a3;@ace. Load dependencies (CBA first) before the mods that need them.

Arma 3 Launcher presets export as an HTML file, which some server tools can read to build the mod list for you. Keep the preset in your unit’s Discord so everyone loads the exact same set.

DLC and Creator DLC on a server

Creator DLCs like S.O.G. Prairie Fire, Spearhead 1944 (WW2) and Western Sahara come with the server’s creatordlc Steam branch, which installs the files every Creator DLC needs: install with app_update 233780 -beta creatordlc validate, then load them like a mod by their folder name, for example -mod=vn for Prairie Fire or -mod=spe for Spearhead.

Most of the best Arma 3 servers people look for — modded or vanilla — are a mission plus a mod list. Any of these run on your own dedicated server once you have their files:

  • Co-op and PvE: Antistasi (guerrilla campaign against AI), Liberation (co-op campaign), Overthrow, and Zeus, where a game master builds the mission live. Zeus and Warlords are also in the base game.
  • PvP: KOTH (King of the Hill) and Wasteland.
  • Survival: Exile and Epoch, plus DayZ-style and zombies mods.
  • Roleplay: Altis Life and other life or RP frameworks, usually with their own server-side mods.
  • Total conversions and themed units: Star Wars, Vietnam (Prairie Fire), the Second World War (Spearhead 1944), helicopter and infantry training servers.

Life, Exile and Epoch servers ship server files of their own that go on -serverMod= — follow each project’s install notes, since they differ. Bohemia also runs official servers (Zeus, Warlords, Combat Patrol, End Game and more), which you’ll find in the in-game server browser.

Arma 3 server ports and port forwarding

An Arma 3 server uses one main port plus fixed offsets from it, all UDP. Change the main port with -port= and the others move with it. Running two servers on one machine? Keep them 100 ports apart (2302 and 2402).

Port Protocol What it’s for Forward it?
2302 UDP Game and voice (main port) Yes
2303 UDP Steam query (+1) Yes
2304 UDP Steam (+2) Yes
2305 UDP Old voice port (+3), retired No
2306 UDP BattlEye (+4) Yes

Forward them to the server PC’s local IPv4 address (give it a fixed one in the router so it doesn’t change). If your ISP uses CGNAT, port forwarding can’t work at all; that’s when people turn to Hamachi, or rent a server with a public IP.

Admin login and server commands

Open chat (/ by default) and type #login yourpassword using passwordAdmin. Players whose Steam64 ID is in admins[] can log in with just #login.

Command What it does
#login / #logout Become admin / drop admin rights
#missions End the mission and open mission selection
#mission name difficulty Load a mission by name
#restart / #reassign Restart the mission / send everyone back to role selection
#kick name / #exec ban name Kick / ban (bans go to ban.txt)
#lock / #unlock Stop or allow new players joining
#monitor 5 Show server FPS and memory every 5 seconds (0 stops it)
#init Reload server.cfg
#restartserver / #shutdown Restart or stop the whole server

For a server restart on a schedule, #restartserveraftermission waits for the current mission to end; on your own machine, a scheduled task or systemd timer that stops and starts the process does the rest.

Logs: where the RPT file is

The server writes an .rpt log into its profiles folder (the one you pass with -profiles=). It is the first place to look for any problem: missing mods, bad signatures, script errors, a mission that won’t load. Starting with -noLogs turns RPT logs off, so don’t use it while you’re still setting up.

Common Arma 3 server problems and fixes

Problem Most likely cause Fix
Server not showing up for friends in the browser Query port 2303 blocked, or the server isn’t reachable from outside Forward 2302–2304 and 2306; ask friends to use Direct Connect with IP and port
Friends can’t connect at all Ports not forwarded, UPnP and manual forwarding mixed, CGNAT, or no public IPv4 Pick one forwarding method; check for CGNAT; use a VPN tool or a hosted server
Kicked when joining with a signature or BattlEye message A client mod whose key isn’t in keys, or a mismatched mod version Copy the .bikey; make everyone load the same preset
Stuck on the loading screen or a black screen when joining Missing or mismatched mods, or a large mission still downloading Check the RPT log; match the mod list
Crashing when joining the server A broken or outdated mod on the client Repair the mods in the launcher and match versions with the server
Linux server ignores mods Uppercase letters in mod or addons folder names Rename everything to lowercase
Steam login fails in SteamCMD Anonymous login, or Steam Guard on Use a real account with Steam Guard off
Server sits in the lobby with no mission Empty or broken class Missions Fix the template name; add -autoInit
Low server FPS in big fights Too much AI for one core Fewer AI, a headless client, a faster CPU

Keeping the server updated

When Arma 3 updates, stop the server and run the same SteamCMD line (app_update 233780 validate), then update the mods too — a client on a newer mod version gets kicked just like a missing one. Back up server.cfg, basic.cfg, the profiles folder and mpmissions first; that’s the data you’d hate to rebuild.

Skip the setup: rent an Arma 3 server

Running your own server means a PC that stays on, a Steam account just for SteamCMD, five ports on the router and a keys folder that has to match the mod list. If your unit would rather spend that time on the op, Arma 3 server hosting on GameTeam is ready in minutes: you pay per GB of RAM (from $0.49/GB a week) with unlimited slots, there’s nothing to forward, and the built-in AI copilot does the fiddly parts. Tell it “half the squad gets kicked on join with a signature error” and it reads the RPT log, finds the missing key and fixes it, or ask “run the Antistasi mission I uploaded on Veteran” and it writes the mission cycle in server.cfg. Playing Reforger too? The Arma Reforger dedicated server guide covers its very different JSON setup.

FAQ

Is an Arma 3 dedicated server free?

The server software is free — it doesn’t even need an account that owns the game, only a real Steam login. Running it costs a PC that stays on, or a hosting fee.

Is Arma 3 CPU or GPU heavy on a server?

CPU. A dedicated server renders nothing, so the graphics card doesn’t matter; AI and mission scripts run mostly on one fast core.

How do I make a server for friends without port forwarding?

Try UPnP in the Host Server tab first. If that fails, every player can join the same Hamachi network and connect over it, or you can use a hosted server that already has a public address.

Do players need the same mods as the server?

For everything on -mod=, yes, with matching versions. Mods on -serverMod= run only on the server and players don’t need them.

How do I disable BattlEye on my server?

Set BattlEye = 0; in server.cfg and restart. Only do it on a private server; without BattlEye there’s no anti-cheat.

Can I play co-op without a dedicated server?

Yes — host from Multiplayer → Server Browser → Host Server and your friends join you. The server closes when you leave, and your PC carries the AI load while you play.

Are Arma 3 servers still active?

Yes. Multiplayer servers are run by the community and by Bohemia, and the in-game server browser lists the ones online right now. Your own server stays up as long as you run it.

Linux or Windows for an Arma 3 server?

Both run the same missions. Linux needs no Windows licence, but mod folders must be lowercase and some tools are Windows-only. Windows is easier if you’re new and want a GUI tool.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *