R3vo/Sandbox1 – User

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
Line 3: Line 3:
{{Feature|informative|Most of the following parameters can be set with the [[Arma 3: Launcher]].}}
{{Feature|informative|Most of the following parameters can be set with the [[Arma 3: Launcher]].}}


== Steam ==
= Steam =


# Choose the game in Steam\Library
# Choose the game in Steam\Library
Line 12: Line 12:
; Example: {{hl|c= -nosplash -mod=test;x\test;c:\arma3\test2}}
; Example: {{hl|c= -nosplash -mod=test;x\test;c:\arma3\test2}}


== Windows ==
= 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.
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.
Line 30: Line 30:
|}
|}


== Path Definition ==
= Path Definition =
There are a few basics to keep in mind when defining path as part of a parameter.
There are a few basics to keep in mind when defining path as part of a parameter.


=== Spaces ===
== Spaces ==
The path '''and''' -profiles need to be enclosed with quotes if it contains spaces, e.g {{hl|c= "-profiles=c:\arma 3\profiles"}}.
The path '''and''' -profiles need to be enclosed with quotes if it contains spaces, e.g {{hl|c= "-profiles=c:\arma 3\profiles"}}.


=== Relative vs Absolute ===
== Relative vs Absolute ==
You can define most, if not all path in both ways.
You can define most, if not all path in both ways.


Line 48: Line 48:
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.


=== Display Options ===
= Display Options =


==== -window ====
== -window ==
Displays {{arma3}} windowed instead of full screen. Screen resolution / window size are set in [[arma3.cfg]].
Displays {{arma3}} windowed instead of full screen. Screen resolution / window size are set in [[arma3.cfg]].


Line 56: Line 56:
  arma3.exe -window
  arma3.exe -window


==== -posX ====
== -posX ==
Sets the default X Position of the Window.
Sets the default X Position of the Window.


Line 62: Line 62:
  arma3.exe -posX=50
  arma3.exe -posX=50


==== -posY ====
== -posY ==
Sets the default Y Position of the Window.
Sets the default Y Position of the Window.


Line 68: Line 68:
  arma3.exe -posY=50
  arma3.exe -posY=50


==== -adapter ====
== -adapter ==
Sets the default Video Adapter.
Sets the default Video Adapter.
; Example
; Example
  arma3.exe -adapter=MISSING_AN_EXAMPLE
  arma3.exe -adapter=MISSING_AN_EXAMPLE


=== Game Loading Speedup ===
= Game Loading Speedup =


==== -noSplash ====
== -noSplash ==
  -noSplash is a startup option that allows you to bypass the splash screens on startup of {{arma3}}.
  -noSplash is a startup option that allows you to bypass the splash screens on startup of {{arma3}}.


Line 83: Line 83:
  arma3.exe -noSplash
  arma3.exe -noSplash


==== -skipIntro ====
== -skipIntro ==
Disables world intros in the main menu permanently.
Disables world intros in the main menu permanently.


Line 91: Line 91:
  arma3.exe -skipIntro
  arma3.exe -skipIntro


==== -world ====
== -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.
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.


Line 100: Line 100:
  arma3.exe -world=Altis
  arma3.exe -world=Altis


==== -worldCfg ====
== -worldCfg ==
Inits a landscape by the given world config.
Inits a landscape by the given world config.


=== Profile Options ===
= Profile Options =


==== -name ====
== -name ==
Sets the profile name.
Sets the profile name.


Line 111: Line 111:
  arma3.exe -name=PlayerOne
  arma3.exe -name=PlayerOne


==== -profiles ====
== -profiles ==
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. However, old files will stay in the old location and will not be copied.
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. However, old files will stay in the old location and will not be copied.


Line 123: Line 123:
would store all your profiles/configs/downloaded content into your ROOT {{arma3}} folder under the folder name "Profiles"
would store all your profiles/configs/downloaded content into your ROOT {{arma3}} folder under the folder name "Profiles"


