Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Arma 3 Dedicated Server

Docker Pulls

An Arma 3 Dedicated Server. Updates to the latest version every time it is restarted.

Usage

Docker CLI

 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/arma3server

docker-compose

Use 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

Parameters

ParameterFunctionDefault
-p 2302-2306Ports required by Arma 3
-v /arma3/mpmissionFolder with MP Missions
-v /arma3/configsFolder containing config files
-v /arma3/modsMods that will be loaded by clients
-v /arma3/servermodsMods that will only be loaded by the server
-e PORTPort used by the server, (uses PORT to PORT+3)2302
-e ARMA_BINARYArma 3 server binary to use, ./arma3server_x64 for x64./arma3server
-e ARMA_CONFIGConfig file to load from /arma3/configsmain.cfg
-e ARMA_PARAMSAdditional Arma CLI parameters
-e ARMA_PROFILEProfile name, stored in /arma3/configs/profilesmain
-e ARMA_WORLDWorld to load on startupempty
-e ARMA_LIMITFPSMaximum FPS1000
-e ARMA_CDLCcDLCs to load
-e STEAM_BRANCHSteam branch used by steamcmdpublic
-e STEAM_BRANCH_PASSWORDSteam branch password used by steamcmd
-e STEAM_USERSteam username used to login to steamcmd
-e STEAM_PASSWORDSteam password
-e HEADLESS_CLIENTSLaunch n number of headless clients0
-e HEADLESS_CLIENTS_PROFILEHeadless client profile name (supports placeholders)$profile-hc-$i
-e MODS_LOCALShould the mods folder be loadedtrue
-e MODS_PRESETAn Arma 3 Launcher preset to load
-e SKIP_INSTALLSkip Arma 3 installationfalse

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

Creator DLC

To use a Creator DLC the STEAM_BRANCH must be set to creatordlc

NameFlag
CSLA Iron CurtainCSLA
Global Mobilization - Cold War GermanyGM
S.O.G. Prairie Firevn
Western SaharaWS

Example

-e ARMA_CDLC="csla;gm;vn;ws"

Loading mods

Local

  1. Place the mods inside /mods or /servermods.
  2. 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)'
  3. 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.
  4. Make sure that each mod contains a lowercase /addons folder. This folder also needs to be lowercase in order for the server to load the required PBO files inside.
  5. Start the server.

Workshop

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"

About

Docker - Arma 3 Dedicated Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages