iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Prefer not to run the server on your own PC? Godlike.Host offers hosted Arma 3 servers with free DDoS protection and up to three free backups a day.
To add mods to an Arma 3 dedicated server, download each mod, make sure its directory uses an @ModName format, copy every accompanying .bikey file into the server’s root keys directory, and add the mod directory to the startup command. Use -mod= for content that players must load and -serverMod= for server-only extensions. Players can join only when their loaded mod set matches the server’s required set.
The file locations and parameter names are the same in principle on Windows and Linux, but Linux is case-sensitive. A single capitalization difference in a directory, key, or PBO can prevent a mod from loading.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The five-minute version
- Download the mod to the machine that runs the server, using Steam Workshop, SteamCMD, or a manual upload.
- Place it in the server installation directory and name the folder with an
@prefix, such as@ExampleUnits. Do not use spaces; use underscores instead. - Open the mod’s key folder and copy every
.bikeyfile to the server installation’s top-levelkeysfolder. - Add the mod directory to the startup line. Put player-required content after
-mod=and server-only content after-serverMod=. Separate entries with semicolons and finish each list with one semicolon. - Restart the server, load the same mod set on a test client, and check the server in the Arma 3 Launcher. A client without the required content, or with a different version, will be refused.
Do not put a mod on the command line until its files have been copied, its folder has been normalized, and its key has been installed. Doing those operations in a different order is a common cause of a server that starts successfully but does not load the mod.
What -mod= and -serverMod= mean
The two parameters control who must have the files. Choosing the wrong one can make a mod invisible, force unnecessary downloads on players, or prevent a connection.
#1 Best Overall
- Player-driven story
- More than 70 weapons
- Over 100 different vehicles
- Massive online battles
- Game world of 225 square km
| Parameter | Use it for | What clients need | Typical examples |
|---|---|---|---|
-mod= |
Content every player needs in order to play the mission | The same mod content, with compatible PBOs and versions | Vehicles, uniforms, weapons, units, and other playable content |
-serverMod= |
Extensions used only by the dedicated server | No copy is required when the mod truly has no client-side content | Configuration or server administration components, and some map-related server tools |
| Both parameters | A package that contains a server component and content clients must see | The client portion must be loaded; the server portion must also be started | A split package whose documentation explicitly requires both |
If the author does not clearly identify a package as server-only, start by treating it as a normal client-required mod with -mod=. If it fails because the package is intended to run only on the server, move or duplicate the appropriate directory in -serverMod= according to the mod’s instructions. Never list the same directory twice in the same parameter.
Prepare the server and mod files
Choose a download method
- Steam Workshop on the server: convenient for a Windows machine with the game installed. Downloading Workshop content directly on the server requires a Steam account that owns Arma 3.
- SteamCMD: useful for a headless or Linux installation. Workshop files normally arrive under
steamapps/workshop/content/<appid>/<modworkshopid>/; move or copy the finished mod directory into the server root before launching. - Manual upload: download an archive from the mod author’s approved distribution, extract it locally, and upload the complete directory and its key files to the server.
Whichever method you use, keep a copy of the mod’s original directory while you configure it. Workshop and SteamCMD directory names can be numeric or otherwise inconvenient; the server command line is easier to audit when every installed mod has a deliberate @ name.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFind Workshop content on Windows
A normal Steam installation stores Workshop content in a hidden-looking directory inside the game folder, commonly SteamsteamappscommonArma 3!Workshop. Directories there normally begin with @. The exact Steam library drive can differ, so use the library containing Arma 3 rather than assuming a particular drive letter.
Use exact names on Linux
Linux treats uppercase and lowercase as different characters. If the directory is named @MyUnits, a command-line entry for @myunits points somewhere else. Apply the same exact-case rule to .bikey files, PBO filenames, and every parent directory.
Rank #2
- System: Intel Core i5-13400F 2.5GHz 10 Cores | Intel B760 Chipset | 16GB DDR5 | 1TB PCIe 4.0 NVMe SSD | Windows 11 Home
- Graphics: NVIDIA GeForce RTX 5060 8GB Graphics | 1x HDMI | 2x DisplayPort
- Connectivity: 1 x USB-C 3.2 | 2 x USB-A 3.2 | 6 x USB-A 2.0 | 1 x LAN | WiFi 6 | Bluetooth 5.3 | 7.1 Channel Audio
- Tempered Side Case Panel | Custom RGB Lighting | Keyboard and Mouse
- 1 Year Parts & Labor Warranty, Free Lifetime Tech Support
Step-by-step installation
1. Download and inspect the mod
- Obtain the mod through Workshop, SteamCMD, or a manual upload.
- Open the extracted directory and confirm that it contains the mod’s data, normally including PBO files and, for a signed package, a key directory containing one or more
.bikeyfiles. - Do not point the server at a parent directory that merely contains another nested mod directory. The folder named on the command line must be the folder that directly contains the mod’s data.
A download that contains only documentation, a launcher preset, or an archive inside another archive is not ready to add to the startup line. Extract it until the actual mod directory is visible.
2. Rename the directory to the @ convention
Place the directory beside the server executable and rename it to a concise name such as @ExampleUnits or @Example_Map. Folder names should contain no spaces; use underscores when separation is needed. The server and client directory names do not have to be identical, but the mod’s keys and PBO content must correspond to the same release on both sides.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsFor example, a server root may look like this:
Arma3Serverarma3server_x64.exe
Arma3Serverserver.cfg
Arma3Serverkeys
Arma3Server@ExampleUnits
Arma3Server@Example_Map
On Linux, the equivalent layout might be:
/opt/arma3-server/arma3server_x64
/opt/arma3-server/server.cfg
/opt/arma3-server/keys/
/opt/arma3-server/@ExampleUnits/
/opt/arma3-server/@Example_Map/
3. Install every signature key
- Open the mod’s supplied key directory.
- Copy each file ending in
.bikeyinto the dedicated server’s top-levelkeysdirectory, beside the server executable rather than inside@ExampleUnits. - Preserve the filename and capitalization. If several installed mods supply different keys, copy all of them.
Leaving a key inside the mod directory is not sufficient. With signature checking enabled, the server reads trusted keys from its own keys folder. A missing key can cause the server to reject the mod, and a client may be kicked with a signature not found message even when the client has the correct files.
4. Add the mod to the startup command
Append the parameters to the command used by your service, batch file, control panel, or systemd unit. This example has two client-required mods and one server-only mod:
Rank #3
- System: Intel i7-10700F 2.9GHz (4.8GHz Max Turbo) | 16GB DDR4 RAM | 480GB SSD | 2TB HDD | Genuine Windows 10 Home 64-bit
- Graphics: NVIDIA GeForce RTX 2060 6GB Dedicated Gaming Video Card | VR Ready | 1x DVI | 1x HDMI | 1x Display Port
- Connectivity: 4 x USB 3.0 | 2 x USB 2.0 | 1x RJ-45 Network Ethernet 10/100/1000 | Audio: 7.1 Channel
- Special Add-Ons: Tempered Glass RGB Gaming Case | 802.11AC Wi-Fi Included | 16 Color RGB Lighting Case | Free iBuyPower Gaming Keyboard and RGB Gaming Mouse | No Bloatware
- Warranty: 1 Year Parts and Labor plus Free Lifetime US Tech Support | Assembled in the U.S.A
arma3server_x64.exe -config=server.cfg -mod=@ExampleUnits;@Example_Map; -serverMod=@ServerTools;
A Linux launch command uses the same parameter syntax:
./arma3server_x64 -config=server.cfg -mod=@ExampleUnits;@Example_Map; -serverMod=@ServerTools;
Use the real executable and configuration path for your installation. The important details are the equals signs, semicolon separators, and final semicolon. Add a directory only after it has been downloaded, renamed, and keyed. If a package belongs in both categories, include it in both lists only when its documentation calls for that arrangement.
5. Restart and read the startup output
Stop the running instance completely before testing. Start it again and watch for file-not-found, signature, or path errors. A restart is required after changing the command line; editing a folder while the server is running does not add that folder to the current process.
6. Configure signature enforcement deliberately
A 2026-dated community guide recommends verifySignatures = 2 in server.cfg for public play. That setting makes signature validation part of the connection policy, so every public server should decide on it rather than inheriting an old default:
Rank #4
- System: Intel Core i9-13900KF 3.0GHz (8plus16) Cores | Intel Z690 Chipset | 16GB DDR5 | 1TB PCIe NVMe SSD | Genuine Windows 11 Home 64-bit
- Graphics: NVIDIA GeForce RTX 4070 Ti 12GB Video Card | 1x HDMI | 2x DisplayPorts
- Connectivity: 6 x USB 3.1 | 2 x USB 2.0 | 1x RJ-45 Network Ethernet 10/100/1000 | 802.11AC Wi-Fi | Audio: 7.1 Channel | Keyboard and mouse
- Special feature: Liquid cool CPU | 3-Piece Panoramic Tempered Glass Front/Side Case Panel | Custom RGB Case Lighting | USB Gaming Keyboard | 7 Colors RGB Gaming Mouse
- 1 year parts and labor | Free lifetime tech support
verifySignatures = 2;
A forum answer also mentions allowedFilePatching = 0. Treat that value as a community-reported hardening recommendation, not a universal requirement; confirm the current behavior and syntax in the latest Bohemia Interactive documentation before applying it to a live server. Signature settings change how mismatched or unsigned files are handled, so test them with the exact mod set you intend to publish.
Make the client set match
Each player must load the client-required entries from -mod=. They do not need the entries that are genuinely server-only, but they do need matching PBO files and compatible versions for every playable-content mod.
- Install the same releases of the required Workshop or manually distributed mods on the client.
- Load those mods in the Arma 3 Launcher or in a saved preset.
- Check the server in the launcher’s server list while that preset is active.
- Test with one client before advertising the server. A second client is useful for confirming that every player receives the same mod requirement.
A client and server may use different local folder names, such as @ExampleUnits and @EU_2026, because the name is local to each installation. That flexibility does not permit different content: the signed PBOs and corresponding keys still have to belong to the same mod release.
Troubleshoot a mod that does not load
| Symptom | Likely cause | What to check |
|---|---|---|
| The server starts, but the mod is absent | The directory is not on the command line, is listed with the wrong case, or contains an extra nested folder | Confirm the exact path, the @ name, and that the named directory directly contains the mod data. |
signature not found or a player is kicked during joining |
The mod’s key is missing from the server root keys directory, or its name differs by capitalization |
Copy every supplied .bikey into keys, then restart and test again. |
| Players are told they have missing or extra mods | The client’s loaded set does not match the server’s -mod= list |
Compare the launcher preset with the server list. Remove obsolete entries and install the exact server releases. |
| A mod works on Windows but not Linux | Case-sensitive paths differ | Compare directory, key, and PBO capitalization character by character. |
| A server-only package forces clients to download files | It was placed in -mod= instead of -serverMod= |
Move it to -serverMod= if its author identifies it as server-only. If it contains client content, keep the client portion in -mod=. |
| A newly downloaded version behaves like the old one | Old files remain in the directory or the process was not restarted | Stop the server, replace the complete mod directory with the intended release, verify its key, and start again. |
| Only one of several mods loads | A separator or trailing semicolon is missing | Use one semicolon between names and one at the end, for example -mod=@One;@Two;. |
| Workshop files cannot be found | The Steam library or SteamCMD workshop path is different from the server root | Locate the actual !Workshop or steamapps/workshop/content/ directory and copy the completed mod into the server installation. |
Updating, removing, and rolling back
Update safely
- Stop the server and record the currently working mod version.
- Download the new release through the same channel used originally.
- Replace the old mod directory rather than mixing files from two releases.
- Replace or add the supplied
.bikeyfiles in the rootkeysdirectory. - Keep the command-line name unchanged when possible, then restart and test with a client using the new release.
Keeping the directory name stable makes service files and launcher presets easier to audit. The name itself is not a version-control system; the files and keys are what determine compatibility.
Best Value
- Dress in style for duty on Everon. Built to answer the call of military service and survive arma for days at a time, so take a day off the battlefield duty and dress to impress your squad with our low weight but high cool reforger inspired army design.
- Compatible with all versions of arma so PC gamers and console soldiers can spend dayz in reforger gaming in comfort and style on Everon. A great gamer gift for any military army simulator player.
- 8.5 oz, Classic fit, Twill-taped neck
Remove a mod
- Stop the server.
- Delete its entry from
-mod=or-serverMod=. - Remove the directory only after confirming that no other installed mod uses its files.
- Remove its key from
keysonly when no remaining mod depends on that key. - Restart and test a client with the corresponding entry removed from its preset.
Self-managed server or managed hosting?
The installation steps above assume that you control the server filesystem. A managed game host can reduce operating-system work but may hide the paths you need for keys and custom startup parameters.
| Decision point | Self-managed with SteamCMD | Managed host with a mod panel |
|---|---|---|
| File-path and key control | Full control of the server root, keys directory, and launch service |
Depends on the panel; confirm that custom keys uploads and both mod parameters are exposed |
| Initial setup time | More manual work: install the server, download content, copy files, and create the launch command | Usually faster when the panel can install Workshop content and edit the startup line |
| Steam ownership for downloading | Workshop downloads on the server require a Steam account that owns Arma 3 | Requirements depend on the host’s download workflow and are not uniform |
| Mod-management tools | Command-line and filesystem tools that you operate yourself | May include a Workshop browser, presets, restart controls, and file manager |
| Recovery options | You can keep complete backups and pin exact files | Convenience depends on whether the provider offers backups and version controls |
Before choosing a managed plan, ask whether you can upload .bikey files to the server’s root keys folder, edit both startup parameters, and restart after a mod update. A panel that installs files but cannot expose those controls may not support the mod you need.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Final validation before inviting players
- Every playable-content mod has an
@-prefixed, space-free directory in the server root. - Every supplied
.bikeyis in the rootkeysdirectory, with exact capitalization. -mod=contains only entries clients are expected to load;-serverMod=contains server-only entries.- Each parameter has semicolon-separated names and a trailing semicolon.
- The server has been fully restarted after file or command changes.
- A test client using the matching launcher preset can see and join the server.
- Signature enforcement has been selected intentionally and tested with the published mod set.
When a connection still fails after these checks, compare one mod at a time: remove the newest entry, restart, and test. That isolates a bad download, missing key, or incorrect parameter classification without changing the rest of the working configuration.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