==== -unit ====
== -unit ==
Parameter passes a unit's ID number to the binary, translates to ''<nowiki>https://units.arma3.com/my-units#?unit=<number></nowiki>''
Parameter passes a unit's ID number to the binary, translates to ''<nowiki>https://units.arma3.com/my-units#?unit=<number></nowiki>''


Line 129: Line 129:
  arma3.exe -unit=1337
  arma3.exe -unit=1337


=== Misc. ===
= Misc. =


==== -buldozer ====
== -buldozer ==
Starts [[Buldozer]] mode.
Starts [[Buldozer]] mode.


Line 137: Line 137:
  arma3.exe -buldozer
  arma3.exe -buldozer


==== -noLand ====
== -noLand ====
Starts with no world loaded. (Used for [[Buldozer]])
Starts with no world loaded. (Used for [[Buldozer]])


Line 143: Line 143:
  arma3.exe -noLand
  arma3.exe -noLand


==== -noSound ====
== -noSound ==
Disables sound output.
Disables sound output.


Line 149: Line 149:
  arma3.exe -noSound
  arma3.exe -noSound


==== -doNothing ====
== -doNothing ==
Engine closes immediately after detecting this option.
Engine closes immediately after detecting this option.


Line 155: Line 155:
  arma3.exe -doNothing
  arma3.exe -doNothing


==== [[Arma: Mod Folders|-mod]] ====
== [[Arma: Mod Folders|-mod]] ==
Loads the specified sub-folders for different mods. Separated by semi-colons. Absolute path and multiple stacked folders are possible. '''In Linux''' multiple folders arguments need the following separation syntax:
Loads the specified sub-folders for different mods. Separated by semi-colons. Absolute path and multiple stacked folders are possible. '''In Linux''' multiple folders arguments need the following separation syntax:
  -mod=mod1\;mod2\;mod3
  -mod=mod1\;mod2\;mod3
Line 170: Line 170:
It is useful when having multiple dedicated servers.
It is useful when having multiple dedicated servers.


=== Client Network Options ===
= Client Network Options =


==== -connect ====
== -connect ==
Server IP to connect to.
Server IP to connect to.


Line 178: Line 178:
  arma3.exe -connect=168.152.15.147
  arma3.exe -connect=168.152.15.147


==== -port ====
== -port ==
Server port to connect to.
Server port to connect to.


Line 184: Line 184:
  arma3.exe -port=1337
  arma3.exe -port=1337


==== -password ====
== -password ==
Server password to connect to.
Server password to connect to.


Line 190: Line 190:
  arma3.exe -password=1337abc
  arma3.exe -password=1337abc


==== -host ====
== -host ==
Start a non-dedicated multiplayer host.
Start a non-dedicated multiplayer host.


Line 196: Line 196:
  arma3.exe -host
  arma3.exe -host


=== Server Options ===
= Server Options =


==== -setUpHost ====
== -setUpHost ==
Start the game in the setup server display, works with the client exe. See [[:File:a3_startup_parameters_createhost.png|reference image]]
Start the game in the setup server display, works with the client exe. See [[:File:a3_startup_parameters_createhost.png|reference image]]


Line 204: Line 204:
  arma3.exe -setUpHost
  arma3.exe -setUpHost


==== -server ====
== -server ==
Start a [[Arma 3: Dedicated Server|dedicated server]]. Not needed for the dedicated server exe.
Start a [[Arma 3: Dedicated Server|dedicated server]]. Not needed for the dedicated server exe.


Line 210: Line 210:
  arma3.exe -server
  arma3.exe -server


==== -port ====
== -port ==
Port to have dedicated server listen on.
Port to have dedicated server listen on.


Line 216: Line 216:
  arma3.exe -port=1337
  arma3.exe -port=1337


==== -pid ====
== -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.
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.


Line 222: Line 222:
  arma3.exe -pid=C:\MyServer\PID.txt
  arma3.exe -pid=C:\MyServer\PID.txt


==== -ranking ====
== -ranking ==
Allowing you to output ranking information or otherwise know as player stats to a file.
Allowing you to output ranking information or otherwise know as player stats to a file.


