{"id":3780,"date":"2026-10-27T17:09:47","date_gmt":"2026-10-27T14:09:47","guid":{"rendered":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/"},"modified":"2026-10-27T17:09:47","modified_gmt":"2026-10-27T14:09:47","slug":"arma-3-dedicated-server-guide","status":"publish","type":"post","link":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/","title":{"rendered":"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes"},"content":{"rendered":"<p><strong>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.<\/strong> You install it with SteamCMD (app 233780) on Windows or Linux, give it 4\u20138 GB of RAM and the fastest CPU core you have, open UDP ports 2302\u20132306, and control it from a <code>server.cfg<\/code> file. This guide covers every step \u2014 requirements, install, config, mods, missions, admin \u2014 and then the problems people actually hit, like a server not showing up for friends.<\/p>\n<h2 id=\"dedicated-server-or-hosting-from-the-game\">Dedicated server or hosting from the game?<\/h2>\n<p>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.<\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Host from the game (non-dedicated)<\/th>\n<th>Arma 3 dedicated server<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Runs when the host is offline<\/td>\n<td>No \u2014 the server closes when you quit<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Performance<\/td>\n<td>Your PC renders the game <em>and<\/em> simulates the mission<\/td>\n<td>All of the CPU goes to the mission and AI<\/td>\n<\/tr>\n<tr>\n<td>Config<\/td>\n<td>Menu options<\/td>\n<td>Full control in <code>server.cfg<\/code>, <code>basic.cfg<\/code> and the profile<\/td>\n<\/tr>\n<tr>\n<td>Mods<\/td>\n<td>Whatever you load in the launcher<\/td>\n<td><code>-mod=<\/code> and server-only <code>-serverMod=<\/code><\/td>\n<\/tr>\n<tr>\n<td>Best for<\/td>\n<td>A quick co-op night<\/td>\n<td>Units, persistent missions, public servers<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"how-to-host-a-server-for-friends-from-the-game\">How to host a server for friends from the game<\/h3>\n<ol>\n<li>Load the mods everyone will use in the Arma 3 Launcher, then start the game.<\/li>\n<li>Open <em>Multiplayer \u2192 Server Browser<\/em> and choose the <em>Host Server<\/em> tab.<\/li>\n<li>Set a server name, set Host to <em>Internet<\/em>, add a password, tick <em>UPnP<\/em> and click <em>Host Server<\/em>.<\/li>\n<li>Pick a map and mission, then click <em>Play<\/em>. Friends find it by name in the server browser.<\/li>\n<\/ol>\n<p>If UPnP doesn&#8217;t work, forward UDP 2302\u20132306 to your PC by hand (see <a href=\"#ports\">ports<\/a>) \u2014 but don&#8217;t use UPnP and manual forwarding at the same time, they conflict. Only the host needs to forward ports. If you can&#8217;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.<\/p>\n<h2 id=\"arma-3-dedicated-server-requirements\">Arma 3 dedicated server requirements<\/h2>\n<p>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:<\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Bare minimum<\/th>\n<th>Recommended<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>CPU<\/td>\n<td>2.4 GHz dual-core, 64-bit x86<\/td>\n<td>3.5 GHz+ quad-core<\/td>\n<\/tr>\n<tr>\n<td>RAM<\/td>\n<td>2 GB<\/td>\n<td>4\u20138 GB; add about 2 GB per headless client<\/td>\n<\/tr>\n<tr>\n<td>Storage<\/td>\n<td>32 GB<\/td>\n<td>50 GB+ SSD \u2014 mods add a lot<\/td>\n<\/tr>\n<tr>\n<td>Network<\/td>\n<td>0.5 Mbit\/s upload per player<\/td>\n<td>1\u20135 Mbit\/s per player, real IPv4<\/td>\n<\/tr>\n<tr>\n<td>OS<\/td>\n<td colspan=\"2\">64-bit Windows or Linux<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Two catches. Arma 3 servers don&#8217;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 <code>-cpuCount<\/code> or <code>-cpuAffinity<\/code> 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.<\/p>\n<h2 id=\"how-to-set-up-an-arma-3-dedicated-server\">How to set up an Arma 3 dedicated server<\/h2>\n<h3 id=\"step-1-download-the-server-with-steamcmd\">Step 1: Download the server with SteamCMD<\/h3>\n<p>The Arma 3 dedicated server download is Steam app ID (AppID) <strong>233780<\/strong>, separate from the game (107410). Unlike many games, it can&#8217;t be installed with SteamCMD&#8217;s anonymous login: you need a real Steam account with Steam Guard turned off. That account doesn&#8217;t have to own Arma 3, so make a separate account just for servers.<\/p>\n<p>On Windows, install SteamCMD to a folder like <code>C:\\SteamCMD<\/code> and run:<\/p>\n<pre><code>steamcmd +force_install_dir C:\\arma3server +login yoursteamaccount +app_update 233780 validate +quit<\/code><\/pre>\n<p>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:<\/p>\n<pre><code>steamcmd +force_install_dir \/home\/arma3\/server +login yoursteamaccount +app_update 233780 validate +quit<\/code><\/pre>\n<p>The same command updates the server later. You&#8217;ll get <code>arma3server_x64.exe<\/code> on Windows and <code>arma3server_x64<\/code> on Linux (plus 32-bit versions you can ignore).<\/p>\n<h3 id=\"step-2-create-server-cfg\">Step 2: Create server.cfg<\/h3>\n<p>The server doesn&#8217;t ship with a <code>server.cfg<\/code> \u2014 you make the file yourself. Create it next to the executable and start with:<\/p>\n<pre><code>hostname = \"My Arma 3 Server\";\npassword = \"squad-only\";\npasswordAdmin = \"something-long-and-private\";\nmaxPlayers = 32;\nmotd[] = {\"Welcome to the server\", \"TeamSpeak and rules on our Discord\"};\nmotdInterval = 30;\npersistent = 1;\nverifySignatures = 2;\nBattlEye = 1;\nkickDuplicate = 1;\nvoteThreshold = 0.33;\nvoteMissionPlayers = 1;<\/code><\/pre>\n<p>Lines starting with <code>\/\/<\/code> are comments. Every setting line ends with a semicolon. The <a href=\"#settings\">settings table<\/a> below explains what each one does.<\/p>\n<h3 id=\"step-3-write-the-start-command\">Step 3: Write the start command<\/h3>\n<p>On Windows, save this as <code>start_server.bat<\/code> in the server folder:<\/p>\n<pre><code>arma3server_x64.exe -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=profiles -name=server -world=empty -mod=@cba_a3;@ace<\/code><\/pre>\n<p>On Linux, the same line goes in a shell script \u2014 quote the mod list, because a semicolon ends a shell command:<\/p>\n<pre><code>.\/arma3server_x64 -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=profiles -name=server -world=empty \"-mod=@cba_a3;@ace\"<\/code><\/pre>\n<p>Leave out <code>-mod=<\/code> for a vanilla server and <code>-cfg=basic.cfg<\/code> until you&#8217;ve made that file.<\/p>\n<h3 id=\"step-4-open-the-ports-and-start-it\">Step 4: Open the ports and start it<\/h3>\n<p>Forward the ports in the <a href=\"#ports\">ports table<\/a> on your router, allow them through the firewall (on Linux: <code>sudo ufw allow 2302:2306\/udp<\/code>), then run the script. Join from the game to check it works, then hand the address to your friends.<\/p>\n<h3 id=\"server-tools-if-youd-rather-click-than-type\">Server tools if you&#8217;d rather click than type<\/h3>\n<p>On Windows, community tools like FASTER and the older TADST put the startup parameters, the mod list and <code>server.cfg<\/code> 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&#8217;t change the files underneath, so knowing what <code>server.cfg<\/code> does still pays off. Or skip running anything yourself with <a href=\"https:\/\/gameteam.io\/arma-3-server-hosting\">Arma 3 server hosting<\/a>.<\/p>\n<h2 id=\"settings\"><span id=\"arma-3-server-config-server-cfg-basic-cfg-and-the-profile\">Arma 3 server config: server.cfg, basic.cfg and the profile<\/span><\/h2>\n<p>An Arma 3 server reads three files. <code>server.cfg<\/code> (loaded with <code>-config=<\/code>) holds the name, passwords, security and the mission cycle. <code>basic.cfg<\/code> (loaded with <code>-cfg=<\/code>) tunes bandwidth and packet sizes. The server profile, <code>server.Arma3Profile<\/code> in the profiles folder, holds the difficulty settings. Most owners only ever touch the first.<\/p>\n<table>\n<thead>\n<tr>\n<th>server.cfg setting<\/th>\n<th>What it does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>hostname<\/code><\/td>\n<td>Name in the server browser<\/td>\n<\/tr>\n<tr>\n<td><code>password<\/code><\/td>\n<td>Join password; leave it out for a public server<\/td>\n<\/tr>\n<tr>\n<td><code>passwordAdmin<\/code><\/td>\n<td>Password for <code>#login<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>admins[]<\/code><\/td>\n<td>Steam64 IDs that can log in as admin without the password<\/td>\n<\/tr>\n<tr>\n<td><code>maxPlayers<\/code><\/td>\n<td>Slots; the real limit is AI and scripting load<\/td>\n<\/tr>\n<tr>\n<td><code>verifySignatures<\/code><\/td>\n<td><code>2<\/code> checks every client addon against the keys folder<\/td>\n<\/tr>\n<tr>\n<td><code>BattlEye<\/code><\/td>\n<td><code>1<\/code> on, <code>0<\/code> off<\/td>\n<\/tr>\n<tr>\n<td><code>persistent<\/code><\/td>\n<td><code>1<\/code> keeps the mission running with nobody on<\/td>\n<\/tr>\n<tr>\n<td><code>disableVoN<\/code><\/td>\n<td><code>1<\/code> turns off in-game voice<\/td>\n<\/tr>\n<tr>\n<td><code>headlessClients[]<\/code> \/ <code>localClient[]<\/code><\/td>\n<td>IP addresses allowed to connect as headless clients<\/td>\n<\/tr>\n<tr>\n<td><code>class Missions<\/code><\/td>\n<td>The mission cycle (next section)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"mission-files-and-the-mission-cycle\">Mission files and the mission cycle<\/h3>\n<p>Missions are <code>.pbo<\/code> files named <code>MissionName.MapName.pbo<\/code>. Put them in the <code>mpmissions<\/code> folder, then list them in <code>server.cfg<\/code> \u2014 without that, a fresh server sits on an empty rotation and waits for an admin to pick one:<\/p>\n<pre><code>class Missions\n{\n    class Mission1\n    {\n        template = MP_Marksmen_01.Altis;\n        difficulty = \"veteran\";\n        class Params {};\n    };\n};<\/code><\/pre>\n<p><code>template<\/code> is the file name without <code>.pbo<\/code>. Add more <code>class<\/code> blocks for a rotation. Mission parameters (the options a mission offers in its lobby) go inside <code>class Params<\/code>, using the parameter names that mission defines. Add <code>-autoInit<\/code> to the start command (it only works with <code>persistent = 1;<\/code>) and the server starts the first mission on boot instead of waiting for a player.<\/p>\n<h3 id=\"custom-difficulty-settings\">Custom difficulty settings<\/h3>\n<p>The built-in difficulties (Recruit, Regular, Veteran) need no setup. For a custom difficulty \u2014 no crosshair, no third person, no name tags \u2014 add a <code>CustomDifficulty<\/code> class to <code>server.Arma3Profile<\/code>:<\/p>\n<pre><code>class DifficultyPresets\n{\n    class CustomDifficulty\n    {\n        class Options\n        {\n            groupIndicators = 0;\n            friendlyTags = 0;\n            enemyTags = 0;\n            weaponCrosshair = 0;\n            thirdPersonView = 0;   \/\/ 0 off, 1 on, 2 vehicles only\n            mapContent = 0;\n        };\n        aiLevelPreset = 3;         \/\/ 3 = use CustomAILevel\n    };\n    class CustomAILevel\n    {\n        skillAI = 0.5;\n        precisionAI = 0.5;\n    };\n};<\/code><\/pre>\n<p>Then set <code>difficulty = \"Custom\";<\/code> on the mission in <code>class Missions<\/code>.<\/p>\n<h3 id=\"performance-settings\">Performance settings<\/h3>\n<p>Server performance is measured in server FPS \u2014 log in as admin and type <code>#monitor 5<\/code> 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 <code>basic.cfg<\/code> values like <code>MaxMsgSend<\/code>, <code>MinBandwidth<\/code> and <code>MaxBandwidth<\/code>. <code>-limitFPS<\/code> caps how many simulation cycles the server runs per second, and <code>-loadMissionToMemory<\/code> 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 <code>-client -connect=127.0.0.1 -port=2302<\/code> and listed in <code>headlessClients[]<\/code>; the mission has to support it.<\/p>\n<h2 id=\"how-to-add-mods-to-an-arma-3-dedicated-server\">How to add mods to an Arma 3 dedicated server<\/h2>\n<p>Arma 3 server mods load from <code>@folders<\/code> next to the executable. Client mods go on <code>-mod=<\/code> and every player must run the same ones; server-only mods go on <code>-serverMod=<\/code> and players don&#8217;t need them. Every client mod also ships a <code>.bikey<\/code> file that must go into the server&#8217;s <code>keys<\/code> folder, or <code>verifySignatures<\/code> kicks everyone running it.<\/p>\n<ol>\n<li><strong>Download the Workshop mods.<\/strong> Subscribe in the Arma 3 Launcher on your own PC. Steam saves them under <code>steamapps\/workshop\/content\/107410\/&lt;mod ID&gt;<\/code>. Downloading Workshop mods straight on the server through SteamCMD only works if the server&#8217;s Steam account owns Arma 3.<\/li>\n<li><strong>Copy them to the server<\/strong> as named folders, for example <code>@cba_a3<\/code> and <code>@ace<\/code>.<\/li>\n<li><strong>On Linux, make everything lowercase<\/strong> \u2014 the folder names and the <code>addons<\/code> folder inside each mod. Uppercase letters stop the server from loading them.<\/li>\n<li><strong>Copy each mod&#8217;s .bikey<\/strong> from its <code>keys<\/code> (or <code>key<\/code>) folder into the server&#8217;s <code>keys<\/code> folder.<\/li>\n<li><strong>Add the folders to the start command<\/strong>: <code>-mod=@cba_a3;@ace<\/code>. Load dependencies (CBA first) before the mods that need them.<\/li>\n<\/ol>\n<p>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&#8217;s Discord so everyone loads the exact same set.<\/p>\n<h3 id=\"dlc-and-creator-dlc-on-a-server\">DLC and Creator DLC on a server<\/h3>\n<p>Creator DLCs like S.O.G. Prairie Fire, Spearhead 1944 (WW2) and Western Sahara come with the server&#8217;s <code>creatordlc<\/code> Steam branch, which installs the files every Creator DLC needs: install with <code>app_update 233780 -beta creatordlc validate<\/code>, then load them like a mod by their folder name, for example <code>-mod=vn<\/code> for Prairie Fire or <code>-mod=spe<\/code> for Spearhead.<\/p>\n<h2 id=\"popular-server-types-you-can-run\">Popular server types you can run<\/h2>\n<p>Most of the best Arma 3 servers people look for \u2014 modded or vanilla \u2014 are a mission plus a mod list. Any of these run on your own dedicated server once you have their files:<\/p>\n<ul>\n<li><strong>Co-op and PvE:<\/strong> 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.<\/li>\n<li><strong>PvP:<\/strong> KOTH (King of the Hill) and Wasteland.<\/li>\n<li><strong>Survival:<\/strong> Exile and Epoch, plus DayZ-style and zombies mods.<\/li>\n<li><strong>Roleplay:<\/strong> Altis Life and other life or RP frameworks, usually with their own server-side mods.<\/li>\n<li><strong>Total conversions and themed units:<\/strong> Star Wars, Vietnam (Prairie Fire), the Second World War (Spearhead 1944), helicopter and infantry training servers.<\/li>\n<\/ul>\n<p>Life, Exile and Epoch servers ship server files of their own that go on <code>-serverMod=<\/code> \u2014 follow each project&#8217;s install notes, since they differ. Bohemia also runs official servers (Zeus, Warlords, Combat Patrol, End Game and more), which you&#8217;ll find in the in-game server browser.<\/p>\n<h2 id=\"ports\"><span id=\"arma-3-server-ports-and-port-forwarding\">Arma 3 server ports and port forwarding<\/span><\/h2>\n<p>An Arma 3 server uses one main port plus fixed offsets from it, all UDP. Change the main port with <code>-port=<\/code> and the others move with it. Running two servers on one machine? Keep them 100 ports apart (2302 and 2402).<\/p>\n<table>\n<thead>\n<tr>\n<th>Port<\/th>\n<th>Protocol<\/th>\n<th>What it&#8217;s for<\/th>\n<th>Forward it?<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>2302<\/td>\n<td>UDP<\/td>\n<td>Game and voice (main port)<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>2303<\/td>\n<td>UDP<\/td>\n<td>Steam query (+1)<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>2304<\/td>\n<td>UDP<\/td>\n<td>Steam (+2)<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>2305<\/td>\n<td>UDP<\/td>\n<td>Old voice port (+3), retired<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>2306<\/td>\n<td>UDP<\/td>\n<td>BattlEye (+4)<\/td>\n<td>Yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Forward them to the server PC&#8217;s local IPv4 address (give it a fixed one in the router so it doesn&#8217;t change). If your ISP uses CGNAT, port forwarding can&#8217;t work at all; that&#8217;s when people turn to Hamachi, or rent a server with a public IP.<\/p>\n<h2 id=\"admin-login-and-server-commands\">Admin login and server commands<\/h2>\n<p>Open chat (<code>\/<\/code> by default) and type <code>#login yourpassword<\/code> using <code>passwordAdmin<\/code>. Players whose Steam64 ID is in <code>admins[]<\/code> can log in with just <code>#login<\/code>.<\/p>\n<table>\n<thead>\n<tr>\n<th>Command<\/th>\n<th>What it does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>#login<\/code> \/ <code>#logout<\/code><\/td>\n<td>Become admin \/ drop admin rights<\/td>\n<\/tr>\n<tr>\n<td><code>#missions<\/code><\/td>\n<td>End the mission and open mission selection<\/td>\n<\/tr>\n<tr>\n<td><code>#mission name difficulty<\/code><\/td>\n<td>Load a mission by name<\/td>\n<\/tr>\n<tr>\n<td><code>#restart<\/code> \/ <code>#reassign<\/code><\/td>\n<td>Restart the mission \/ send everyone back to role selection<\/td>\n<\/tr>\n<tr>\n<td><code>#kick name<\/code> \/ <code>#exec ban name<\/code><\/td>\n<td>Kick \/ ban (bans go to <code>ban.txt<\/code>)<\/td>\n<\/tr>\n<tr>\n<td><code>#lock<\/code> \/ <code>#unlock<\/code><\/td>\n<td>Stop or allow new players joining<\/td>\n<\/tr>\n<tr>\n<td><code>#monitor 5<\/code><\/td>\n<td>Show server FPS and memory every 5 seconds (<code>0<\/code> stops it)<\/td>\n<\/tr>\n<tr>\n<td><code>#init<\/code><\/td>\n<td>Reload <code>server.cfg<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>#restartserver<\/code> \/ <code>#shutdown<\/code><\/td>\n<td>Restart or stop the whole server<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For a server restart on a schedule, <code>#restartserveraftermission<\/code> 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.<\/p>\n<h2 id=\"logs-where-the-rpt-file-is\">Logs: where the RPT file is<\/h2>\n<p>The server writes an <code>.rpt<\/code> log into its profiles folder (the one you pass with <code>-profiles=<\/code>). It is the first place to look for any problem: missing mods, bad signatures, script errors, a mission that won&#8217;t load. Starting with <code>-noLogs<\/code> turns RPT logs off, so don&#8217;t use it while you&#8217;re still setting up.<\/p>\n<h2 id=\"common-arma-3-server-problems-and-fixes\">Common Arma 3 server problems and fixes<\/h2>\n<table>\n<thead>\n<tr>\n<th>Problem<\/th>\n<th>Most likely cause<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Server not showing up for friends in the browser<\/td>\n<td>Query port 2303 blocked, or the server isn&#8217;t reachable from outside<\/td>\n<td>Forward 2302\u20132304 and 2306; ask friends to use <em>Direct Connect<\/em> with IP and port<\/td>\n<\/tr>\n<tr>\n<td>Friends can&#8217;t connect at all<\/td>\n<td>Ports not forwarded, UPnP and manual forwarding mixed, CGNAT, or no public IPv4<\/td>\n<td>Pick one forwarding method; check for CGNAT; use a VPN tool or a hosted server<\/td>\n<\/tr>\n<tr>\n<td>Kicked when joining with a signature or BattlEye message<\/td>\n<td>A client mod whose key isn&#8217;t in <code>keys<\/code>, or a mismatched mod version<\/td>\n<td>Copy the <code>.bikey<\/code>; make everyone load the same preset<\/td>\n<\/tr>\n<tr>\n<td>Stuck on the loading screen or a black screen when joining<\/td>\n<td>Missing or mismatched mods, or a large mission still downloading<\/td>\n<td>Check the RPT log; match the mod list<\/td>\n<\/tr>\n<tr>\n<td>Crashing when joining the server<\/td>\n<td>A broken or outdated mod on the client<\/td>\n<td>Repair the mods in the launcher and match versions with the server<\/td>\n<\/tr>\n<tr>\n<td>Linux server ignores mods<\/td>\n<td>Uppercase letters in mod or <code>addons<\/code> folder names<\/td>\n<td>Rename everything to lowercase<\/td>\n<\/tr>\n<tr>\n<td>Steam login fails in SteamCMD<\/td>\n<td>Anonymous login, or Steam Guard on<\/td>\n<td>Use a real account with Steam Guard off<\/td>\n<\/tr>\n<tr>\n<td>Server sits in the lobby with no mission<\/td>\n<td>Empty or broken <code>class Missions<\/code><\/td>\n<td>Fix the template name; add <code>-autoInit<\/code><\/td>\n<\/tr>\n<tr>\n<td>Low server FPS in big fights<\/td>\n<td>Too much AI for one core<\/td>\n<td>Fewer AI, a headless client, a faster CPU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"keeping-the-server-updated\">Keeping the server updated<\/h2>\n<p>When Arma 3 updates, stop the server and run the same SteamCMD line (<code>app_update 233780 validate<\/code>), then update the mods too \u2014 a client on a newer mod version gets kicked just like a missing one. Back up <code>server.cfg<\/code>, <code>basic.cfg<\/code>, the profiles folder and <code>mpmissions<\/code> first; that&#8217;s the data you&#8217;d hate to rebuild.<\/p>\n<h2 id=\"skip-the-setup-rent-an-arma-3-server\">Skip the setup: rent an Arma 3 server<\/h2>\n<p>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, <a href=\"https:\/\/gameteam.io\/arma-3-server-hosting\">Arma 3 server hosting<\/a> on GameTeam is ready in minutes: you pay per GB of RAM (from $0.49\/GB a week) with unlimited slots, there&#8217;s nothing to forward, and the built-in AI copilot does the fiddly parts. Tell it &#8220;half the squad gets kicked on join with a signature error&#8221; and it reads the RPT log, finds the missing key and fixes it, or ask &#8220;run the Antistasi mission I uploaded on Veteran&#8221; and it writes the mission cycle in <code>server.cfg<\/code>. Playing Reforger too? The <a href=\"https:\/\/gameteam.io\/blog\/arma-reforger-dedicated-server-guide\/\">Arma Reforger dedicated server guide<\/a> covers its very different JSON setup.<\/p>\n<h2 id=\"faq\">FAQ<\/h2>\n<h3 id=\"is-an-arma-3-dedicated-server-free\">Is an Arma 3 dedicated server free?<\/h3>\n<p>The server software is free \u2014 it doesn&#8217;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.<\/p>\n<h3 id=\"is-arma-3-cpu-or-gpu-heavy-on-a-server\">Is Arma 3 CPU or GPU heavy on a server?<\/h3>\n<p>CPU. A dedicated server renders nothing, so the graphics card doesn&#8217;t matter; AI and mission scripts run mostly on one fast core.<\/p>\n<h3 id=\"how-do-i-make-a-server-for-friends-without-port-forwarding\">How do I make a server for friends without port forwarding?<\/h3>\n<p>Try UPnP in the <em>Host Server<\/em> 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.<\/p>\n<h3 id=\"do-players-need-the-same-mods-as-the-server\">Do players need the same mods as the server?<\/h3>\n<p>For everything on <code>-mod=<\/code>, yes, with matching versions. Mods on <code>-serverMod=<\/code> run only on the server and players don&#8217;t need them.<\/p>\n<h3 id=\"how-do-i-disable-battleye-on-my-server\">How do I disable BattlEye on my server?<\/h3>\n<p>Set <code>BattlEye = 0;<\/code> in <code>server.cfg<\/code> and restart. Only do it on a private server; without BattlEye there&#8217;s no anti-cheat.<\/p>\n<h3 id=\"can-i-play-co-op-without-a-dedicated-server\">Can I play co-op without a dedicated server?<\/h3>\n<p>Yes \u2014 host from <em>Multiplayer \u2192 Server Browser \u2192 Host Server<\/em> and your friends join you. The server closes when you leave, and your PC carries the AI load while you play.<\/p>\n<h3 id=\"are-arma-3-servers-still-active\">Are Arma 3 servers still active?<\/h3>\n<p>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.<\/p>\n<h3 id=\"linux-or-windows-for-an-arma-3-server\">Linux or Windows for an Arma 3 server?<\/h3>\n<p>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&#8217;re new and want a GUI tool.<\/p>\n","protected":false},"excerpt":{"rendered":"An Arma 3 dedicated server is a separate, free copy of Arma 3 that runs a mission on&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[150],"tags":[],"class_list":["post-3780","post","type-post","status-publish","format-standard","category-arma-3-tutorials","vision-entry","vision-video-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes - GameTeam - Blog<\/title>\n<meta name=\"description\" content=\"Set up an Arma 3 dedicated server on Windows or Linux: requirements, SteamCMD (app 233780), server.cfg, ports 2302-2306, mods, missions, admin and fixes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes - GameTeam - Blog\" \/>\n<meta property=\"og:description\" content=\"Set up an Arma 3 dedicated server on Windows or Linux: requirements, SteamCMD (app 233780), server.cfg, ports 2302-2306, mods, missions, admin and fixes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"GameTeam - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-27T14:09:47+00:00\" \/>\n<meta name=\"author\" content=\"gameteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gameteam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/\"},\"author\":{\"name\":\"gameteam\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/person\\\/0cc694e709c1805f635ede3a5e1dbf83\"},\"headline\":\"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes\",\"datePublished\":\"2026-10-27T14:09:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/\"},\"wordCount\":2649,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\"},\"articleSection\":[\"Arma 3 Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/\",\"name\":\"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes - GameTeam - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-27T14:09:47+00:00\",\"description\":\"Set up an Arma 3 dedicated server on Windows or Linux: requirements, SteamCMD (app 233780), server.cfg, ports 2302-2306, mods, missions, admin and fixes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/arma-3-dedicated-server-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Minecraft Tutorials\",\"item\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/category\\\/minecraft-tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\",\"name\":\"GameTeam - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\",\"name\":\"GameTeam - Blog\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1\",\"width\":837,\"height\":167,\"caption\":\"GameTeam - Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/person\\\/0cc694e709c1805f635ede3a5e1dbf83\",\"name\":\"gameteam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"contentUrl\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"caption\":\"gameteam\"},\"sameAs\":[\"https:\\\/\\\/gameteam.io\\\/blog\"],\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/author\\\/gameteam\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes - GameTeam - Blog","description":"Set up an Arma 3 dedicated server on Windows or Linux: requirements, SteamCMD (app 233780), server.cfg, ports 2302-2306, mods, missions, admin and fixes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/","og_locale":"en_US","og_type":"article","og_title":"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes - GameTeam - Blog","og_description":"Set up an Arma 3 dedicated server on Windows or Linux: requirements, SteamCMD (app 233780), server.cfg, ports 2302-2306, mods, missions, admin and fixes.","og_url":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/","og_site_name":"GameTeam - Blog","article_published_time":"2026-10-27T14:09:47+00:00","author":"gameteam","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gameteam","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/#article","isPartOf":{"@id":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/"},"author":{"name":"gameteam","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/person\/0cc694e709c1805f635ede3a5e1dbf83"},"headline":"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes","datePublished":"2026-10-27T14:09:47+00:00","mainEntityOfPage":{"@id":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/"},"wordCount":2649,"commentCount":0,"publisher":{"@id":"https:\/\/gameteam.io\/blog\/#organization"},"articleSection":["Arma 3 Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/","url":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/","name":"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes - GameTeam - Blog","isPartOf":{"@id":"https:\/\/gameteam.io\/blog\/#website"},"datePublished":"2026-10-27T14:09:47+00:00","description":"Set up an Arma 3 dedicated server on Windows or Linux: requirements, SteamCMD (app 233780), server.cfg, ports 2302-2306, mods, missions, admin and fixes.","breadcrumb":{"@id":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gameteam.io\/blog\/arma-3-dedicated-server-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gameteam.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Minecraft Tutorials","item":"https:\/\/gameteam.io\/blog\/category\/minecraft-tutorials\/"},{"@type":"ListItem","position":3,"name":"Arma 3 Dedicated Server: Setup, Requirements, Ports, Mods and Fixes"}]},{"@type":"WebSite","@id":"https:\/\/gameteam.io\/blog\/#website","url":"https:\/\/gameteam.io\/blog\/","name":"GameTeam - Blog","description":"","publisher":{"@id":"https:\/\/gameteam.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gameteam.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gameteam.io\/blog\/#organization","name":"GameTeam - Blog","url":"https:\/\/gameteam.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1","contentUrl":"https:\/\/i0.wp.com\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1","width":837,"height":167,"caption":"GameTeam - Blog"},"image":{"@id":"https:\/\/gameteam.io\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/person\/0cc694e709c1805f635ede3a5e1dbf83","name":"gameteam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","url":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","contentUrl":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","caption":"gameteam"},"sameAs":["https:\/\/gameteam.io\/blog"],"url":"https:\/\/gameteam.io\/blog\/author\/gameteam\/"}]}},"_links":{"self":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts\/3780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/comments?post=3780"}],"version-history":[{"count":0,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts\/3780\/revisions"}],"wp:attachment":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/media?parent=3780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/categories?post=3780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/tags?post=3780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}