{"name":"Arma 3: Startup Parameters","title":"Arma 3: Startup Parameters","type":"topic","url":"https://community.bistudio.com/wiki/Arma_3:_Startup_Parameters","revid":378577,"updated":"2026-05-10T16:57:41Z","aliases":["Arma 3 Startup Parameters","Arma3: Startup Parameters"],"markdown":"Startup parameters are command line interface(CLI) arguments that go after the executable's name in order to set options; e.g `arma3_x64.exe -window` to start the game in windowed mode.\n\n> [!NOTE]\n> - Startup parameters' *names* are case-insensitive - e.g `-WINDOW` and `-window` are identical.\n> - Spaces in parameter values must be wrapped in quotations. e.g. `\"-profiles=E:\\Arma 3\\Profiles\"` or `-profiles=\"E:\\Arma 3\\Profiles\"`\n> - Most of the following parameters can be set with the Arma 3: Launcher.\n\n### Steam\n\n1. Choose the game in Steam\\Library\n1. Right click on the game\n1. Select properties\n1. Hit \"Set launch options\"\n\n**Example:** `-nosplash \"-mod=test;x\\test;c:\\arma 3\\test2\"`\n\n### Windows\n\nWhen working with shortcuts, cmd launch options: there is max characters limit for the executing line, use **-par** (see: Startup Parameters Config File) to avoid it.\n\n| Startup Command Line | parameters file |\n|---|---|\n| `arma3_x64.exe \"-par=D:\\Arma 3\\Startup Parameters.txt\"` | ```<br>-skipIntro<br>-noSplash<br>-enableHT<br>-hugePages<br>-noLogs<br>``` |\n\n### Path Definition\n\nThere are a few basics to keep in mind when defining path as part of a parameter.\n\n#### Spaces\n\nThe path **and** -profiles need to be enclosed with quotes if it contains spaces, e.g `\"-profiles=E:\\Arma 3\\Profiles\" or -profiles=\"E:\\Arma 3\\Profiles\"`.\n\n#### Relative vs Absolute\n\nYou can define most, if not all path in both ways.\n\n**Relative:** `-profiles=Profiles`\n\n**Absolute:** `\"-profiles=E:\\Arma 3\\Profiles\"`\n\nThe relative path is normally based on the game main folder, where the exe resides in. However when you use -profiles, some commands use this path defined there as base.\n\n### Display Options\n\n#### window\n\nDisplays Arma 3 windowed instead of full screen. Screen resolution / window size are set in arma3.cfg.\n\n**Example**\n\n```\narma3_x64.exe -window\n```\n\n#### noWindowBorder (Arma 3 v2.22)\n\nRemoves the default window border in windowed mode.\n\n**Example**\n\n```\narma3_x64.exe -window -noWindowBorder\n```\n\n#### posX\n\nSets the default X Position of the Window.\n\n**Example**\n\n```\narma3_x64.exe -posX=50\n```\n\n#### posY\n\nSets the default Y Position of the Window.\n\n**Example**\n\n```\narma3_x64.exe -posY=50\n```\n\n#### adapter\n\nSets the default Video Adapter.\n\n**Example**\n\n```\narma3_x64.exe -adapter=MISSING_AN_EXAMPLE\n```\n\n### Game Loading Speedup\n\n#### noSplash\n\nTells the engine to bypass the splash screens on startup of Arma 3.\n\n> [!NOTE]\n> Real speed-up gained with this is likely to be negligible in Arma 3, as the loading screens are handled in parallel with the game data being loaded, and the loading itself takes quite long thanks to the amount of data needed.\n\n**Example**\n\n```\narma3_x64.exe -noSplash\n```\n\n#### skipIntro\n\nDisables world intros in the main menu permanently.\n\n> [!NOTE]\n> Real speed-up gained with this is likely to be negligible in Arma 3, as the loading screens are handled in parallel with the game data being loaded, and the loading itself takes quite long thanks to the amount of data needed.\n\n**Example**\n\n```\narma3_x64.exe -skipIntro\n```\n\n#### world\n\nSelect a world loaded by default. For faster game loading (no default world loaded and world intro in the main menu, *only at game start*, disabled): -world=empty.\n\n**Example**\n\nFor faster game loading (no default world loaded and world intro in the main menu, *only at game start*, disabled)\n\n```\narma3_x64.exe -world=empty\n```\n\nLoad Altis\n\n```\narma3_x64.exe -world=Altis\n```\n\n#### worldCfg\n\nInits a landscape by the given world config.\n\n### Profile Options\n\n#### name\n\nSets the profile name.\n\n**Example**\n\n```\narma3_x64.exe -name=PlayerOne\n```\n\n#### profiles\n\nLocation of user-profile folder.\n\nIf a custom path is set, default files and folders (logFiles, AnimDataCache, DataCache, SteamPreviewCache....) located by default in `%LocalAppData%/Arma 3` will be created in that new location.\n\nHowever, old files will stay in the old location and will not be copied.\n\n**Example 1**\n\n```\narma3_x64.exe -profiles=C:\\arma3\\Profiles\n```\n\n**Example 2**\n\n```\narma3_x64.exe -profiles=Profiles\n```\n\nExample 2 create a folder called *Profiles* in the Arma 3 root directory\n\n> [!IMPORTANT]\n> The Windows user account needs write access in the chosen location.\n\n#### unit\n\nParameter passes a unit's ID number to the binary, translates to *https://units.arma3.com/my-units#?unit=<number>*\n\n**Example**\n\n```\narma3_x64.exe -unit=1337\n```\n\n### Misc.\n\n#### buldozer\n\nStarts Buldozer mode.\n\n**Example**\n\n```\narma3_x64.exe -buldozer\n```\n\n#### noLand\n\nStarts with no world loaded. (Used for Buldozer)\n\n**Example**\n\n```\narma3_x64.exe -noLand\n```\n\n#### noSound\n\nDisables sound output.\n\n**Example**\n\n```\narma3_x64.exe -noSound\n```\n\n#### doNothing\n\nEngine closes immediately after detecting this option.\n\n**Example**\n\n```\narma3_x64.exe -doNothing\n```\n\n#### mod\n\nLoads the specified mod folders. Multiple folder need to be separated by a semicolon.\n\n**Example 1**\n\n```\narma3_x64.exe -mod=test;x\\test;c:\\arma3\\test2\n```\n\n- **\"test\"** is located in the Arma 3 installation folder (\"Arma 3\\test\") (relative path)\n- **\"x\\test\"** is in the installation folder (\"Arma 3\\x\\test\") (relative path; subfolder)\n- **\"c:\\arma3\\test2\"** is in \"c:\\arma3\\test2\" (absolute path)\n\n**Example 2**\n\nOn Windows\n\n```\narma3_x64.exe \"-mod=test;x\\test;c:\\arma3\\test2\"\n```\n\n**Example 3**\n\nOn Linux. Note the additional backslash in front of the semicolon\n\n```\narma3_x64.exe \"-mod=test\\;x\\test\\;c:\\arma3\\test2\"\n```\n\n> [!NOTE]\n> \"Relative path\" starts from, or is rooted at, the directory from where the Arma 3 executable has been started and is not always the same where the executable is, like in betas.\n>\n> Usually this is the same as the installation path and the same as what is written in Windows registry, but if you copy or symlink the necessary file and folders, you may have different roots.\n>\n> It is useful when having multiple dedicated servers.\n\n#### mpmissions (Arma 3 v2.22)\n\nSets alternative MPMissions directory for the server. The directory must be relative to 'Arma3' directory\n\n> [!NOTE]\n> Use **#mpmissions** command from BattlEye RCon to list available missions on the server. The RCon **missions** command does not work with custom -mpmissions=\n\n**Example 1**\n\n```\narma3_x64.exe -server -mpmissions=MyMPMissionsGoHere\n```\n\n**Example 2**\n\n```\narma3_x64.exe -server -mpmissions=MPMissions\\Experimental\n```\n\n**Example 3**\n\n```\narma3server_x64.exe -mpmissions=MPMissions2\n```\n\n### Client Network Options\n\n#### connect\n\nServer IP to connect to.\n\n**Example**\n\n```\narma3_x64.exe -connect=168.152.15.147\n```\n\n#### port\n\nServer port to connect to.\n\n**Example**\n\n```\narma3_x64.exe -port=1337\n```\n\n#### password\n\nServer password to connect to.\n\n**Example**\n\n```\narma3_x64.exe -password=1337abc\n```\n\n#### host\n\nStart a non-dedicated multiplayer host.\n\n**Example**\n\n```\narma3_x64.exe -host\n```\n\n### Server Options\n\n#### setUpHost\n\nStart the game in the setup server display. Works with the client exe. See reference image\n\n**Example**\n\n```\narma3_x64.exe -setUpHost\n```\n\n#### server\n\nStart a dedicated server. Not needed for the dedicated server exe.\n\n**Example**\n\n```\narma3_x64.exe -server\n```\n\n#### port\n\nPort to have dedicated server listen on.\n\n**Example**\n\n```\narma3server_x64.exe -port=1337\n```\n\n#### pid\n\nFile to write the server's PID (process ID) to.\n\n- The file is removed automatically when the exe is stopped\n- Only works for dedicated servers\n\n**Example**\n\n```\narma3server_x64.exe \"-pid=C:\\My Server\\PID.txt\"\n```\n\n#### ranking\n\nAllowing you to output ranking information or otherwise know as player stats to a file.\n\nThe windows user account would need permissions to write to the folder of choice.\n\nOutput sample:\n\n```cpp\nclass Player1\n{\n    name = \"PlayerName\";\n    killsInfantry = 71;\n    killsSoft = 3;\n    killsArmor = 5;\n    killsAir = 5;\n    killsPlayers = 0;\n    customScore = 0;\n    killsTotal = 84;\n    killed = 3;\n};\n```\n\n**Example**\n\n```\narma3server_x64.exe \"-ranking=C:\\arma3\\ranking.log\"\n```\n\n#### netlog\n\nEnables multiplayer network traffic logging. For more details see server configuration.\n\n**Example**\n\n```\narma3server_x64.exe -netlog\n```\n\n#### cfg\n\nSelects the Server Basic Config file. Config file for server specific settings like network performance tuning.\n\n> [!IMPORTANT]\n> Using this parameter overrides the game config (`Documents\\Arma 3\\Arma3.cfg`); use at your own risk on clients.\n\n**Example**\n\n```\narma3server_x64.exe \"-config=C:\\My Server\\basic.cfg\"\n```\n\n#### config\n\nSelects the Server Config File. Config file for server specific settings like admin password and mission selection.\n\n**Example**\n\n```\narma3server_x64.exe \"-config=C:\\My Server\\config.cfg\"\n```\n\n#### profiles\n\nPath to the folder containing server profile.\n\n- By default, server logs are written to server profile folder\n- If folder doesn't exist, it will be automatically created\n- Does not work on Linux, no profile will be created or used - instead, remove this parameter and the profile will be created in `~/.local/share/Arma 3 - Other Profiles`\n\n**Example**\n\n```\narma3server_x64.exe \"-profiles=C:\\My Server\\profiles\"\n```\n\n#### bePath\n\nBy default BattlEye will create *BattlEye* folder inside server profile folder. With -bePath param it is possible to specify a custom folder.\n\n**Example**\n\n```\narma3_x64.exe -bePath=C:\\MyBattlEyeFolder\n```\n\n#### ip\n\nCommand to enable support for Multihome servers. Allows server process to use defined available IP address. (b1.57.76934)\n\n**Example**\n\n```\narma3_x64.exe -ip=145.412.123.12\n```\n\n#### par\n\nCommand to read startup parameters from a file. For more details see Startup parameters config file.\n\n**Example**\n\n```\narma3_x64.exe \"-par=C:\\Users\\Player\\Games\\Arma 3\\Arma 3 Parameter Files\\par_common.txt\"\n```\n\n#### client\n\nLaunch as client (console). Useful for headless clients.\n\n**Example**\n\n```\narma3_x64.exe -client\n```\n\n#### loadMissionToMemory\n\nServer will load mission into memory on first client downloading it. Then it keeps it pre-processed pre-cached in memory for next clients, saving some server CPU cycles.\n\n**Example**\n\n```\narma3server_x64.exe -loadMissionToMemory\n```\n\n#### autoInit\n\nAutomatically initialize mission just like the first client does.\n\nThe server config file (server.cfg) must contain `Persistent = 1;` otherwise the `autoInit` parameter is skipped.\n\n> [!IMPORTANT]\n> This will break the Arma 3: Mission Parameters function, so do not use it when you work with mission parameters, only default values are returned!\n\n**Example**\n\n```\narma3server_x64.exe -autoInit\n```\n\n#### serverMod\n\nLoads the specified sub-folders for different server-side (not broadcasted to clients) mods.\n\n- Separated by semi-colons\n- Absolute path and multiple stacked folders are possible\n- In Linux multiple folders arguments need the following separation syntax: -serverMod=mod1\\;mod2\\;mod3\n\n**Example**\n\n```\narma3server_x64.exe \"-serverMod=myAwesomeMod;anotherAwesomeMod\"\n```\n\n#### keysFolder (Arma 3 v2.22)\n\nAdds folders out of which .bikey files are loaded.\n\n- Separated by semi-colons\n- Absolute path and multiple stacked folders are possible\n- In Linux multiple folders arguments need the following separation syntax: -keysFolder=@modfolder\\keys\\;@othermodfolder\\keys\n\n**Example**\n\n```\narma3server_x64.exe \"-keysFolder=@modfolder/keys;@othermodfolder/keys;\"\n```\n\nNote that by default, the base game \"keys\" folder is included, but it can be excluded by having !keys in the list\n\n```\n-keysFolder=!keys;@modfolder/keys;@othermodfolder/keys;\n```\n\n#### disableServerThread\n\nOption to disable the server send messaging thread in case of random crashing (may also decrease performance of server on multicore CPUs)\n\n**Example**\n\n```\narma3_x64.exe -disableServerThread\n```\n\n#### bandwidthAlg\n\nSet to 2 to use a new experimental networking algorithm that might be better than the default one.\n\n**Example**\n\n```\narma3_x64.exe -bandwidthAlg=2\n```\n\n### Performance\n\n#### limitFPS (Arma 3 v2.00)\n\nAdjusts the FPS limit for the dedicated server/headless client to the specified value. The current default is 50. The available range goes from 5 to 1000.\n\n> [!NOTE]\n> The limit does not do anything when it is not reached.\n>\n> Higher FPS for a DS/HC network messages sent out more frequently, entities (units/vehicles/projectiles/etc) are simulated more often, as well as AI behavior and vision calculations are done more often.\n>\n> The practical impact of a higher fps limit for the DS/HC may or may not noticeable.\n\nSince Arma 3 v2.20:\n\n- servers with no players now limit their FPS to 30 (regardless of the `-limitFPS` parameter setting)\n- this setting also works on clients.\n\n> [!NOTE]\n> Aside from more frequent simulation of the different engine parts, for a client more frequent rendering may lead to more fluent graphics/a more smooth visual experience and potentially more precise audio.\n> The FPS gets automatically limited in the main menu with `-world=empty` or when windowed mode is unfocused (\"tabbed out\").\n\n#### maxMem\n\nOverrides memory allocation limit to a certain amount (in megabytes).\n\n> [!IMPORTANT]\n> Until Arma 3 v2.14 there was a bug on the Linux server binary where it parses the maxMem value as a signed integer, therefore making 4096 interpreted as a negative value;\n> in order to avoid this issue, use values like `2047`, `4095`, `8191`, `16383`, `32767` (2048 -1, 4096 -1 etc).\n\n1024 MiB is a hard-coded minimum (anything lower falls back to 1024). The maximum is influenced by your operating system (any value over the maximum will be reverted to this value):\n\n- 32-bit Windows + 32-bit game: 2047\n- 64-bit Windows + 32-bit game: 3071\n- 64-bit Windows + 64-bit game: (physical memory * 4) / 5\n\n**Without the -maxMem parameter the engine attempts to set this parameter internaly to a reasonable value often defaulting to max values as described above.** The file cache is always excluded from the virtual address limit, see our developers blog: https://www.bistudio.com/blog/breaking-the-32-bit-barrier.\n\n> [!NOTE]\n> Note that setting maxMem to 2000 does not mean that the game will never allocate more then 2000 MiB. It says that the game will do everything in its power to not cross this limit. In general, it makes sense not using this parameter at all and only resort to it in case you experience issues with memory.\n\n**Example**\n\n```\narma3_x64.exe -maxMem=4096\n```\n\n#### maxVRAM\n\nDefines video memory allocation limit to number (in megabytes).\n\n- Minimum value is 128 MiB (anything lower falls back to 128)\n- The value is ignored (under DX11) if engine properly detected VRAM size, minus 20% reserve with ceiling limit 300MB max\n- Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1\n\n**Example**\n\n```\narma3_x64.exe -maxVRAM=4096\n```\n\n#### maxFileCacheSize\n\nArma 3 v2.14 Sets the default filecache size (when files are loaded from disk, they are cached in RAM. If the cache is full, the oldest file is thrown out).\n\n> [!NOTE]\n> - Default size was either `maxMemory - 448 MB` or if you had more than 2 GB of memory available to Arma 3, it would be limited to max 2048 MB.\n> - Setting lower than 1 GB is not recommended.\n> - Minimum possible value is 512 MB\n\n**Example**\n\n```\narma3_x64.exe -maxFileCacheSize=2048\n```\n\n#### noCB\n\nTurns off multicore use. It slows down rendering but may resolve visual glitches.\n\n**Example**\n\n```\narma3_x64.exe -noCB\n```\n\n#### cpuCount\n\nChange to a number less or equal than numbers of available cores. This will override auto detection (which equate to native cores).\n\nThe best way to simulate dual core on quad core is to use -cpuCount=2 when you run the game and then change the affinity to 2 cores to make sure additional cores can never be used when some over-scheduling happens.\nIt might also be possible to set the affinity in the OS before the process is launched.\n\n> [!NOTE]\n> **Since Arma 3 v2.20:** The minimum value is 2.\n\n**Example**\n\n```\narma3_x64.exe -cpuCount=8\n```\n\n#### cpuAffinity (Arma 3 v2.22)\n\nSet the game's CPU affinity mask ([Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setprocessaffinitymask)).\n\n> [!NOTE]\n> You can use the [affinity calculator](https://bitsum.com/tools/cpu-affinity-calculator/) to calculate the correct mask value.\n>\n> To see if the value was applied correctly, check the rpt file.\n\n**Example**\n\n```\narma3_x64.exe -cpuAffinity=0xFF\n```\n\n#### cpuMainThreadAffinity (Arma 3 v2.22)\n\nSet the main thread's CPU affinity mask ([Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setprocessaffinitymask)).\n\n> [!NOTE]\n> If the value could **not** be applied a message will be logged to the rpt file.\n\n**Example**\n\n```\narma3_x64.exe -cpuMainThreadAffinity=0x01\n```\n\n#### enableHT\n\nEnables the use of all logical CPU cores for parallel tasks processing. If the CPU does not support Hyper-Threading or similar technology, this parameter is ignored.\nWhen disabled, only physical cores are used.\n\n> [!NOTE]\n> Note that enabling this parameter may slightly improve or harm the performance depending on a scenario.\n> This parameter is overridden if `-cpuCount` or `-cpuAffinity` are used so if you want to use the maximum number of CPU cores use \"-enableHT\" without \"-cpuCount\".\n\n**Example**\n\n```\narma3_x64.exe -enableHT\n```\n\n#### exThreads\n\nChange to a number 0,1,3,5,7. This will override auto detection (which use 3 for dualcore and 7 for quadcore).\n\nAll file operations go through a dedicated thread. This offloads some processing from the main thread, however it adds some overhead at the same time.\n\nThe reason why threaded file ops were implemented was to serve as a basement for other threads ops. When multiple threads are running at the same time, OS is scheduling them on different cores.\nGeometry and Texture loading (both done by the same thread) are scheduled on different cores outside the main rendering loop at the same time with the main rendering loop.\n\n**Ex(tra)threads table**\n\n| Parameter | Description |  |  |\n|---|---|---|---|\n| Number | Geometry loading | Texture loading | File operations |\n| 0 | ✗ | ✗ | ✗ |\n| 1 | ✗ | ✗ | ✓ |\n| 3 | ✗ | ✓ | ✓ |\n| 5 | ✓ | ✗ | ✓ |\n| 7 | ✓ | ✓ | ✓ |\n\n**Example**\n\n```\narma3_x64.exe -exThreads=7\n```\n\n#### malloc\n\nSets the particular memory allocator to be used. Significantly affects both performance and stability of the game. More details.\n\n**Example**\n\n```\narma3_x64.exe -malloc=someMalloc\n```\n\n#### hugePages\n\nEnables hugepages with the default memory allocator (malloc) for both client and server.\n\n**Example**\n\n```\narma3_x64.exe -hugePages\n```\n\n#### setThreadCharacteristics (Arma 3 v2.10)\n\nRegisters the game's executable as \"Game\" in Windows for performance improvements.\n\n> [!WARNING]\n> This flag can freeze the whole Operating System if running Windows Server!\n\n**Example**\n\n```\narma3_x64.exe -setThreadCharacteristics\n```\n\n### Developer Options\n\n#### noPause\n\nAllow the game running even when its window does not have focus (i.e. running in the background)\n\n**Example**\n\n```\narma3_x64.exe -noPause\n```\n\n#### noPauseAudio (Arma 3 v2.10)\n\nKeeps audio running in background while tabbed out. Should be used together with **-noPause** to work correctly\n\n**Example**\n\n```\narma3_x64.exe -noPauseAudio\n```\n\n#### showScriptErrors\n\nIntroduced to show errors in scripts on-screen. In Eden Editor, script errors are always shown, even when this parameter is not used.\n\n**Example**\n\n```\narma3_x64.exe -showScriptErrors\n```\n\n#### debug\n\nEnables more verbose error logging. See Arma 3: Debug Mode\n\n**Example**\n\n```\narma3_x64.exe -debug\n```\n\n#### noFreezeCheck\n\nDisables the freeze check. It creates otherwise max 4 dumps per game run in total - 2 per distinct freeze. Similar to Crash Files.\n\n**Example**\n\n```\narma3_x64.exe -noFreezeCheck\n```\n\n#### noLogs\n\nBe aware this means none errors saved to RPT file (report log). Yet in case of crash the fault address block info is saved.\n\nMore details [here](http://forums.bistudio.com/showthread.php?159155-quot-nologs-quot-may-improve-performance-no-stuttering-read-details).\n\n**Example**\n\n```\narma3_x64.exe -noLogs\n```\n\n#### noFilePatching\n\nEnsures that only PBOs are loaded and NO unpacked data.\n\n> [!NOTE]\n> Since Arma 3 v1.50 this was replaced in favor of the `-filePatching` parameter.\n\n**Example**\n\n```\narma3_x64.exe -noFilePatching\n```\n\n#### filePatching (Arma 3 v1.50)\n\nAllows the game to load unpacked data. For more info see CMA:DevelopmentSetup\n\n**Example**\n\n```\narma3_x64.exe -filePatching\n```\n\n#### init\n\nRun scripting command once in the main menu. For example to start a certain SP mission of choice automatically. See also playMission. The Mission has to reside in the \"arma3\\Missions\" folder, NOT the user directory.\n\n**Example**\n\n```\narma3_x64.exe -init=playMission[\"\",\"Test.VR\"]\n```\n\n#### <path>\\mission.sqm\n\nLoad a mission directly in the editor. Example: `\"C:\\arma3\\users\\myUser\\missions\\myMission.intro\\mission.sqm\"`\n\n#### autotest\n\nLoads automatically a series of defined missions and on error writes to a log file.\n\nThe parameter can be used to automatically run a series of test missions. For example FPS measurement or scripting validation.\n\n- The game runs in special mode. It runs all missions from the given list.\n- If any mission fails (ends with other than END1), it is logged into the rpt file (search: <autotest).\n- In case of any fail, the game also returns an errorlevel to DOS. This can be used to issue an notification by a secondary application.\n\n**Launch Arma 3 with:** `\"-autotest=c:\\Arma 3\\autotest\\autotest.cfg\"`\n\nThe `autotest.cfg` looks like:\n\n```cpp\nclass TestMissions\n{\n    class TestCase01\n    {\n        campaign = \"\";\n        mission = \"autotest\\TestCase01.VR\"; // relative path to the arma directory\n    };\n    class TestCase02\n    {\n        campaign = \"\";\n        mission = \"C:\\arma3\\autotest\\TestCase02.VR\"; // absolute path\n    };\n};\n```\n\n> [!IMPORTANT]\n> If `-profiles` is used, the relative path is relative to the specified profile path.\n\n**Example**\n\n```\narma3_x64.exe -autotest=c:\\arma3\\autotest\\autotest.cfg\n```\n\n**RPT entry**\n\n```html\n<AutoTest result=\"FAILED\">\n    EndMode = LOSER\n    Mission = autotest\\TestCase01.VR\n</AutoTest>\n```\n\nIf possible use simple worlds, like VR, to keep the loading times short. The loading screen command might be useful as well to speed up task that need no rendering.\n\n#### beta\n\nLoads the specified beta sub-folders. This allows use of beta build w/o disabling in-game mod/extension management (in UI menu).\n\n- Separated by semicolons\n- Absolute path and multiple stacked folders are possible\n- **In Linux** multiple folders arguments need the following separation syntax: `arma3_x64.exe \"-mod=betamod1\\;betamod2\\;betamod3\"`\n\n#### cfgDependenciesDebugPrint (Arma 3 v2.20)\n\nPrints all addons in load order in the RPT.\n\nFormat is `'addonName' (config file path) - 'dependency1', 'dependency2', ...` or `'addonName','addonName2','addonName3' (...)` if multiple `CfgPatches` in same config.\n\n#### checkSignatures\n\nProvide a thorough test of all signatures of all loaded banks (PBOs) at the start of the game. Only the stored sha1 values are verified with signatures/keys. Output is in `.rpt` file.\n\n**Example**\n\n```\narma3_x64.exe -checkSignatures\n```\n\n#### checkSignaturesFull\n\nSame as above, but checks every byte of the file content, and therefore not only verifies signatures, but also verifies file integrity.\n\n**Example**\n\n```\narma3_x64.exe -checkSignaturesFull\n```\n\n#### d3dNoLock\n\nDoesn't lock the VRAM.\n\n**Example**\n\n```\narma3_x64.exe -d3dNoLock\n```\n\n#### d3dNoMultiCB\n\nD3D uses Single Constant Buffers instead of Multiple Constant Buffers.\n\n**Example**\n\n```\narma3_x64.exe -d3dNoMultiCB\n```\n\n#### debugCallExtension\n\nLogs extension calls in the rpt log like this:\n\n**Example**\n\n```\narma3_x64.exe -debugCallExtension\n```\n\n#### command\n\nCreates [named pipe](https://en.wikipedia.org/wiki/Named_pipe) \"\\\\.\\pipe\\name\" for receiving predefined set of commands. See Arma 3: Named Pipe.\nNote that it works only on clients, but not on dedicated server.\n\n**Example**\n\n```\narma3_x64.exe -command=MyFancyPipeName\n```\n\n#### language (Arma 3 v2.04)\n\nStarts client with preferred language. See Stringtable.xml - Supported Languages for a list of supported languages. **Case-sensitive!** (className column)\n\n> [!NOTE]\n> Arma 3 v2.18 made the parameter work properly.\n\n**Example**\n\n```\narma3_x64.exe -language=German\n```\n\n#### preprocDefine (Arma 3 v2.06)\n\nDefines a macro and optionally its value. Multiple macro can be defined by using this parameter multiple times.\n\n**Example 1**\n\n```\narma3_x64.exe -preprocDefine=\"CMD__MACRONAME=MACROVALUE\"\narma3_x64.exe -preprocDefine=CMD__MACRONAME\narma3_x64.exe -preprocDefine=CMD__MACRO1 -preprocDefine=CMD__MACRO2\n```\n\n**Example 2**\n\narma3_x64.exe -preprocDefine=MACRO\n\nThe macro name **will** start with `CMD__`, the engine automatically adds the prefix if it is not present (`CMD__MACRO`).\n\n#### dumpAddonDependencyGraph (Arma 3 v2.14)\n\ndumps [Graphviz](https://en.wikipedia.org/wiki/Graphviz) text file into the RPT directory with a graph of all addon dependencies (`requiredAddons`)\n\n**Example**\n\n```\narma3_x64.exe -dumpAddonDependencyGraph\n```\n\n#### networkDiagInterval (Arma 3 v1.30 Arma 3 vPROF)\n\nPolls the status of bandwidth, traffic and similar data every X seconds. Since Arma 3 v2.18 it also logs size and count of public variables when using the *Profiling binary*.\n\nTells you what type of packages are sent to which clients. Network types are obfuscated, so you can just make out who uses how much bandwidth.\n\n**Example**\n\n```\narma3_x64.exe -networkDiagInterval=5 // seconds between each diagnostics polling\n```\n\n> [!NOTE]\n> Release statement by BI: Willing server admins may help us gather even more data to base future optimizations on. We'd like admins experiencing desync or other netcode issues to try and enable these diagnostics and send us the results on Feedback Tracker. The parameter is disabled by default because it may reduce performance when used.\n\nFile content example for the server:\n\n```\n===============================================================================================================================================\nServer\n-----------------------------------------------------------------------------------------------------------------------------------------------\nRaw statistics 0\n                                             player |     sent msg |   sent msg/s |       sent B |     sent B/s |      rec msg |    rec msg/s |        rec B |      rec B/s |       DS min |       DS max |       DS avg |       BW min |       BW max |       BW avg |\n                                      __SERVER__(2) |            0 |         0.00 |            0 |         0.00 |            0 |       152.79 |            0 |     20819.12 |         0.00 |         0.00 |         0.00 | 2147483648.00 | 2147483648.00 | 2147483648.00 |\n                                    test(538428231) |            0 |        21.51 |            0 |      9555.18 |            0 |         0.40 |            0 |        19.72 |         0.00 |         0.00 |         0.00 |    329417.00 |    343000.00 |    336140.00 |\n                                              Total |            0 |        21.51 |            0 |      9555.18 |            0 |       153.19 |            0 |     20838.84 |         0.00 |         0.00 |         0.00 |\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Server - Sent\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_64                                  |          131 |     41.57 |         6876 |      2182.16 |   52.5\nType_468                                 |           13 |      4.13 |         4730 |      1501.11 |  363.8\nType_109                                 |           39 |     12.38 |         4412 |      1400.19 |  113.1\nType_10                                  |           81 |     25.71 |         4324 |      1372.26 |   53.4\nType_96                                  |           39 |     12.38 |         3947 |      1252.62 |  101.2\nType_126                                 |           31 |      9.84 |         2480 |       787.05 |   80.0\nType_53                                  |           26 |      8.25 |         2314 |       734.37 |   89.0\nType_385                                 |           10 |      3.17 |         2233 |       708.66 |  223.3\nType_114                                 |           40 |     12.69 |         2010 |       637.89 |   50.3\nType_98                                  |           35 |     11.11 |         1715 |       544.27 |   49.0\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Server - Received\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_18                                  |            3 |      0.20 |          156 |        10.76 |   52.0\nType_5                                   |            8 |      0.20 |           15 |         0.20 |    1.9\nType_468                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_467                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_466                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_449                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_427                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_404                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_385                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_383                                 |            0 |      0.00 |            0 |         0.00 |    0.0\n-----------------------------------------------------------------------------------------------------------------------------------------------\n===============Vars total\n        1804 - bis_fnc_storeparamsvalues_data\n         554 - CBAs\n         357 - paramsArray\n          76 - cba_versioning_versions_serv\n          76 - cba_versioning_versions_server\n          70 - SPE_IFS_availableCalls\n          48 - SPE_IFS_DS_ProviderBlackList\n          36 - SPE_IFS_CAS_aimErrorSpread\n          22 - SPE_IFS_SafetyDistance_CAS\n          22 - SPE_IFS_SafetyDistance_HeavyArty\n===============Vars recent\n        1804 - bis_fnc_storeparamsvalues_data (1)\n         554 - CBAs (9)\n         357 - paramsArray (1)\n          76 - cba_versioning_versions_serv (1)\n          76 - cba_versioning_versions_server (1)\n          70 - SPE_IFS_availableCalls (1)\n          48 - SPE_IFS_DS_ProviderBlackList (1)\n          36 - SPE_IFS_CAS_aimErrorSpread (1)\n          22 - SPE_IFS_SafetyDistance_CAS (1)\n          22 - SPE_IFS_SafetyDistance_HeavyArty (1)\n```\n\nFile content example for a client:\n\n```\n===============================================================================================================================================\nClient\n-----------------------------------------------------------------------------------------------------------------------------------------------\nRaw statistics 152.563\n                                             player |     sent msg |   sent msg/s |       sent B |     sent B/s |      rec msg |    rec msg/s |        rec B |      rec B/s |       DS min |       DS max |       DS avg |       BW min |       BW max |       BW avg |\n                                              Total |            0 |         0.00 |            0 |         0.00 |            0 |         3.78 |            0 |       506.77 |         0.00 |         0.00 |         0.00 |\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Client - Sent\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_133                                 |        25529 |    212.95 |      2056925 |     17417.13 |   80.6\nType_120                                 |        11046 |     87.65 |       328091 |      2616.33 |   29.7\nType_119                                 |         4058 |     20.32 |       265924 |      1335.86 |   65.5\nType_126                                 |          750 |     11.55 |        61633 |       958.96 |   82.2\nType_132                                 |          882 |      4.18 |       109926 |       523.11 |  124.6\nType_466                                 |         3671 |     29.08 |        58422 |       464.54 |   15.9\nType_467                                 |         1542 |     12.95 |        35189 |       296.02 |   22.8\nType_98                                  |         1571 |      4.58 |        81492 |       238.05 |   51.9\nType_114                                 |          806 |      2.59 |        45686 |       151.99 |   56.7\nType_166                                 |          190 |      1.59 |        12364 |       116.53 |   65.1\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Client - Received\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_381                                 |          247 |      1.00 |        17074 |        54.78 |   69.1\nType_383                                 |          244 |      1.00 |        14420 |        46.81 |   59.1\nType_126                                 |           17 |      0.40 |         1360 |        31.87 |   80.0\nType_133                                 |          104 |      0.20 |         7171 |        12.75 |   69.0\nType_98                                  |           37 |      0.20 |         1879 |        10.16 |   50.8\nType_120                                 |           15 |      0.20 |          435 |         5.78 |   29.0\nType_467                                 |           15 |      0.20 |          330 |         4.38 |   22.0\nType_333                                 |            9 |      0.20 |          153 |         3.39 |   17.0\nType_295                                 |            2 |      0.20 |           16 |         1.59 |    8.0\nType_92                                  |           49 |      0.20 |          363 |         1.39 |    7.4\n-----------------------------------------------------------------------------------------------------------------------------------------------\n===============Vars total\n===============Vars recent\n```","sections":[{"heading":null,"level":1,"markdown":"Startup parameters are command line interface(CLI) arguments that go after the executable's name in order to set options; e.g `arma3_x64.exe -window` to start the game in windowed mode.\n\n> [!NOTE]\n> - Startup parameters' *names* are case-insensitive - e.g `-WINDOW` and `-window` are identical.\n> - Spaces in parameter values must be wrapped in quotations. e.g. `\"-profiles=E:\\Arma 3\\Profiles\"` or `-profiles=\"E:\\Arma 3\\Profiles\"`\n> - Most of the following parameters can be set with the Arma 3: Launcher."},{"heading":"Steam","level":3,"markdown":"1. Choose the game in Steam\\Library\n1. Right click on the game\n1. Select properties\n1. Hit \"Set launch options\"\n\n**Example:** `-nosplash \"-mod=test;x\\test;c:\\arma 3\\test2\"`"},{"heading":"Windows","level":3,"markdown":"When working with shortcuts, cmd launch options: there is max characters limit for the executing line, use **-par** (see: Startup Parameters Config File) to avoid it.\n\n| Startup Command Line | parameters file |\n|---|---|\n| `arma3_x64.exe \"-par=D:\\Arma 3\\Startup Parameters.txt\"` | ```<br>-skipIntro<br>-noSplash<br>-enableHT<br>-hugePages<br>-noLogs<br>``` |"},{"heading":"Path Definition","level":3,"markdown":"There are a few basics to keep in mind when defining path as part of a parameter."},{"heading":"Spaces","level":4,"markdown":"The path **and** -profiles need to be enclosed with quotes if it contains spaces, e.g `\"-profiles=E:\\Arma 3\\Profiles\" or -profiles=\"E:\\Arma 3\\Profiles\"`."},{"heading":"Relative vs Absolute","level":4,"markdown":"You can define most, if not all path in both ways.\n\n**Relative:** `-profiles=Profiles`\n\n**Absolute:** `\"-profiles=E:\\Arma 3\\Profiles\"`\n\nThe relative path is normally based on the game main folder, where the exe resides in. However when you use -profiles, some commands use this path defined there as base."},{"heading":"Display Options","level":3,"markdown":""},{"heading":"window","level":4,"markdown":"Displays Arma 3 windowed instead of full screen. Screen resolution / window size are set in arma3.cfg.\n\n**Example**\n\n```\narma3_x64.exe -window\n```"},{"heading":"noWindowBorder (Arma 3 v2.22)","level":4,"markdown":"Removes the default window border in windowed mode.\n\n**Example**\n\n```\narma3_x64.exe -window -noWindowBorder\n```"},{"heading":"posX","level":4,"markdown":"Sets the default X Position of the Window.\n\n**Example**\n\n```\narma3_x64.exe -posX=50\n```"},{"heading":"posY","level":4,"markdown":"Sets the default Y Position of the Window.\n\n**Example**\n\n```\narma3_x64.exe -posY=50\n```"},{"heading":"adapter","level":4,"markdown":"Sets the default Video Adapter.\n\n**Example**\n\n```\narma3_x64.exe -adapter=MISSING_AN_EXAMPLE\n```"},{"heading":"Game Loading Speedup","level":3,"markdown":""},{"heading":"noSplash","level":4,"markdown":"Tells the engine to bypass the splash screens on startup of Arma 3.\n\n> [!NOTE]\n> Real speed-up gained with this is likely to be negligible in Arma 3, as the loading screens are handled in parallel with the game data being loaded, and the loading itself takes quite long thanks to the amount of data needed.\n\n**Example**\n\n```\narma3_x64.exe -noSplash\n```"},{"heading":"skipIntro","level":4,"markdown":"Disables world intros in the main menu permanently.\n\n> [!NOTE]\n> Real speed-up gained with this is likely to be negligible in Arma 3, as the loading screens are handled in parallel with the game data being loaded, and the loading itself takes quite long thanks to the amount of data needed.\n\n**Example**\n\n```\narma3_x64.exe -skipIntro\n```"},{"heading":"world","level":4,"markdown":"Select a world loaded by default. For faster game loading (no default world loaded and world intro in the main menu, *only at game start*, disabled): -world=empty.\n\n**Example**\n\nFor faster game loading (no default world loaded and world intro in the main menu, *only at game start*, disabled)\n\n```\narma3_x64.exe -world=empty\n```\n\nLoad Altis\n\n```\narma3_x64.exe -world=Altis\n```"},{"heading":"worldCfg","level":4,"markdown":"Inits a landscape by the given world config."},{"heading":"Profile Options","level":3,"markdown":""},{"heading":"name","level":4,"markdown":"Sets the profile name.\n\n**Example**\n\n```\narma3_x64.exe -name=PlayerOne\n```"},{"heading":"profiles","level":4,"markdown":"Location of user-profile folder.\n\nIf a custom path is set, default files and folders (logFiles, AnimDataCache, DataCache, SteamPreviewCache....) located by default in `%LocalAppData%/Arma 3` will be created in that new location.\n\nHowever, old files will stay in the old location and will not be copied.\n\n**Example 1**\n\n```\narma3_x64.exe -profiles=C:\\arma3\\Profiles\n```\n\n**Example 2**\n\n```\narma3_x64.exe -profiles=Profiles\n```\n\nExample 2 create a folder called *Profiles* in the Arma 3 root directory\n\n> [!IMPORTANT]\n> The Windows user account needs write access in the chosen location."},{"heading":"unit","level":4,"markdown":"Parameter passes a unit's ID number to the binary, translates to *https://units.arma3.com/my-units#?unit=<number>*\n\n**Example**\n\n```\narma3_x64.exe -unit=1337\n```"},{"heading":"Misc.","level":3,"markdown":""},{"heading":"buldozer","level":4,"markdown":"Starts Buldozer mode.\n\n**Example**\n\n```\narma3_x64.exe -buldozer\n```"},{"heading":"noLand","level":4,"markdown":"Starts with no world loaded. (Used for Buldozer)\n\n**Example**\n\n```\narma3_x64.exe -noLand\n```"},{"heading":"noSound","level":4,"markdown":"Disables sound output.\n\n**Example**\n\n```\narma3_x64.exe -noSound\n```"},{"heading":"doNothing","level":4,"markdown":"Engine closes immediately after detecting this option.\n\n**Example**\n\n```\narma3_x64.exe -doNothing\n```"},{"heading":"mod","level":4,"markdown":"Loads the specified mod folders. Multiple folder need to be separated by a semicolon.\n\n**Example 1**\n\n```\narma3_x64.exe -mod=test;x\\test;c:\\arma3\\test2\n```\n\n- **\"test\"** is located in the Arma 3 installation folder (\"Arma 3\\test\") (relative path)\n- **\"x\\test\"** is in the installation folder (\"Arma 3\\x\\test\") (relative path; subfolder)\n- **\"c:\\arma3\\test2\"** is in \"c:\\arma3\\test2\" (absolute path)\n\n**Example 2**\n\nOn Windows\n\n```\narma3_x64.exe \"-mod=test;x\\test;c:\\arma3\\test2\"\n```\n\n**Example 3**\n\nOn Linux. Note the additional backslash in front of the semicolon\n\n```\narma3_x64.exe \"-mod=test\\;x\\test\\;c:\\arma3\\test2\"\n```\n\n> [!NOTE]\n> \"Relative path\" starts from, or is rooted at, the directory from where the Arma 3 executable has been started and is not always the same where the executable is, like in betas.\n>\n> Usually this is the same as the installation path and the same as what is written in Windows registry, but if you copy or symlink the necessary file and folders, you may have different roots.\n>\n> It is useful when having multiple dedicated servers."},{"heading":"mpmissions (Arma 3 v2.22)","level":4,"markdown":"Sets alternative MPMissions directory for the server. The directory must be relative to 'Arma3' directory\n\n> [!NOTE]\n> Use **#mpmissions** command from BattlEye RCon to list available missions on the server. The RCon **missions** command does not work with custom -mpmissions=\n\n**Example 1**\n\n```\narma3_x64.exe -server -mpmissions=MyMPMissionsGoHere\n```\n\n**Example 2**\n\n```\narma3_x64.exe -server -mpmissions=MPMissions\\Experimental\n```\n\n**Example 3**\n\n```\narma3server_x64.exe -mpmissions=MPMissions2\n```"},{"heading":"Client Network Options","level":3,"markdown":""},{"heading":"connect","level":4,"markdown":"Server IP to connect to.\n\n**Example**\n\n```\narma3_x64.exe -connect=168.152.15.147\n```"},{"heading":"port","level":4,"markdown":"Server port to connect to.\n\n**Example**\n\n```\narma3_x64.exe -port=1337\n```"},{"heading":"password","level":4,"markdown":"Server password to connect to.\n\n**Example**\n\n```\narma3_x64.exe -password=1337abc\n```"},{"heading":"host","level":4,"markdown":"Start a non-dedicated multiplayer host.\n\n**Example**\n\n```\narma3_x64.exe -host\n```"},{"heading":"Server Options","level":3,"markdown":""},{"heading":"setUpHost","level":4,"markdown":"Start the game in the setup server display. Works with the client exe. See reference image\n\n**Example**\n\n```\narma3_x64.exe -setUpHost\n```"},{"heading":"server","level":4,"markdown":"Start a dedicated server. Not needed for the dedicated server exe.\n\n**Example**\n\n```\narma3_x64.exe -server\n```"},{"heading":"port","level":4,"markdown":"Port to have dedicated server listen on.\n\n**Example**\n\n```\narma3server_x64.exe -port=1337\n```"},{"heading":"pid","level":4,"markdown":"File to write the server's PID (process ID) to.\n\n- The file is removed automatically when the exe is stopped\n- Only works for dedicated servers\n\n**Example**\n\n```\narma3server_x64.exe \"-pid=C:\\My Server\\PID.txt\"\n```"},{"heading":"ranking","level":4,"markdown":"Allowing you to output ranking information or otherwise know as player stats to a file.\n\nThe windows user account would need permissions to write to the folder of choice.\n\nOutput sample:\n\n```cpp\nclass Player1\n{\n    name = \"PlayerName\";\n    killsInfantry = 71;\n    killsSoft = 3;\n    killsArmor = 5;\n    killsAir = 5;\n    killsPlayers = 0;\n    customScore = 0;\n    killsTotal = 84;\n    killed = 3;\n};\n```\n\n**Example**\n\n```\narma3server_x64.exe \"-ranking=C:\\arma3\\ranking.log\"\n```"},{"heading":"netlog","level":4,"markdown":"Enables multiplayer network traffic logging. For more details see server configuration.\n\n**Example**\n\n```\narma3server_x64.exe -netlog\n```"},{"heading":"cfg","level":4,"markdown":"Selects the Server Basic Config file. Config file for server specific settings like network performance tuning.\n\n> [!IMPORTANT]\n> Using this parameter overrides the game config (`Documents\\Arma 3\\Arma3.cfg`); use at your own risk on clients.\n\n**Example**\n\n```\narma3server_x64.exe \"-config=C:\\My Server\\basic.cfg\"\n```"},{"heading":"config","level":4,"markdown":"Selects the Server Config File. Config file for server specific settings like admin password and mission selection.\n\n**Example**\n\n```\narma3server_x64.exe \"-config=C:\\My Server\\config.cfg\"\n```"},{"heading":"profiles","level":4,"markdown":"Path to the folder containing server profile.\n\n- By default, server logs are written to server profile folder\n- If folder doesn't exist, it will be automatically created\n- Does not work on Linux, no profile will be created or used - instead, remove this parameter and the profile will be created in `~/.local/share/Arma 3 - Other Profiles`\n\n**Example**\n\n```\narma3server_x64.exe \"-profiles=C:\\My Server\\profiles\"\n```"},{"heading":"bePath","level":4,"markdown":"By default BattlEye will create *BattlEye* folder inside server profile folder. With -bePath param it is possible to specify a custom folder.\n\n**Example**\n\n```\narma3_x64.exe -bePath=C:\\MyBattlEyeFolder\n```"},{"heading":"ip","level":4,"markdown":"Command to enable support for Multihome servers. Allows server process to use defined available IP address. (b1.57.76934)\n\n**Example**\n\n```\narma3_x64.exe -ip=145.412.123.12\n```"},{"heading":"par","level":4,"markdown":"Command to read startup parameters from a file. For more details see Startup parameters config file.\n\n**Example**\n\n```\narma3_x64.exe \"-par=C:\\Users\\Player\\Games\\Arma 3\\Arma 3 Parameter Files\\par_common.txt\"\n```"},{"heading":"client","level":4,"markdown":"Launch as client (console). Useful for headless clients.\n\n**Example**\n\n```\narma3_x64.exe -client\n```"},{"heading":"loadMissionToMemory","level":4,"markdown":"Server will load mission into memory on first client downloading it. Then it keeps it pre-processed pre-cached in memory for next clients, saving some server CPU cycles.\n\n**Example**\n\n```\narma3server_x64.exe -loadMissionToMemory\n```"},{"heading":"autoInit","level":4,"markdown":"Automatically initialize mission just like the first client does.\n\nThe server config file (server.cfg) must contain `Persistent = 1;` otherwise the `autoInit` parameter is skipped.\n\n> [!IMPORTANT]\n> This will break the Arma 3: Mission Parameters function, so do not use it when you work with mission parameters, only default values are returned!\n\n**Example**\n\n```\narma3server_x64.exe -autoInit\n```"},{"heading":"serverMod","level":4,"markdown":"Loads the specified sub-folders for different server-side (not broadcasted to clients) mods.\n\n- Separated by semi-colons\n- Absolute path and multiple stacked folders are possible\n- In Linux multiple folders arguments need the following separation syntax: -serverMod=mod1\\;mod2\\;mod3\n\n**Example**\n\n```\narma3server_x64.exe \"-serverMod=myAwesomeMod;anotherAwesomeMod\"\n```"},{"heading":"keysFolder (Arma 3 v2.22)","level":4,"markdown":"Adds folders out of which .bikey files are loaded.\n\n- Separated by semi-colons\n- Absolute path and multiple stacked folders are possible\n- In Linux multiple folders arguments need the following separation syntax: -keysFolder=@modfolder\\keys\\;@othermodfolder\\keys\n\n**Example**\n\n```\narma3server_x64.exe \"-keysFolder=@modfolder/keys;@othermodfolder/keys;\"\n```\n\nNote that by default, the base game \"keys\" folder is included, but it can be excluded by having !keys in the list\n\n```\n-keysFolder=!keys;@modfolder/keys;@othermodfolder/keys;\n```"},{"heading":"disableServerThread","level":4,"markdown":"Option to disable the server send messaging thread in case of random crashing (may also decrease performance of server on multicore CPUs)\n\n**Example**\n\n```\narma3_x64.exe -disableServerThread\n```"},{"heading":"bandwidthAlg","level":4,"markdown":"Set to 2 to use a new experimental networking algorithm that might be better than the default one.\n\n**Example**\n\n```\narma3_x64.exe -bandwidthAlg=2\n```"},{"heading":"Performance","level":3,"markdown":""},{"heading":"limitFPS (Arma 3 v2.00)","level":4,"markdown":"Adjusts the FPS limit for the dedicated server/headless client to the specified value. The current default is 50. The available range goes from 5 to 1000.\n\n> [!NOTE]\n> The limit does not do anything when it is not reached.\n>\n> Higher FPS for a DS/HC network messages sent out more frequently, entities (units/vehicles/projectiles/etc) are simulated more often, as well as AI behavior and vision calculations are done more often.\n>\n> The practical impact of a higher fps limit for the DS/HC may or may not noticeable.\n\nSince Arma 3 v2.20:\n\n- servers with no players now limit their FPS to 30 (regardless of the `-limitFPS` parameter setting)\n- this setting also works on clients.\n\n> [!NOTE]\n> Aside from more frequent simulation of the different engine parts, for a client more frequent rendering may lead to more fluent graphics/a more smooth visual experience and potentially more precise audio.\n> The FPS gets automatically limited in the main menu with `-world=empty` or when windowed mode is unfocused (\"tabbed out\")."},{"heading":"maxMem","level":4,"markdown":"Overrides memory allocation limit to a certain amount (in megabytes).\n\n> [!IMPORTANT]\n> Until Arma 3 v2.14 there was a bug on the Linux server binary where it parses the maxMem value as a signed integer, therefore making 4096 interpreted as a negative value;\n> in order to avoid this issue, use values like `2047`, `4095`, `8191`, `16383`, `32767` (2048 -1, 4096 -1 etc).\n\n1024 MiB is a hard-coded minimum (anything lower falls back to 1024). The maximum is influenced by your operating system (any value over the maximum will be reverted to this value):\n\n- 32-bit Windows + 32-bit game: 2047\n- 64-bit Windows + 32-bit game: 3071\n- 64-bit Windows + 64-bit game: (physical memory * 4) / 5\n\n**Without the -maxMem parameter the engine attempts to set this parameter internaly to a reasonable value often defaulting to max values as described above.** The file cache is always excluded from the virtual address limit, see our developers blog: https://www.bistudio.com/blog/breaking-the-32-bit-barrier.\n\n> [!NOTE]\n> Note that setting maxMem to 2000 does not mean that the game will never allocate more then 2000 MiB. It says that the game will do everything in its power to not cross this limit. In general, it makes sense not using this parameter at all and only resort to it in case you experience issues with memory.\n\n**Example**\n\n```\narma3_x64.exe -maxMem=4096\n```"},{"heading":"maxVRAM","level":4,"markdown":"Defines video memory allocation limit to number (in megabytes).\n\n- Minimum value is 128 MiB (anything lower falls back to 128)\n- The value is ignored (under DX11) if engine properly detected VRAM size, minus 20% reserve with ceiling limit 300MB max\n- Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1\n\n**Example**\n\n```\narma3_x64.exe -maxVRAM=4096\n```"},{"heading":"maxFileCacheSize","level":4,"markdown":"Arma 3 v2.14 Sets the default filecache size (when files are loaded from disk, they are cached in RAM. If the cache is full, the oldest file is thrown out).\n\n> [!NOTE]\n> - Default size was either `maxMemory - 448 MB` or if you had more than 2 GB of memory available to Arma 3, it would be limited to max 2048 MB.\n> - Setting lower than 1 GB is not recommended.\n> - Minimum possible value is 512 MB\n\n**Example**\n\n```\narma3_x64.exe -maxFileCacheSize=2048\n```"},{"heading":"noCB","level":4,"markdown":"Turns off multicore use. It slows down rendering but may resolve visual glitches.\n\n**Example**\n\n```\narma3_x64.exe -noCB\n```"},{"heading":"cpuCount","level":4,"markdown":"Change to a number less or equal than numbers of available cores. This will override auto detection (which equate to native cores).\n\nThe best way to simulate dual core on quad core is to use -cpuCount=2 when you run the game and then change the affinity to 2 cores to make sure additional cores can never be used when some over-scheduling happens.\nIt might also be possible to set the affinity in the OS before the process is launched.\n\n> [!NOTE]\n> **Since Arma 3 v2.20:** The minimum value is 2.\n\n**Example**\n\n```\narma3_x64.exe -cpuCount=8\n```"},{"heading":"cpuAffinity (Arma 3 v2.22)","level":4,"markdown":"Set the game's CPU affinity mask ([Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setprocessaffinitymask)).\n\n> [!NOTE]\n> You can use the [affinity calculator](https://bitsum.com/tools/cpu-affinity-calculator/) to calculate the correct mask value.\n>\n> To see if the value was applied correctly, check the rpt file.\n\n**Example**\n\n```\narma3_x64.exe -cpuAffinity=0xFF\n```"},{"heading":"cpuMainThreadAffinity (Arma 3 v2.22)","level":4,"markdown":"Set the main thread's CPU affinity mask ([Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setprocessaffinitymask)).\n\n> [!NOTE]\n> If the value could **not** be applied a message will be logged to the rpt file.\n\n**Example**\n\n```\narma3_x64.exe -cpuMainThreadAffinity=0x01\n```"},{"heading":"enableHT","level":4,"markdown":"Enables the use of all logical CPU cores for parallel tasks processing. If the CPU does not support Hyper-Threading or similar technology, this parameter is ignored.\nWhen disabled, only physical cores are used.\n\n> [!NOTE]\n> Note that enabling this parameter may slightly improve or harm the performance depending on a scenario.\n> This parameter is overridden if `-cpuCount` or `-cpuAffinity` are used so if you want to use the maximum number of CPU cores use \"-enableHT\" without \"-cpuCount\".\n\n**Example**\n\n```\narma3_x64.exe -enableHT\n```"},{"heading":"exThreads","level":4,"markdown":"Change to a number 0,1,3,5,7. This will override auto detection (which use 3 for dualcore and 7 for quadcore).\n\nAll file operations go through a dedicated thread. This offloads some processing from the main thread, however it adds some overhead at the same time.\n\nThe reason why threaded file ops were implemented was to serve as a basement for other threads ops. When multiple threads are running at the same time, OS is scheduling them on different cores.\nGeometry and Texture loading (both done by the same thread) are scheduled on different cores outside the main rendering loop at the same time with the main rendering loop.\n\n**Ex(tra)threads table**\n\n| Parameter | Description |  |  |\n|---|---|---|---|\n| Number | Geometry loading | Texture loading | File operations |\n| 0 | ✗ | ✗ | ✗ |\n| 1 | ✗ | ✗ | ✓ |\n| 3 | ✗ | ✓ | ✓ |\n| 5 | ✓ | ✗ | ✓ |\n| 7 | ✓ | ✓ | ✓ |\n\n**Example**\n\n```\narma3_x64.exe -exThreads=7\n```"},{"heading":"malloc","level":4,"markdown":"Sets the particular memory allocator to be used. Significantly affects both performance and stability of the game. More details.\n\n**Example**\n\n```\narma3_x64.exe -malloc=someMalloc\n```"},{"heading":"hugePages","level":4,"markdown":"Enables hugepages with the default memory allocator (malloc) for both client and server.\n\n**Example**\n\n```\narma3_x64.exe -hugePages\n```"},{"heading":"setThreadCharacteristics (Arma 3 v2.10)","level":4,"markdown":"Registers the game's executable as \"Game\" in Windows for performance improvements.\n\n> [!WARNING]\n> This flag can freeze the whole Operating System if running Windows Server!\n\n**Example**\n\n```\narma3_x64.exe -setThreadCharacteristics\n```"},{"heading":"Developer Options","level":3,"markdown":""},{"heading":"noPause","level":4,"markdown":"Allow the game running even when its window does not have focus (i.e. running in the background)\n\n**Example**\n\n```\narma3_x64.exe -noPause\n```"},{"heading":"noPauseAudio (Arma 3 v2.10)","level":4,"markdown":"Keeps audio running in background while tabbed out. Should be used together with **-noPause** to work correctly\n\n**Example**\n\n```\narma3_x64.exe -noPauseAudio\n```"},{"heading":"showScriptErrors","level":4,"markdown":"Introduced to show errors in scripts on-screen. In Eden Editor, script errors are always shown, even when this parameter is not used.\n\n**Example**\n\n```\narma3_x64.exe -showScriptErrors\n```"},{"heading":"debug","level":4,"markdown":"Enables more verbose error logging. See Arma 3: Debug Mode\n\n**Example**\n\n```\narma3_x64.exe -debug\n```"},{"heading":"noFreezeCheck","level":4,"markdown":"Disables the freeze check. It creates otherwise max 4 dumps per game run in total - 2 per distinct freeze. Similar to Crash Files.\n\n**Example**\n\n```\narma3_x64.exe -noFreezeCheck\n```"},{"heading":"noLogs","level":4,"markdown":"Be aware this means none errors saved to RPT file (report log). Yet in case of crash the fault address block info is saved.\n\nMore details [here](http://forums.bistudio.com/showthread.php?159155-quot-nologs-quot-may-improve-performance-no-stuttering-read-details).\n\n**Example**\n\n```\narma3_x64.exe -noLogs\n```"},{"heading":"noFilePatching","level":4,"markdown":"Ensures that only PBOs are loaded and NO unpacked data.\n\n> [!NOTE]\n> Since Arma 3 v1.50 this was replaced in favor of the `-filePatching` parameter.\n\n**Example**\n\n```\narma3_x64.exe -noFilePatching\n```"},{"heading":"filePatching (Arma 3 v1.50)","level":4,"markdown":"Allows the game to load unpacked data. For more info see CMA:DevelopmentSetup\n\n**Example**\n\n```\narma3_x64.exe -filePatching\n```"},{"heading":"init","level":4,"markdown":"Run scripting command once in the main menu. For example to start a certain SP mission of choice automatically. See also playMission. The Mission has to reside in the \"arma3\\Missions\" folder, NOT the user directory.\n\n**Example**\n\n```\narma3_x64.exe -init=playMission[\"\",\"Test.VR\"]\n```"},{"heading":"<path>\\mission.sqm","level":4,"markdown":"Load a mission directly in the editor. Example: `\"C:\\arma3\\users\\myUser\\missions\\myMission.intro\\mission.sqm\"`"},{"heading":"autotest","level":4,"markdown":"Loads automatically a series of defined missions and on error writes to a log file.\n\nThe parameter can be used to automatically run a series of test missions. For example FPS measurement or scripting validation.\n\n- The game runs in special mode. It runs all missions from the given list.\n- If any mission fails (ends with other than END1), it is logged into the rpt file (search: <autotest).\n- In case of any fail, the game also returns an errorlevel to DOS. This can be used to issue an notification by a secondary application.\n\n**Launch Arma 3 with:** `\"-autotest=c:\\Arma 3\\autotest\\autotest.cfg\"`\n\nThe `autotest.cfg` looks like:\n\n```cpp\nclass TestMissions\n{\n    class TestCase01\n    {\n        campaign = \"\";\n        mission = \"autotest\\TestCase01.VR\"; // relative path to the arma directory\n    };\n    class TestCase02\n    {\n        campaign = \"\";\n        mission = \"C:\\arma3\\autotest\\TestCase02.VR\"; // absolute path\n    };\n};\n```\n\n> [!IMPORTANT]\n> If `-profiles` is used, the relative path is relative to the specified profile path.\n\n**Example**\n\n```\narma3_x64.exe -autotest=c:\\arma3\\autotest\\autotest.cfg\n```\n\n**RPT entry**\n\n```html\n<AutoTest result=\"FAILED\">\n    EndMode = LOSER\n    Mission = autotest\\TestCase01.VR\n</AutoTest>\n```\n\nIf possible use simple worlds, like VR, to keep the loading times short. The loading screen command might be useful as well to speed up task that need no rendering."},{"heading":"beta","level":4,"markdown":"Loads the specified beta sub-folders. This allows use of beta build w/o disabling in-game mod/extension management (in UI menu).\n\n- Separated by semicolons\n- Absolute path and multiple stacked folders are possible\n- **In Linux** multiple folders arguments need the following separation syntax: `arma3_x64.exe \"-mod=betamod1\\;betamod2\\;betamod3\"`"},{"heading":"cfgDependenciesDebugPrint (Arma 3 v2.20)","level":4,"markdown":"Prints all addons in load order in the RPT.\n\nFormat is `'addonName' (config file path) - 'dependency1', 'dependency2', ...` or `'addonName','addonName2','addonName3' (...)` if multiple `CfgPatches` in same config."},{"heading":"checkSignatures","level":4,"markdown":"Provide a thorough test of all signatures of all loaded banks (PBOs) at the start of the game. Only the stored sha1 values are verified with signatures/keys. Output is in `.rpt` file.\n\n**Example**\n\n```\narma3_x64.exe -checkSignatures\n```"},{"heading":"checkSignaturesFull","level":4,"markdown":"Same as above, but checks every byte of the file content, and therefore not only verifies signatures, but also verifies file integrity.\n\n**Example**\n\n```\narma3_x64.exe -checkSignaturesFull\n```"},{"heading":"d3dNoLock","level":4,"markdown":"Doesn't lock the VRAM.\n\n**Example**\n\n```\narma3_x64.exe -d3dNoLock\n```"},{"heading":"d3dNoMultiCB","level":4,"markdown":"D3D uses Single Constant Buffers instead of Multiple Constant Buffers.\n\n**Example**\n\n```\narma3_x64.exe -d3dNoMultiCB\n```"},{"heading":"debugCallExtension","level":4,"markdown":"Logs extension calls in the rpt log like this:\n\n**Example**\n\n```\narma3_x64.exe -debugCallExtension\n```"},{"heading":"command","level":4,"markdown":"Creates [named pipe](https://en.wikipedia.org/wiki/Named_pipe) \"\\\\.\\pipe\\name\" for receiving predefined set of commands. See Arma 3: Named Pipe.\nNote that it works only on clients, but not on dedicated server.\n\n**Example**\n\n```\narma3_x64.exe -command=MyFancyPipeName\n```"},{"heading":"language (Arma 3 v2.04)","level":4,"markdown":"Starts client with preferred language. See Stringtable.xml - Supported Languages for a list of supported languages. **Case-sensitive!** (className column)\n\n> [!NOTE]\n> Arma 3 v2.18 made the parameter work properly.\n\n**Example**\n\n```\narma3_x64.exe -language=German\n```"},{"heading":"preprocDefine (Arma 3 v2.06)","level":4,"markdown":"Defines a macro and optionally its value. Multiple macro can be defined by using this parameter multiple times.\n\n**Example 1**\n\n```\narma3_x64.exe -preprocDefine=\"CMD__MACRONAME=MACROVALUE\"\narma3_x64.exe -preprocDefine=CMD__MACRONAME\narma3_x64.exe -preprocDefine=CMD__MACRO1 -preprocDefine=CMD__MACRO2\n```\n\n**Example 2**\n\narma3_x64.exe -preprocDefine=MACRO\n\nThe macro name **will** start with `CMD__`, the engine automatically adds the prefix if it is not present (`CMD__MACRO`)."},{"heading":"dumpAddonDependencyGraph (Arma 3 v2.14)","level":4,"markdown":"dumps [Graphviz](https://en.wikipedia.org/wiki/Graphviz) text file into the RPT directory with a graph of all addon dependencies (`requiredAddons`)\n\n**Example**\n\n```\narma3_x64.exe -dumpAddonDependencyGraph\n```"},{"heading":"networkDiagInterval (Arma 3 v1.30 Arma 3 vPROF)","level":4,"markdown":"Polls the status of bandwidth, traffic and similar data every X seconds. Since Arma 3 v2.18 it also logs size and count of public variables when using the *Profiling binary*.\n\nTells you what type of packages are sent to which clients. Network types are obfuscated, so you can just make out who uses how much bandwidth.\n\n**Example**\n\n```\narma3_x64.exe -networkDiagInterval=5 // seconds between each diagnostics polling\n```\n\n> [!NOTE]\n> Release statement by BI: Willing server admins may help us gather even more data to base future optimizations on. We'd like admins experiencing desync or other netcode issues to try and enable these diagnostics and send us the results on Feedback Tracker. The parameter is disabled by default because it may reduce performance when used.\n\nFile content example for the server:\n\n```\n===============================================================================================================================================\nServer\n-----------------------------------------------------------------------------------------------------------------------------------------------\nRaw statistics 0\n                                             player |     sent msg |   sent msg/s |       sent B |     sent B/s |      rec msg |    rec msg/s |        rec B |      rec B/s |       DS min |       DS max |       DS avg |       BW min |       BW max |       BW avg |\n                                      __SERVER__(2) |            0 |         0.00 |            0 |         0.00 |            0 |       152.79 |            0 |     20819.12 |         0.00 |         0.00 |         0.00 | 2147483648.00 | 2147483648.00 | 2147483648.00 |\n                                    test(538428231) |            0 |        21.51 |            0 |      9555.18 |            0 |         0.40 |            0 |        19.72 |         0.00 |         0.00 |         0.00 |    329417.00 |    343000.00 |    336140.00 |\n                                              Total |            0 |        21.51 |            0 |      9555.18 |            0 |       153.19 |            0 |     20838.84 |         0.00 |         0.00 |         0.00 |\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Server - Sent\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_64                                  |          131 |     41.57 |         6876 |      2182.16 |   52.5\nType_468                                 |           13 |      4.13 |         4730 |      1501.11 |  363.8\nType_109                                 |           39 |     12.38 |         4412 |      1400.19 |  113.1\nType_10                                  |           81 |     25.71 |         4324 |      1372.26 |   53.4\nType_96                                  |           39 |     12.38 |         3947 |      1252.62 |  101.2\nType_126                                 |           31 |      9.84 |         2480 |       787.05 |   80.0\nType_53                                  |           26 |      8.25 |         2314 |       734.37 |   89.0\nType_385                                 |           10 |      3.17 |         2233 |       708.66 |  223.3\nType_114                                 |           40 |     12.69 |         2010 |       637.89 |   50.3\nType_98                                  |           35 |     11.11 |         1715 |       544.27 |   49.0\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Server - Received\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_18                                  |            3 |      0.20 |          156 |        10.76 |   52.0\nType_5                                   |            8 |      0.20 |           15 |         0.20 |    1.9\nType_468                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_467                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_466                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_449                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_427                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_404                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_385                                 |            0 |      0.00 |            0 |         0.00 |    0.0\nType_383                                 |            0 |      0.00 |            0 |         0.00 |    0.0\n-----------------------------------------------------------------------------------------------------------------------------------------------\n===============Vars total\n        1804 - bis_fnc_storeparamsvalues_data\n         554 - CBAs\n         357 - paramsArray\n          76 - cba_versioning_versions_serv\n          76 - cba_versioning_versions_server\n          70 - SPE_IFS_availableCalls\n          48 - SPE_IFS_DS_ProviderBlackList\n          36 - SPE_IFS_CAS_aimErrorSpread\n          22 - SPE_IFS_SafetyDistance_CAS\n          22 - SPE_IFS_SafetyDistance_HeavyArty\n===============Vars recent\n        1804 - bis_fnc_storeparamsvalues_data (1)\n         554 - CBAs (9)\n         357 - paramsArray (1)\n          76 - cba_versioning_versions_serv (1)\n          76 - cba_versioning_versions_server (1)\n          70 - SPE_IFS_availableCalls (1)\n          48 - SPE_IFS_DS_ProviderBlackList (1)\n          36 - SPE_IFS_CAS_aimErrorSpread (1)\n          22 - SPE_IFS_SafetyDistance_CAS (1)\n          22 - SPE_IFS_SafetyDistance_HeavyArty (1)\n```\n\nFile content example for a client:\n\n```\n===============================================================================================================================================\nClient\n-----------------------------------------------------------------------------------------------------------------------------------------------\nRaw statistics 152.563\n                                             player |     sent msg |   sent msg/s |       sent B |     sent B/s |      rec msg |    rec msg/s |        rec B |      rec B/s |       DS min |       DS max |       DS avg |       BW min |       BW max |       BW avg |\n                                              Total |            0 |         0.00 |            0 |         0.00 |            0 |         3.78 |            0 |       506.77 |         0.00 |         0.00 |         0.00 |\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Client - Sent\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_133                                 |        25529 |    212.95 |      2056925 |     17417.13 |   80.6\nType_120                                 |        11046 |     87.65 |       328091 |      2616.33 |   29.7\nType_119                                 |         4058 |     20.32 |       265924 |      1335.86 |   65.5\nType_126                                 |          750 |     11.55 |        61633 |       958.96 |   82.2\nType_132                                 |          882 |      4.18 |       109926 |       523.11 |  124.6\nType_466                                 |         3671 |     29.08 |        58422 |       464.54 |   15.9\nType_467                                 |         1542 |     12.95 |        35189 |       296.02 |   22.8\nType_98                                  |         1571 |      4.58 |        81492 |       238.05 |   51.9\nType_114                                 |          806 |      2.59 |        45686 |       151.99 |   56.7\nType_166                                 |          190 |      1.59 |        12364 |       116.53 |   65.1\n-----------------------------------------------------------------------------------------------------------------------------------------------\n Client - Received\nType                                     |          msg |     msg/s |            B |          B/s | avg. B\nType_381                                 |          247 |      1.00 |        17074 |        54.78 |   69.1\nType_383                                 |          244 |      1.00 |        14420 |        46.81 |   59.1\nType_126                                 |           17 |      0.40 |         1360 |        31.87 |   80.0\nType_133                                 |          104 |      0.20 |         7171 |        12.75 |   69.0\nType_98                                  |           37 |      0.20 |         1879 |        10.16 |   50.8\nType_120                                 |           15 |      0.20 |          435 |         5.78 |   29.0\nType_467                                 |           15 |      0.20 |          330 |         4.38 |   22.0\nType_333                                 |            9 |      0.20 |          153 |         3.39 |   17.0\nType_295                                 |            2 |      0.20 |           16 |         1.59 |    8.0\nType_92                                  |           49 |      0.20 |          363 |         1.39 |    7.4\n-----------------------------------------------------------------------------------------------------------------------------------------------\n===============Vars total\n===============Vars recent\n```"}],"categories":["Startup Parameters"],"groups":["Multiplayer and Server"]}