Line 246: Line 246:
  arma3.exe -ranking=C:\arma3\ranking.log
  arma3.exe -ranking=C:\arma3\ranking.log


==== -netlog ====
== -netlog ==
Enables multiplayer network traffic logging. For more details see [[ArmA:_Server_configuration|server configuration]].
Enables multiplayer network traffic logging. For more details see [[ArmA:_Server_configuration|server configuration]].


Line 252: Line 252:
  arma3.exe -netlog
  arma3.exe -netlog


==== -cfg ====
== -cfg ==
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.}}
Line 259: Line 259:
  arma3.exe -config=C:\MyServer\basic.cfg
  arma3.exe -config=C:\MyServer\basic.cfg


==== -config ====
== -config ==
Selects the [[Arma 3: Server Config File|Server Config File]]. Config file for server specific settings like admin password and mission selection.
Selects the [[Arma 3: Server Config File|Server Config File]]. Config file for server specific settings like admin password and mission selection.


Line 265: Line 265:
  arma3.exe -config=C:\MyServer\config.cfg
  arma3.exe -config=C:\MyServer\config.cfg


==== -profiles ====
== -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.
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 {{hl|~/.local/share/Arma 3 - Other Profiles}}
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}}
Line 272: Line 272:
  arma3.exe -profiles=C:\MyServer\profiles
  arma3.exe -profiles=C:\MyServer\profiles


==== -bePath ====
== -bePath ==
By default BattlEye will create ''BattlEye'' folder inside server profile folder. With -bePath param it is possible to specify a custom folder.
By default BattlEye will create ''BattlEye'' folder inside server profile folder. With -bePath param it is possible to specify a custom folder.


Line 279: Line 279:
  arma3.exe -bePath=C:\MyBattlEyeFolder
  arma3.exe -bePath=C:\MyBattlEyeFolder


==== -ip ====
== -ip ==
Command to enable support for Multihome servers. Allows server process to use defined available IP address. (b1.57.76934)
Command to enable support for Multihome servers. Allows server process to use defined available IP address. (b1.57.76934)


Line 285: Line 285:
  arma3.exe -ip=145.412.123.12
  arma3.exe -ip=145.412.123.12


==== -par ====
== -par ==
Command to read startup parameters from a file. For more details see [[Startup_Parameters_Config_File|Startup parameters config file]].
Command to read startup parameters from a file. For more details see [[Startup_Parameters_Config_File|Startup parameters config file]].


Line 291: Line 291:
  arma3.exe -par="C:\Users\Player\Games\Arma 3\Arma 3 Parameter Files\par_common.txt"
  arma3.exe -par="C:\Users\Player\Games\Arma 3\Arma 3 Parameter Files\par_common.txt"


==== -client ====
=== -client ==
Launch as client (console). Useful for [[Arma 3: Headless Client|headless clients]].
Launch as client (console). Useful for [[Arma 3: Headless Client|headless clients]].


Line 297: Line 297:
  arma3.exe -client
  arma3.exe -client


==== -loadMissionToMemory ====
== -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.
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.


Line 303: Line 303:
  arma3.exe -loadMissionToMemory
  arma3.exe -loadMissionToMemory


==== -autoInit ====
== -autoInit ==
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 "Persistent=1;", otherwise autoInit parameter is skipped.
The server config file (server.cfg) must contain "Persistent=1;", otherwise autoInit parameter is skipped.
Line 311: Line 311:
  arma3.exe -autoInit
  arma3.exe -autoInit


==== -serverMod ====
== -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.
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: -mod=mod1\;mod2\;mod3.
In Linux multiple folders arguments need the following separation syntax: -mod=mod1\;mod2\;mod3.
Line 318: Line 318:
  arma3.exe -serverMod=myAwesomeMod;anotherAwesomeMod;
  arma3.exe -serverMod=myAwesomeMod;anotherAwesomeMod;


==== -disableServerThread ====
== -disableServerThread ==
Option to disable the server send messaging thread in case of random crashing (may also decrease performance of server on multicore CPUs)
Option to disable the server send messaging thread in case of random crashing (may also decrease performance of server on multicore CPUs)


