An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.
docker create \--name=arma-server \-p 2302:2302/udp \-p 2303:2303/udp \-p 2304:2304/udp \-p 2305:2305/udp \-p 2306:2306/udp \-v path/to/missions:/arma3/mpmissions \-v path/to/configs:/arma3/configs \-v path/to/mods:/arma3/mods \-v path/to/servermods:/arma3/servermods \-e ARMA_CONFIG=main.cfg \-e STEAM_USER=myusername \-e STEAM_PASSWORD=mypassword \ synixebrett/arma3serverUse the docker-compose.yml file inside a folder. It will automatically create 4 folders in which the missions, configs, mods and servermods can be loaded.
Copy the .env.example file to .env, containing at least STEAM_USER and STEAM_PASSWORD.
Use docker-compose start to start the server.
Use docker-compose logs to see server logs.
Use docker-compose down to shutdown the server.
The network_mode: host can be changed to explicit ports if needed.
Use docker-compose up -d to start the server, detached.
See Docker-compose for an installation guide.
Profiles are saved in /arma3/configs/profiles
| Parameter | Function | Default |
|---|---|---|
-p 2302-2306 | Ports required by Arma 3 | |
-v /arma3/mpmission | Folder with MP Missions | |
-v /arma3/configs | Folder containing config files | |
-v /arma3/mods | Mods that will be loaded by clients | |
-v /arma3/servermods | Mods that will only be loaded by the server | |
-e PORT | Port used by the server, (uses PORT to PORT+3) | 2302 |
-e ARMA_BINARY | Arma 3 server binary to use, ./arma3server_x64 for x64 | ./arma3server |
-e ARMA_CONFIG | Config file to load from /arma3/configs | main.cfg |
-e ARMA_PARAMS | Additional Arma CLI parameters | |
-e ARMA_PROFILE | Profile name, stored in /arma3/configs/profiles | main |
-e ARMA_WORLD | World to load on startup | empty |
-e ARMA_LIMITFPS | Maximum FPS | 1000 |
-e ARMA_CDLC | cDLCs to load | |
-e STEAM_BRANCH | Steam branch used by steamcmd | public |
-e STEAM_BRANCH_PASSWORD | Steam branch password used by steamcmd | |
-e STEAM_USER | Steam username used to login to steamcmd | |
-e STEAM_PASSWORD | Steam password | |
-e HEADLESS_CLIENTS | Launch n number of headless clients | 0 |
-e HEADLESS_CLIENTS_PROFILE | Headless client profile name (supports placeholders) | $profile-hc-$i |
-e MODS_LOCAL | Should the mods folder be loaded | true |
-e MODS_PRESET | An Arma 3 Launcher preset to load | |
-e SKIP_INSTALL | Skip Arma 3 installation | false |
The Steam account does not need to own Arma 3, but must have Steam Guard disabled.
List of Steam branches can be found on the Community Wiki, Arma 3: Steam Branches
To use a Creator DLC the STEAM_BRANCH must be set to creatordlc
| Name | Flag |
|---|---|
| CSLA Iron Curtain | CSLA |
| Global Mobilization - Cold War Germany | GM |
| S.O.G. Prairie Fire | vn |
| Western Sahara | WS |
-e ARMA_CDLC="csla;gm;vn;ws"
- Place the mods inside
/modsor/servermods. - Be sure that the mod folder is all lowercase and does not show up with quotation marks around it when listing the directory eg
'@ACE(v2)' - Run the following command from the mods and/or servermods directory to confirm that all the files are lowercase.
find . -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;If this is NOT the case, the mods will prevent the server from booting. - Make sure that each mod contains a lowercase
/addonsfolder. This folder also needs to be lowercase in order for the server to load the required PBO files inside. - Start the server.
Set the environment variable MODS_PRESET to the HTML preset file exported from the Arma 3 Launcher. The path can be local file or a URL. A volume can be created at /arma3/steamapps/workshop/content/107410 to preserve the mods between containers.
-e MODS_PRESET="my_mods.html"
-e MODS_PRESET="http://example.com/my_mods.html"