Startup Parameters – Arma 3
m (fixed/improved samples) |
(formatting tweaks and minor fixes) |
||
Line 1: | Line 1: | ||
{{TOC|side|0.8||y}} | {{TOC|side|0.8||y}} | ||
Startup parameters are command line interface(CLI) arguments that go after the executable's name in order to set options; e.g {{hl|arma3_x64.exe -window}} to start the game in {{Link|#window}}ed mode. | Startup parameters are command line interface(CLI) arguments that go after the executable's name in order to set options; e.g {{hl|arma3_x64.exe -window}} to start the game in {{Link|#window}}ed mode. | ||
{{Feature|informative| | {{Feature|informative| | ||
* Startup parameters' ''names'' are case-insensitive - e.g {{hl|-WINDOW}} and {{hl|-window}} are identical. | * Startup parameters' ''names'' are case-insensitive - e.g {{hl|-WINDOW}} and {{hl|-window}} are identical. | ||
Line 30: | Line 32: | ||
; Example | ; Example | ||
: {{hl|c= -nosplash "-mod=test;x\test;c:\arma 3\ | : {{hl|c= -nosplash "-mod=test;x\test;c:\arma 3\test2"}} | ||
Line 70: | Line 72: | ||
: {{hl|c= "-profiles=E:\Arma 3\Profiles"}} | : {{hl|c= "-profiles=E:\Arma 3\Profiles"}} | ||
The relative path is normally based on the game main folder, where the exe resides in. | The 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. | ||
However when you use -profiles, some commands use this path defined there as base. | |||
Line 100: | Line 101: | ||
Sets the default Video Adapter. | Sets the default Video Adapter. | ||
; Example | ; Example | ||
arma3_x64.exe -adapter=MISSING_AN_EXAMPLE | arma3_x64.exe -adapter=MISSING_AN_EXAMPLE | ||
Line 110: | Line 112: | ||
Tells the engine to bypass the splash screens on startup of {{arma3}}. | Tells the engine to bypass the splash screens on startup of {{arma3}}. | ||
{{Feature|informative|Real speed-up gained with this is likely to be negligible in {{arma3}}, 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.}} | {{Feature|informative| | ||
Real speed-up gained with this is likely to be negligible in {{arma3}}, 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. | |||
}} | |||
; Example | ; Example | ||
Line 119: | Line 123: | ||
Disables world intros in the main menu permanently. | Disables world intros in the main menu permanently. | ||
{{Feature|informative|Real speed-up gained with this is likely to be negligible in {{arma3}}, 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.}} | {{Feature|informative| | ||
Real speed-up gained with this is likely to be negligible in {{arma3}}, 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. | |||
}} | |||
; Example | ; Example | ||
Line 151: | Line 157: | ||
Location of user-profile folder. | Location of user-profile folder. | ||
If a custom path is set, default files and folders (logFiles, AnimDataCache, DataCache, SteamPreviewCache....) located by default in {{hl|%LocalAppData%/Arma 3}} will be created in that new location. | If a custom path is set, default files and folders (logFiles, AnimDataCache, DataCache, SteamPreviewCache....) located by default in {{hl|%LocalAppData%/Arma 3}} will be created in that new location. | ||
However, old files will stay in the old location and will not be copied. | However, old files will stay in the old location and will not be copied. | ||
Line 162: | Line 170: | ||
Example 2 create a folder called ''Profiles'' in the {{arma3}} root directory | Example 2 create a folder called ''Profiles'' in the {{arma3}} root directory | ||
{{Feature|important|The Windows user account needs write access in the chosen location.}} | {{Feature|important| | ||
The Windows user account needs write access in the chosen location. | |||
}} | |||
=== unit === | === unit === | ||
Line 215: | Line 225: | ||
; Example 2 | ; Example 2 | ||
On Windows | On Windows | ||
arma3_x64.exe -mod=test;x\test;c:\arma3\test2 | arma3_x64.exe "-mod=test;x\test;c:\arma3\test2" | ||
; Example 3 | ; Example 3 | ||
On Linux. Note the | On Linux. Note the additional backslash in front of the semicolon | ||
arma3_x64.exe -mod=test\;x\test\;c:\arma3\test2 | arma3_x64.exe "-mod=test\;x\test\;c:\arma3\test2" | ||
{{Feature|informative| | {{Feature|informative| | ||
Line 252: | Line 262: | ||
=== host === | === host === | ||
Start a non-dedicated multiplayer host. | Start a non-dedicated multiplayer host. | ||
Line 262: | Line 273: | ||
=== setUpHost === | === setUpHost === | ||
Start the game in the setup server display | Start the game in the setup server display. Works with the client exe. See [[:File:a3_startup_parameters_createhost.png|reference image]] | ||
; Example | ; Example | ||
Line 283: | Line 294: | ||
=== pid === | === pid === | ||
File to write the server's PID (process ID) to. The file is removed automatically when the exe is stopped | File to write the server's PID (process ID) to. | ||
* The file is removed automatically when the exe is stopped | |||
* Only works for dedicated servers | |||
; Example | ; Example | ||
Line 323: | Line 337: | ||
Selects the [[basic.cfg|Server Basic Config file]]. Config file for server specific settings like network performance tuning. | Selects the [[basic.cfg|Server Basic Config file]]. Config file for server specific settings like network performance tuning. | ||
{{Feature|important|Using this parameter overrides the game config ({{hl|Documents\Arma 3\Arma3.cfg}}); use at your own risk on clients.}} | |||
{{Feature|important| | |||
Using this parameter overrides the game config ({{hl|Documents\Arma 3\Arma3.cfg}}); use at your own risk on clients. | |||
}} | |||
; Example | ; Example | ||
Line 337: | Line 354: | ||
=== profiles === | === profiles === | ||
Path to the folder containing server profile. By default, server logs are written to server profile folder | Path to the folder containing server profile. | ||
Does not work on Linux, no profile will be created or used | |||
* By default, server logs are written to server profile folder | |||
* If folder doesn't exist, it will be automatically created | |||
* Does not work on Linux, no profile will be created or used - instead, remove this parameter and the profile will be created in {{hl|~/.local/share/Arma 3 - Other Profiles}} | |||
; Example | ; Example | ||
Line 381: | Line 401: | ||
Automatically initialize mission just like the first client does. | Automatically initialize mission just like the first client does. | ||
The server config file (server.cfg) must contain <syntaxhighlight lang="cpp" inline>Persistent = 1;</syntaxhighlight> otherwise the {{hl|autoInit}} parameter is skipped. | The server config file (server.cfg) must contain <syntaxhighlight lang="cpp" inline>Persistent = 1;</syntaxhighlight> otherwise the {{hl|autoInit}} parameter is skipped. | ||
{{Feature|important|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!}} | |||
{{Feature|important| | |||
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! | |||
}} | |||
; Example | ; Example | ||
Line 389: | Line 413: | ||
=== serverMod === | === serverMod === | ||
Loads the specified sub-folders for different server-side (not broadcasted to clients) mods. Separated by semi-colons | Loads the specified sub-folders for different server-side (not broadcasted to clients) mods. | ||
In Linux multiple folders arguments need the following separation syntax: - | |||
* Separated by semi-colons | |||
* Absolute path and multiple stacked folders are possible | |||
* In Linux multiple folders arguments need the following separation syntax: -serverMod=mod1\;mod2\;mod3 | |||
; Example | ; Example | ||
Line 410: | Line 437: | ||
{{ArgTitle|3|limitFPS|{{GVI|arma3|1.98}}}} | {{ArgTitle|3|limitFPS|{{GVI|arma3|1.98}}}} | ||
Limits the server FPS to the provided value in 5..1000 FPS range (default 50). | Limits the server FPS to the provided value in 5..1000 FPS range (default 50). | ||
Line 421: | Line 449: | ||
; Example | ; Example | ||
arma3_x64.exe networkDiagInterval=10 | arma3_x64.exe networkDiagInterval=10 | ||
== Performance == | == Performance == | ||
Line 432: | Line 461: | ||
in order to avoid this issue, use values like {{hl|2047}}, {{hl|4095}}, {{hl|8191}}, {{hl|16383}}, {{hl|32767}} (2048 -1, 4096 -1 etc). | in order to avoid this issue, use values like {{hl|2047}}, {{hl|4095}}, {{hl|8191}}, {{hl|16383}}, {{hl|32767}} (2048 -1, 4096 -1 etc). | ||
}} | }} | ||
1024 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): | 1024 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): | ||
* 32-bit Windows + 32-bit game: 2047 | * 32-bit Windows + 32-bit game: 2047 | ||
* 64-bit Windows + 32-bit game: 3071 | * 64-bit Windows + 32-bit game: 3071 | ||
* 64-bit Windows + 64-bit game: (physical memory * 4) / 5 | * 64-bit Windows + 64-bit game: (physical memory * 4) / 5 | ||
'''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. | '''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. | ||
{{Feature|informative|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.'''}} | {{Feature|informative| | ||
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.''' | |||
}} | |||
; Example | ; Example | ||
Line 445: | Line 478: | ||
=== maxVRAM === | === maxVRAM === | ||
Defines video memory allocation limit to number (in megabytes). | Defines video memory allocation limit to number (in megabytes). | ||
* Minimum value is 128 MiB (anything lower falls back to 128) | |||
* The value is ignored (under DX11) if engine properly detected VRAM size, minus 20% reserve with ceiling limit 300MB max | |||
* Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1 | |||
; Example | ; Example | ||
Line 453: | Line 490: | ||
{{GVI|arma3|2.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). | {{GVI|arma3|2.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). | ||
{{Feature|informative| | {{Feature|informative| | ||
* Default size was either {{hl|maxMemory - 448 MB}} or if you had more than 2 GB of memory available to {{arma3}}, it would be limited to max 2048 MB. | * Default size was either {{hl|maxMemory - 448 MB}} or if you had more than 2 GB of memory available to {{arma3}}, it would be limited to max 2048 MB. | ||
Line 472: | Line 510: | ||
Change to a number less or equal than numbers of available cores. This will override auto detection (which equate to native cores). | Change to a number less or equal than numbers of available cores. This will override auto detection (which equate to native cores). | ||
The 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. It might be also possible to set the affinity in the OS before you launch the process, that would work as well. | The 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. It might be also possible to set the affinity in the OS before you launch the process, that would work as well. | ||
Line 480: | Line 519: | ||
Change to a number 0,1,3,5,7. This will override auto detection (which use 3 for dualcore and 7 for quadcore). | Change to a number 0,1,3,5,7. This will override auto detection (which use 3 for dualcore and 7 for quadcore). | ||
All file operations go through a dedicated thread. This offloads some processing from the main thread, however it adds some overhead at the same time. | All file operations go through a dedicated thread. This offloads some processing from the main thread, however it adds some overhead at the same time. | ||
The 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. | The 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. | ||
Geometry 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. | Geometry 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. | ||
Line 587: | Line 628: | ||
Be aware this means none errors saved to RPT file (report log). Yet in case of crash the fault address block info is saved. | Be aware this means none errors saved to RPT file (report log). Yet in case of crash the fault address block info is saved. | ||
More details {{Link|http://forums.bistudio.com/showthread.php?159155-quot-nologs-quot-may-improve-performance-no-stuttering-read-details|here}}. | More details {{Link|http://forums.bistudio.com/showthread.php?159155-quot-nologs-quot-may-improve-performance-no-stuttering-read-details|here}}. | ||
; Example | ; Example | ||
arma3_x64.exe -noLogs | arma3_x64.exe -noLogs | ||
=== noFilePatching === | |||
Ensures that only PBOs are loaded and NO unpacked data. | |||
{{Feature|informative| | |||
Since {{GVI|arma3|1.50}} this was replaced in favor of the {{hl|-filePatching}} parameter. | |||
}} | |||
; Example | |||
arma3_x64.exe -noFilePatching | |||
{{ArgTitle|3|filePatching|{{GVI|arma3|1.50}}}} | {{ArgTitle|3|filePatching|{{GVI|arma3|1.50}}}} | ||
Allows the game to load unpacked data. For more info see [[CMA:DevelopmentSetup]] | Allows the game to load unpacked data. For more info see [[CMA:DevelopmentSetup]] | ||
Line 682: | Line 736: | ||
; Example | ; Example | ||
arma3_x64.exe -d3dNoMultiCB | arma3_x64.exe -d3dNoMultiCB | ||
<!-- | <!-- | ||
=== crashDiag === | === crashDiag === | ||
Line 690: | Line 745: | ||
arma3_x64.exe -crashDiag | arma3_x64.exe -crashDiag | ||
--> | --> | ||
=== debugCallExtension === | === debugCallExtension === |
Revision as of 17:15, 20 October 2024
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.
Steam
- Choose the game in Steam\Library
- Right click on the game
- Select properties
- Hit "Set launch options"
- Example
- -nosplash "-mod=test;x
\test;c: \arma 3 \test2"
Windows
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.
Startup Command Line | parameters file |
---|---|
arma3_x64.exe "-par=D:\Arma 3\Startup Parameters.txt" |
-skipIntro -noSplash -enableHT -hugePages -noLogs |
Path Definition
There are a few basics to keep in mind when defining path as part of a parameter.
Spaces
The path and -profiles need to be enclosed with quotes if it contains spaces, e.g "-profiles=E:
Relative vs Absolute
You can define most, if not all path in both ways.
- Relative
- -profiles=Profiles
- Absolute
- "-profiles=E:
\Arma 3 \Profiles"
The 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.
Display Options
window
Displays Arma 3 windowed instead of full screen. Screen resolution / window size are set in arma3.cfg.
- Example
arma3_x64.exe -window
posX
Sets the default X Position of the Window.
- Example
arma3_x64.exe -posX=50
posY
Sets the default Y Position of the Window.
- Example
arma3_x64.exe -posY=50
adapter
Sets the default Video Adapter.
- Example
arma3_x64.exe -adapter=MISSING_AN_EXAMPLE
Game Loading Speedup
noSplash
Tells the engine to bypass the splash screens on startup of Arma 3.
- Example
arma3_x64.exe -noSplash
skipIntro
Disables world intros in the main menu permanently.
- Example
arma3_x64.exe -skipIntro
world
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.
- Example
For faster game loading (no default world loaded and world intro in the main menu, only at game start, disabled)
arma3_x64.exe -world=empty
Load Altis
arma3_x64.exe -world=Altis
worldCfg
Inits a landscape by the given world config.
Profile Options
name
Sets the profile name.
- Example
arma3_x64.exe -name=PlayerOne
profiles
Location of user-profile folder.
If a custom path is set, default files and folders (logFiles, AnimDataCache, DataCache, SteamPreviewCache....) located by default in %LocalAppData%
However, old files will stay in the old location and will not be copied.
- Example 1
arma3_x64.exe -profiles=C:\arma3\Profiles
- Example 2
arma3_x64.exe -profiles=Profiles
Example 2 create a folder called Profiles in the Arma 3 root directory
unit
Parameter passes a unit's ID number to the binary, translates to https://units.arma3.com/my-units#?unit=<number>
- Example
arma3_x64.exe -unit=1337
Misc.
buldozer
Starts Buldozer mode.
- Example
arma3_x64.exe -buldozer
noLand
Starts with no world loaded. (Used for Buldozer)
- Example
arma3_x64.exe -noLand
noSound
Disables sound output.
- Example
arma3_x64.exe -noSound
doNothing
Engine closes immediately after detecting this option.
- Example
arma3_x64.exe -doNothing
mod
Loads the specified mod folders. Multiple folder need to be separated by a semicolon.
- Example 1
arma3_x64.exe -mod=test;x\test;c:\arma3\test2
- "test" is located in the Arma 3 installation folder ("Arma 3\test") (relative path)
- "x\test" is in the installation folder ("Arma 3\x\test") (relative path; subfolder)
- "c:\arma3\test2" is in "c:\arma3\test2" (absolute path)
- Example 2
On Windows
arma3_x64.exe "-mod=test;x\test;c:\arma3\test2"
- Example 3
On Linux. Note the additional backslash in front of the semicolon
arma3_x64.exe "-mod=test\;x\test\;c:\arma3\test2"
Client Network Options
connect
Server IP to connect to.
- Example
arma3_x64.exe -connect=168.152.15.147
port
Server port to connect to.
- Example
arma3_x64.exe -port=1337
password
Server password to connect to.
- Example
arma3_x64.exe -password=1337abc
host
Start a non-dedicated multiplayer host.
- Example
arma3_x64.exe -host
Server Options
setUpHost
Start the game in the setup server display. Works with the client exe. See reference image
- Example
arma3_x64.exe -setUpHost
server
Start a dedicated server. Not needed for the dedicated server exe.
- Example
arma3_x64.exe -server
port
Port to have dedicated server listen on.
- Example
arma3server_x64.exe -port=1337
pid
File to write the server's PID (process ID) to.
- The file is removed automatically when the exe is stopped
- Only works for dedicated servers
- Example
arma3server_x64.exe "-pid=C:\My Server\PID.txt"
ranking
Allowing you to output ranking information or otherwise know as player stats to a file.
The windows user account would need permissions to write to the folder of choice.
Output sample:
class Player1
{
name = "PlayerName";
killsInfantry = 71;
killsSoft = 3;
killsArmor = 5;
killsAir = 5;
killsPlayers = 0;
customScore = 0;
killsTotal = 84;
killed = 3;
};
- Example
arma3server_x64.exe "-ranking=C:\arma3\ranking.log"
netlog
Enables multiplayer network traffic logging. For more details see server configuration.
- Example
arma3server_x64.exe -netlog
cfg
Selects the Server Basic Config file. Config file for server specific settings like network performance tuning.
- Example
arma3server_x64.exe "-config=C:\My Server\basic.cfg"
config
Selects the Server Config File. Config file for server specific settings like admin password and mission selection.
- Example
arma3server_x64.exe "-config=C:\My Server\config.cfg"
profiles
Path to the folder containing server profile.
- By default, server logs are written to server profile folder
- If folder doesn't exist, it will be automatically created
- 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
- Example
arma3server_x64.exe "-profiles=C:\My Server\profiles"
bePath
By default BattlEye will create BattlEye folder inside server profile folder. With -bePath param it is possible to specify a custom folder.
- Example
arma3_x64.exe -bePath=C:\MyBattlEyeFolder
ip
Command to enable support for Multihome servers. Allows server process to use defined available IP address. (b1.57.76934)
- Example
arma3_x64.exe -ip=145.412.123.12
par
Command to read startup parameters from a file. For more details see Startup parameters config file.
- Example
arma3_x64.exe "-par=C:\Users\Player\Games\Arma 3\Arma 3 Parameter Files\par_common.txt"
client
Launch as client (console). Useful for headless clients.
- Example
arma3_x64.exe -client
loadMissionToMemory
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.
- Example
arma3server_x64.exe -loadMissionToMemory
autoInit
Automatically initialize mission just like the first client does.
The server config file (server.cfg) must contain Persistent = 1;
otherwise the autoInit parameter is skipped.
- Example
arma3server_x64.exe -autoInit
serverMod
Loads the specified sub-folders for different server-side (not broadcasted to clients) mods.
- Separated by semi-colons
- Absolute path and multiple stacked folders are possible
- In Linux multiple folders arguments need the following separation syntax: -serverMod=mod1\;mod2\;mod3
- Example
arma3server_x64.exe "-serverMod=myAwesomeMod;anotherAwesomeMod"
disableServerThread
Option to disable the server send messaging thread in case of random crashing (may also decrease performance of server on multicore CPUs)
- Example
arma3_x64.exe -disableServerThread
bandwidthAlg
Set to 2 to use a new experimental networking algorithm that might be better than the default one.
- Example
arma3_x64.exe -bandwidthAlg=2
limitFPS
Limits the server FPS to the provided value in 5..1000 FPS range (default 50).
- Example
arma3_x64.exe -limitFPS=300
networkDiagInterval
Polls the status of bandwidth, traffic and similar data every X seconds. Since 2.18 is also logs size and count of public variables when using the Profiling binary.
- Example
arma3_x64.exe networkDiagInterval=10
Performance
maxMem
Overrides memory allocation limit to a certain amount (in megabytes).
1024 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):
- 32-bit Windows + 32-bit game: 2047
- 64-bit Windows + 32-bit game: 3071
- 64-bit Windows + 64-bit game: (physical memory * 4) / 5
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.
- Example
arma3_x64.exe -maxMem=4096
maxVRAM
Defines video memory allocation limit to number (in megabytes).
- Minimum value is 128 MiB (anything lower falls back to 128)
- The value is ignored (under DX11) if engine properly detected VRAM size, minus 20% reserve with ceiling limit 300MB max
- Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1
- Example
arma3_x64.exe -maxVRAM=4096
maxFileCacheSize
2.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).
- Example
arma3_x64.exe -maxFileCacheSize=2048
noCB
Turns off multicore use. It slows down rendering but may resolve visual glitches.
- Example
arma3_x64.exe -noCB
CPUCount
Change to a number less or equal than numbers of available cores. This will override auto detection (which equate to native cores).
The 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. It might be also possible to set the affinity in the OS before you launch the process, that would work as well.
- Example
arma3_x64.exe -exThreads=8
exThreads
Change to a number 0,1,3,5,7. This will override auto detection (which use 3 for dualcore and 7 for quadcore).
All file operations go through a dedicated thread. This offloads some processing from the main thread, however it adds some overhead at the same time.
The 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. Geometry 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.
Parameter | Description | ||
---|---|---|---|
Number | Geometry loading | Texture loading | File operations |
0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
3 | 0 | 1 | 1 |
5 | 1 | 0 | 1 |
7 | 1 | 1 | 1 |
- Example
arma3_x64.exe -exThreads=7
malloc
Sets the particular memory allocator to be used. Significantly affects both performance and stability of the game. More details.
- Example
arma3_x64.exe -malloc=someMalloc
hugePages
Enables hugepages with the default memory allocator (malloc) for both client and server.
- Example
arma3_x64.exe -hugePages
enableHT
Enables the use of all logical CPU cores for parallel tasks processing. If your CPU does not support Hyper-Threading or similar technology, this parameter is ignored. When disabled, only physical cores are used.
- Example
arma3_x64.exe -enableHT
setThreadCharacteristics
Registers the game's executable as "Game" in Windows for performance improvements.
- Example
arma3_x64.exe -setThreadCharacteristics
Developer Options
noPause
Allow the game running even when its window does not have focus (i.e. running in the background)
- Example
arma3_x64.exe -noPause
noPauseAudio
Keeps audio running in background while tabbed out. Should be used together with -noPause to work correctly
- Example
arma3_x64.exe -noPauseAudio
showScriptErrors
Introduced to show errors in scripts on-screen. In Eden Editor, script errors are always shown, even when this parameter is not used.
- Example
arma3_x64.exe -showScriptErrors
debug
Enables more verbose error logging. See Arma 3: Debug Mode
- Example
arma3_x64.exe -debug
noFreezeCheck
Disables the freeze check. It creates otherwise max 4 dumps per game run in total - 2 per distinct freeze. Similar to Crash Files.
- Example
arma3_x64.exe -noFreezeCheck
noLogs
Be aware this means none errors saved to RPT file (report log). Yet in case of crash the fault address block info is saved.
More details here.
- Example
arma3_x64.exe -noLogs
noFilePatching
Ensures that only PBOs are loaded and NO unpacked data.
- Example
arma3_x64.exe -noFilePatching
filePatching
Allows the game to load unpacked data. For more info see CMA:DevelopmentSetup
- Example
arma3_x64.exe -filePatching
init
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.
- Example
arma3_x64.exe -init=playMission["","M04Saboteur.Sara"]
<path>\mission.sqm
Load a mission directly in the editor. Example: "C:
autotest
Loads automatically a series of defined missions and on error writes to a log file.
The parameter can be used to automatically run a series of test missions. For example FPS measurement or scripting validation.
- The game runs in special mode. It runs all missions from the given list.
- If any mission fails (ends with other than END1), it is logged into the rpt file (search: <autotest).
- 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.
- Launch Arma 3 with
- "-autotest=c:
\Arma 3 \autotest \autotest.cfg"
The autotest.cfg looks like:
class TestMissions
{
class TestCase01
{
campaign = "";
mission = "autotest\TestCase01.Desert_E"; // relative path to the arma directory
};
class TestCase02
{
campaign = "";
mission = "C:\arma3\autotest\TestCase02.Desert_E"; // absolute path
};
};
- Example
arma3_x64.exe -autotest=c:\arma3\autotest\autotest.cfg
- RPT entry
<AutoTest result="FAILED">
EndMode = LOSER
Mission = autotest\TestCase01.Desert_E
</AutoTest>
If possible use simple worlds, like Desert, to keep the loading times short. The loading screen command might be useful as well to speed up task that need no rendering.
beta
Loads the specified beta sub-folders. Separated by semicolons. Absolute path and multiple stacked folders are possible. In Linux multiple folders arguments need the following separation syntax:
- Example
arma3_x64.exe -mod=betamod1\;betamod2\;betamod3
This allows use of beta build w/o disabling in-game mod/extension management (in UI menu).
checkSignatures
Provide a thorough test of all signatures of all loaded banks at the start game. Output is in .rpt file.
- Example
arma3_x64.exe -checkSignatures
d3dNoLock
Doesn't lock the VRAM.
- Example
arma3_x64.exe -d3dNoLock
d3dNoMultiCB
D3D uses Single Constant Buffers instead of Multiple Constant Buffers.
- Example
arma3_x64.exe -d3dNoMultiCB
debugCallExtension
Logs extension calls in the rpt log like this:
- Example
arma3_x64.exe -debugCallExtension
command
Creates named pipe "\\.\pipe\name" for receiving predefined set of commands. See Arma 3: Named Pipe.
- Example
arma3_x64.exe -command=MyFancyPipeName
language
Starts client with preferred language. See Stringtable.xml - Supported Languages for a list of supported languages. Case-sensitive! (className column)
- Example
arma3_x64.exe -language=German
preprocDefine
Defines a macro and optionally its value. Multiple macro can be defined by using this parameter multiple times.
- Example 1
arma3_x64.exe -preprocDefine="CMD__MACRONAME=MACROVALUE" arma3_x64.exe -preprocDefine=CMD__MACRONAME arma3_x64.exe -preprocDefine=CMD__MACRO1 -preprocDefine=CMD__MACRO2
- Example 2
arma3_x64.exe -preprocDefine=MACRO
The macro name will start with CMD__, the engine automatically adds the prefix if it is not present (CMD__MACRO).
dumpAddonDependencyGraph
dumps Graphviz text file into the RPT directory with a graph of all addon dependencies (requiredAddons)
- Example
arma3_x64.exe -dumpAddonDependencyGraph