Line 324: Line 324:
  arma3.exe -disableServerThread
  arma3.exe -disableServerThread


==== -bandwidthAlg ====
== -bandwidthAlg ==
Set to 2 to use a new experimental networking algorithm that might be better than the default one.
Set to 2 to use a new experimental networking algorithm that might be better than the default one.


Line 330: Line 330:
  arma3.exe -bandwidthAlg=2
  arma3.exe -bandwidthAlg=2


==== -limitFPS ====
== -limitFPS ==
{{GVI|arma3|1.98}} Limites the server FPS to given integer between 5-1000 FPS (default 50).
{{GVI|arma3|1.98}} Limites the server FPS to given integer between 5-1000 FPS (default 50).


Line 336: Line 336:
  arma3.exe -limitFPS=300
  arma3.exe -limitFPS=300


==== -networkDiagInterval ====
== -networkDiagInterval ==
{{GVI|arma3|1.30}} Polls the status of bandwidth, traffic and similar data every X seconds. Since {{GVI|arma3|2.18}} is also logs size and count of [[publicVariable|public variables]] when using the ''Profiling binary''.
{{GVI|arma3|1.30}} Polls the status of bandwidth, traffic and similar data every X seconds. Since {{GVI|arma3|2.18}} is also logs size and count of [[publicVariable|public variables]] when using the ''Profiling binary''.


Line 342: Line 342:
  arma3.exe networkDiagInterval=10
  arma3.exe networkDiagInterval=10


=== Performance ===
= Performance ==


==== -maxMem ====
== -maxMem ==
Overrides memory allocation limit to a certain amount (in megabytes).
Overrides memory allocation limit to a certain amount (in megabytes).


Line 362: Line 362:
  arma3.exe -maxMem=4096
  arma3.exe -maxMem=4096


==== -maxVRAM ====
== -maxVRAM ==
Defines video memory allocation limit to number (in megabytes). Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1. 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.
Defines video memory allocation limit to number (in megabytes). Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1. 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.


Line 368: Line 368:
  arma3.exe -maxVRAM=4096
  arma3.exe -maxVRAM=4096


==== -maxFileCacheSize ====
== -maxFileCacheSize ==
{{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|
Line 379: Line 379:
  arma3.exe -maxFileCacheSize=2048
  arma3.exe -maxFileCacheSize=2048


==== -noCB ====
== -noCB ==
Turns off multicore use. It slows down rendering but may resolve visual glitches.
Turns off multicore use. It slows down rendering but may resolve visual glitches.


Line 385: Line 385:
  arma3.exe -noCB
  arma3.exe -noCB


==== -CPUCount ====
== -CPUCount ==
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 392: Line 392:
  arma3.exe -exThreads=8
  arma3.exe -exThreads=8


==== -exThreads ====
== -exThreads ==
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. 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.
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.
Line 423: Line 423:
  arma3.exe -exThreads=7
  arma3.exe -exThreads=7


==== [[Arma 3: Custom Memory Allocator|-malloc]] ====
== [[Arma 3: Custom Memory Allocator|-malloc]] ==
Sets the particular memory allocator to be used. Significantly affects both performance and stability of the game. [[Arma 3: Custom Memory Allocator|More details]].
Sets the particular memory allocator to be used. Significantly affects both performance and stability of the game. [[Arma 3: Custom Memory Allocator|More details]].


Line 429: Line 429:
  arma3.exe -malloc=someMalloc
  arma3.exe -malloc=someMalloc


==== -enableHT ====
== -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.
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.


Line 440: Line 440:
  arma3.exe -enableHT
  arma3.exe -enableHT


==== -hugePages ====
== -hugePages ==
Enables hugepages with the default memory allocator ([[Arma 3: Custom Memory Allocator|malloc]]) for both client and server.
Enables hugepages with the default memory allocator ([[Arma 3: Custom Memory Allocator|malloc]]) for both client and server.


Line 446: Line 446:
  arma3.exe -hugePages
  arma3.exe -hugePages


==== -setThreadCharacteristics ====
== -setThreadCharacteristics ==
{{GVI|arma3|2.10}} Registers the game's executable as "Game" in Windows for performance improvements. {{Feature|warning|This flag can freeze the whole Operating System if running Windows Server!}}
{{GVI|arma3|2.10}} Registers the game's executable as "Game" in Windows for performance improvements. {{Feature|warning|This flag can freeze the whole Operating System if running Windows Server!}}


Line 452: Line 452:
  arma3.exe -setThreadCharacteristics
  arma3.exe -setThreadCharacteristics


=== Developer Options ===
= Developer Options =


==== -noPause ====
== -noPause ==
Allow the game running even when its window does not have focus (i.e. running in the background)
Allow the game running even when its window does not have focus (i.e. running in the background)


Line 460: Line 460:
  arma3.exe -noPause
  arma3.exe -noPause


==== -noPauseAudio ====
== -noPauseAudio ==
{{GVI|arma3|2.10}} Keeps audio running in background while tabbed out. Should be used together with '''-noPause''' to work correctly
{{GVI|arma3|2.10}} Keeps audio running in background while tabbed out. Should be used together with '''-noPause''' to work correctly


Line 466: Line 466:
  arma3.exe -noPauseAudio
  arma3.exe -noPauseAudio


==== -showScriptErrors ====
== -showScriptErrors ==
Introduced to show errors in scripts on-screen. In [[:Category:Eden Editor|Eden Editor]], script errors are always shown, even when this parameter is not used.
Introduced to show errors in scripts on-screen. In [[:Category:Eden Editor|Eden Editor]], script errors are always shown, even when this parameter is not used.


Line 472: Line 472:
  arma3.exe -showScriptErrors
  arma3.exe -showScriptErrors


==== -debug ====
== -debug ==
Enables more verbose error logging. See [[Arma 3: Debug Mode]]
Enables more verbose error logging. See [[Arma 3: Debug Mode]]


Line 478: Line 478:
  arma3.exe -debug
  arma3.exe -debug


==== -noFreezeCheck ====
== -noFreezeCheck ==
Disables the freeze check. It creates otherwise max 4 dumps per game run in total - 2 per distinct freeze. Similar to [[Crash Files]].
Disables the freeze check. It creates otherwise max 4 dumps per game run in total - 2 per distinct freeze. Similar to [[Crash Files]].


Line 484: Line 484:
  arma3.exe -noFreezeCheck
  arma3.exe -noFreezeCheck


==== -noLogs ====
== -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 {{Link|http://forums.bistudio.com/showthread.php?159155-quot-nologs-quot-may-improve-performance-no-stuttering-read-details|here}}.
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}}.


Line 490: Line 490:
  arma3.exe -noLogs
  arma3.exe -noLogs


==== -filePatching ====
== -filePatching ==
{{GVI|arma3|1.50}} Allow the game to load unpacked data. For more info see [[CMA:DevelopmentSetup]]
{{GVI|arma3|1.50}} Allow the game to load unpacked data. For more info see [[CMA:DevelopmentSetup]]


Line 496: Line 496:
  arma3.exe -filePatching
  arma3.exe -filePatching


==== -init ====
== -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.
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.


Line 502: Line 502:
  arma3.exe -init=playMission["","M04Saboteur.Sara"]
  arma3.exe -init=playMission["","M04Saboteur.Sara"]


==== <path>\mission.sqm ====
== <path>\mission.sqm ==
Load a mission directly in the editor. Example: {{hl|"c:\arma3\users\myUser\missions\myMission.intro\mission.sqm"}}
Load a mission directly in the editor. Example: {{hl|"c:\arma3\users\myUser\missions\myMission.intro\mission.sqm"}}


==== -autotest ====
== -autotest ==
Loads automatically a series of defined missions and on error writes to a log file.
Loads automatically a series of defined missions and on error writes to a log file.


Line 548: Line 548:
If possible use simple worlds, like Desert, to keep the loading times short. The [[startLoadingScreen|loading screen]] command might be useful as well to speed up task that need no rendering.
If possible use simple worlds, like Desert, to keep the loading times short. The [[startLoadingScreen|loading screen]] command might be useful as well to speed up task that need no rendering.


==== -beta ====
== -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:
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:


Line 556: Line 556:
This allows use of beta build w/o disabling in-game mod/extension management (in UI menu).
This allows use of beta build w/o disabling in-game mod/extension management (in UI menu).


==== -checkSignatures ====
== -checkSignatures ==
Provide a thorough test of all signatures of all loaded banks at the start game. Output is in {{hl|.rpt}} file.
Provide a thorough test of all signatures of all loaded banks at the start game. Output is in {{hl|.rpt}} file.


Line 562: Line 562:
  arma3.exe -checkSignatures
  arma3.exe -checkSignatures


==== -d3dNoLock ====
== -d3dNoLock ==
Doesn't lock the VRAM.
Doesn't lock the VRAM.


Line 568: Line 568:
  arma3.exe -d3dNoLock
  arma3.exe -d3dNoLock


==== -d3dNoMultiCB ====
== -d3dNoMultiCB ==
D3D uses Single Constant Buffers instead of Multiple Constant Buffers.
D3D uses Single Constant Buffers instead of Multiple Constant Buffers.


Line 574: Line 574:
  arma3.exe -d3dNoMultiCB
  arma3.exe -d3dNoMultiCB
<!--
<!--
==== -crashDiag ====
== -crashDiag ==
Extra crash-logging in performance binary, added on v18 (https://forums.bistudio.com/topic/160288-arma-3-stable-server-154-performance-binary-feedback/?p=2979101)
Extra crash-logging in performance binary, added on v18 (https://forums.bistudio.com/topic/160288-arma-3-stable-server-154-performance-binary-feedback/?p=2979101)


Line 580: Line 580:
  arma3.exe -crashDiag
  arma3.exe -crashDiag
-->
-->
==== -noFilePatching ====
== -noFilePatching ==
Ensures that only PBOs are loaded and NO unpacked data.
Ensures that only PBOs are loaded and NO unpacked data.
{{Feature|informative|It was replaced in favor of the {{hl|-filePatching}} parameter.}}
{{Feature|informative|It was replaced in favor of the {{hl|-filePatching}} parameter.}}
Line 587: Line 587:
  arma3.exe -noFilePatching
  arma3.exe -noFilePatching


==== -debugCallExtension ====
== -debugCallExtension ==
Logs extension calls in the rpt log like this: [[File:arma3-startup_parameter_debugCallExtension_output.png]]
Logs extension calls in the rpt log like this: [[File:arma3-startup_parameter_debugCallExtension_output.png]]



Revision as of 09:04, 18 October 2024

These parameters can be configured by creating a new shortcut on your desktop and then adding the appropriate option in the target line.

Most of the following parameters can be set with the Arma 3: Launcher.

Steam

  1. Choose the game in Steam\Library
  2. Right click on the game
  3. Select properties
  4. Hit "Set launch options"
Example
-nosplash -mod=test;x\test;c:\arma3\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.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=c:\arma 3\profiles".

Relative vs Absolute

You can define most, if not all path in both ways.

Relative
-profiles=profiles
Absolute
-profiles=C:\arma3\profiles

The relative path is normally based on the game main folder, where the exe resides in. Using beta patches does NOT change this! 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.exe -window

-posX

Sets the default X Position of the Window.

Example
arma3.exe -posX=50

-posY

Sets the default Y Position of the Window.

Example
arma3.exe -posY=50

-adapter

Sets the default Video Adapter.

Example
arma3.exe -adapter=MISSING_AN_EXAMPLE

Game Loading Speedup

-noSplash

-noSplash is a startup option that allows you to bypass the splash screens on startup of Arma 3.
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.
Example
arma3.exe -noSplash

-skipIntro

Disables world intros in the main menu permanently.

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.
Example
arma3.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.exe -world=empty

Load Altis

arma3.exe -world=Altis

-worldCfg

Inits a landscape by the given world config.

Profile Options

-name

Sets the profile name.

Example
arma3.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%/Arma 3 will be created in that new location. However, old files will stay in the old location and will not be copied.

-profiles is a startup option allowing you to choose an alternate location for the user profile files, such as downloaded missions and .cfg files.

The windows user account would need permissions to write to the folder of choice.

An example might be like this
"C:\arma3\arma3.exe" -profiles=C:\arma3\Profiles
or
"C:\arma3\Arma3.exe" -profiles=Profiles

would store all your profiles/configs/downloaded content into your ROOT Arma 3 folder under the folder name "Profiles"

-unit

Parameter passes a unit's ID number to the binary, translates to https://units.arma3.com/my-units#?unit=<number>

Example
arma3.exe -unit=1337

Misc.

-buldozer

Starts Buldozer mode.

Example
arma3.exe -buldozer

-noLand ==

Starts with no world loaded. (Used for Buldozer)

Example
arma3.exe -noLand

-noSound

Disables sound output.

Example
arma3.exe -noSound

-doNothing

Engine closes immediately after detecting this option.

Example
arma3.exe -doNothing

-mod

Loads the specified sub-folders for different mods. Separated by semi-colons. Absolute path and multiple stacked folders are possible. In Linux multiple folders arguments need the following separation syntax:

-mod=mod1\;mod2\;mod3

This setting always auto-disable in-game mod/extension management (in UI menu).

Complex example: -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)

"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. Usually this is the same as the installation path and the same of what is written in Windows registry. But if you copy or symlink the necessary file and folders, you may have different roots. It is useful when having multiple dedicated servers.

Client Network Options

-connect

Server IP to connect to.

Example
arma3.exe -connect=168.152.15.147

-port

Server port to connect to.

Example
arma3.exe -port=1337

-password

Server password to connect to.

Example
arma3.exe -password=1337abc

-host

Start a non-dedicated multiplayer host.

Example
arma3.exe -host

Server Options

-setUpHost

Start the game in the setup server display, works with the client exe. See reference image

Example
arma3.exe -setUpHost

-server

Start a dedicated server. Not needed for the dedicated server exe.

Example
arma3.exe -server

-port

Port to have dedicated server listen on.

Example
arma3.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
arma3.exe -pid=C:\MyServer\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
arma3.exe -ranking=C:\arma3\ranking.log

-netlog

Enables multiplayer network traffic logging. For more details see server configuration.

Example
arma3.exe -netlog

-cfg

Selects the Server Basic Config file. Config file for server specific settings like network performance tuning.

Using this parameter overrides the game config (Documents\Arma 3\Arma3.cfg); use at your own risk on clients.
Example
arma3.exe -config=C:\MyServer\basic.cfg

-config

Selects the Server Config File. Config file for server specific settings like admin password and mission selection.

Example
arma3.exe -config=C:\MyServer\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
arma3.exe -profiles=C:\MyServer\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.exe "-bePath=C:\Users\KK\Desktop\Some Folder With Spaces"
arma3.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.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.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.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
arma3.exe -loadMissionToMemory

-autoInit

Automatically initialize mission just like the first client does. The server config file (server.cfg) must contain "Persistent=1;", otherwise autoInit parameter is skipped.

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
arma3.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: -mod=mod1\;mod2\;mod3.

Example
arma3.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.exe -disableServerThread

-bandwidthAlg

Set to 2 to use a new experimental networking algorithm that might be better than the default one.

Example
arma3.exe -bandwidthAlg=2

-limitFPS

Arma 3 logo black.png1.98 Limites the server FPS to given integer between 5-1000 FPS (default 50).

Example
arma3.exe -limitFPS=300

-networkDiagInterval

Arma 3 logo black.png1.30 Polls the status of bandwidth, traffic and similar data every X seconds. Since Arma 3 logo black.png2.18 is also logs size and count of public variables when using the Profiling binary.

Example
arma3.exe networkDiagInterval=10

Performance =

-maxMem

Overrides memory allocation limit to a certain amount (in megabytes).

Until Arma 3 logo black.png2.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; in order to avoid this issue, use values like 2047, 4095, 8191, 16383, 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):

  • 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.

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
arma3.exe -maxMem=4096

-maxVRAM

Defines video memory allocation limit to number (in megabytes). Use to resolve e.g. Windows problem: http://support.microsoft.com/kb/2026022/en-us?p=1. 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.

Example
arma3.exe -maxVRAM=4096

-maxFileCacheSize

Arma 3 logo black.png2.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).

  • 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.
  • Setting lower than 1 GB is not recommended.
  • Minimum possible value is 512 MB
Example
arma3.exe -maxFileCacheSize=2048

-noCB

Turns off multicore use. It slows down rendering but may resolve visual glitches.

Example
arma3.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.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.

Ex(tra)threads table
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.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.exe -malloc=someMalloc

-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.

Note that enabling this parameter may slightly improve or harm the performance depending on a scenario. This parameter may be overridden by -cpuCount so if you want to use the maximum number of CPU cores use "-enableHT" without "-cpuCount".
Example
arma3.exe -enableHT

-hugePages

Enables hugepages with the default memory allocator (malloc) for both client and server.

Example
arma3.exe -hugePages

-setThreadCharacteristics

Arma 3 logo black.png2.10 Registers the game's executable as "Game" in Windows for performance improvements.

This flag can freeze the whole Operating System if running Windows Server!
Example
arma3.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.exe -noPause

-noPauseAudio

Arma 3 logo black.png2.10 Keeps audio running in background while tabbed out. Should be used together with -noPause to work correctly

Example
arma3.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.exe -showScriptErrors

-debug

Enables more verbose error logging. See Arma 3: Debug Mode

Example
arma3.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.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.exe -noLogs

-filePatching

Arma 3 logo black.png1.50 Allow the game to load unpacked data. For more info see CMA:DevelopmentSetup

Example
arma3.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.exe -init=playMission["","M04Saboteur.Sara"]

<path>\mission.sqm

Load a mission directly in the editor. Example: "c:\arma3\users\myUser\missions\myMission.intro\mission.sqm"

-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:\arma3\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
	};
};
If -profiles is used, the relative path is relative to the specified profile path.
Example
arma3.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.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.exe -checkSignatures

-d3dNoLock

Doesn't lock the VRAM.

Example
arma3.exe -d3dNoLock

-d3dNoMultiCB

D3D uses Single Constant Buffers instead of Multiple Constant Buffers.

Example
arma3.exe -d3dNoMultiCB

-noFilePatching

Ensures that only PBOs are loaded and NO unpacked data.

It was replaced in favor of the -filePatching parameter.
Example
arma3.exe -noFilePatching

-debugCallExtension

Logs extension calls in the rpt log like this: arma3-startup parameter debugCallExtension output.png

Example
arma3.exe -debugCallExtension

-command

Creates named pipe "\\.\pipe\name" for receiving predefined set of commands. See Arma 3: Named Pipe

Example
arma3.exe -command=

-language

Arma 3 logo black.png2.04 Starts client with preferred language. See Stringtable.xml - Supported Languages for a list of supported languages. Case-sensitive! (className column) Arma 3 logo black.png2.18 The parameter now works properly

Example
arma3.exe -language=German

-preprocDefine

Arma 3 logo black.png2.06 Defines a macro and optionally its value. Multiple macro can be defined by using this parameter multiple times.

Example
arma3.exe -preprocDefine="CMD__MACRONAME=MACROVALUE"
arma3.exe -preprocDefine=CMD__MACRONAME
arma3.exe -preprocDefine=CMD__MACRO1 -preprocDefine=CMD__MACRO2
The macro name will start with CMD__, the engine automatically adding the prefix if it is not present.
-preprocDefine=MACRO // will be CMD__MACRO

-dumpAddonDependencyGraph

Arma 3 logo black.png2.14 dumps Graphviz text file into the RPT directory with a graph of all addon dependencies (requiredAddons)

Example
arma3.exe -dumpAddonDependencyGraph