Startup Parameters – Arma Reforger
General
addons
-addons takes a list of mod IDs (specified in their gproj files, without brackets) to be loaded on game start, separated by a comma ,.
Mods are searched in profile
- Example
ArmaReforgerSteam.exe -addons 88037E46AD234C72,88037E46AD234C73
addonsDir
-addonsDir specifies additional directories in which the game must look for mods to load, separated by a comma ,.
- Example
ArmaReforgerSteam.exe -addonsDir D:\DownloadedMods
addonDownloadDir
-addonDownloadDir specifies where the game and the Workshop should download addons.
- Example
ArmaReforgerSteam.exe -addonDownloadDir D:\DownloadedMods
GPUAdapter
-GPUAdapter forces to use the graphic card at the provided index. GPU index can be found using DxDiag.
- Example
ArmaReforgerSteam.exe -GPUAdapter 0
language
-language sets the game language by language code - supported language codes depends on StringTable which is set in gproj. Arma Reforger supported languages are:
- en_us - English
- fr_fr - French
- it_it - Italian
- de_de - German
- es_es - Spanish
- cs_cz - Czech
- pl_pl - Polish
- ru_ru - Russian
- ja_jp - Japanese
- ko_kr - Korean
- pt_br - Portuguese
- zh_cn - Mandarin
- Example
ArmaReforgerSteam.exe -language cs_cz
noBackend
-noBackend disables backend-related http communication.
- Example
ArmaReforgerSteam.exe -noBackend
noSound
-noSound disables the sound system processing.
- Example
ArmaReforgerSteam.exe -noSound
noSplash
-noSplash skips splash screens on game load.
- Example
ArmaReforgerSteam.exe -noSplash
noThrow
-noThrow disables all kinds of error message dialogs. (VME's, asserts, crashes, ...).
- Example
ArmaReforgerSteam.exe -noThrow
profile
-profile defines the profile to be used - located in the %userprofile%
- Example
ArmaReforgerSteam.exe -profile "David Armstrong"
singleThreadedUpdate
-singleThreadedUpdate disables multithreaded update.
- Example
ArmaReforgerSteam.exe -singleThreadedUpdate
world
-world defines the world file to be loaded on startup, both absolute and relative paths are supported although it is recommended to use path relative to created filesystems (eg. worlds/myworld.ent). Workbench ignores this parameter - for that, use -load parameter instead.
- Example
ArmaReforgerSteam.exe -world worlds/myworld.ent
Window
window
-window starts the game windowed (fullscreen by default).
- Example
ArmaReforgerSteam.exe -window
posX
posY
-posX and -posY define the initial window position. They must be used with -window.
posX 0 is left of the screen,
posY 0 is top of the screen.
- Example
ArmaReforgerSteam.exe -window -posX 0 -posY 64
screenWidth
screenHeight
-screenWidth and -screenHeight define the window's size (and not its render resolution). They must be used with -window.
- Example
ArmaReforgerSteam.exe -window -screenWidth 1024 -screenHeight 578
forceUpdate
-forceUpdate forces the application to render and update even when the window is out of focus.
- Example
ArmaReforgerSteam.exe -forceUpdate
noFocus
-noFocus prevents window focus stealing on game initialization.
- Example
ArmaReforgerSteam.exe -noFocus
Workbench
wbModule
-wbModule specifies which Workbench module must be launched (with -run):
Editor | Entry (case-insensitive) |
---|---|
Resource Manager | resourceManager |
World Editor | worldEditor |
Particle Editor | particleEditor |
Animation Editor | animEditor |
Script Editor | scriptEditor |
Audio Editor | audioEditor |
Behavior Editor | behaviorEditor |
Procedural Animation Editor | procAnimEditor |
String Editor | localizationEditor |
- Example
ArmaReforgerWorkbenchSteam.exe -wbModule=WorldEditor -run
plugin
-plugin specifies which Workbench plugin must be launched (WorldTestPlugin, TextureImportTool, MaterialImportTool, WorldDataExport etc).
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=ResourceManager -plugin=ResavePlugin pluginArguments
run
-run tells the executable to open the designated Workbench module (specified by -wbmodule usage).
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=WorldEditor -run
load
-load tells the executable to open selected file in the designated Workbench module (specified by -wbmodule usage). The file path can be specified either by absolute path, relative path, exact path or by resource name.
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=WorldEditor -run -load "world/myworld.ent"
This will open up the World Editor and load the myworld.ent file.
packAddon
-packAddon is the main parameter used for addon packing.
When no directory is specified (by using packAddonDir), the directory from the last session is used.
When packing an addon for the first time, a new directory is automatically created in the same dir as profile.
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=ResourceManager -packAddon
packAddonDir
-packAddonDirspecifies the output directory where resulting PAKs will be saved.
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=ResourceManager -packAddon -packAddonDir "D:\build\Green"
publishAddon
-publishAddon is main parameter used for addon publishing.
It should be used only for publishing addon updates, and not for the initial publish because data from last session are used to fill in the blanks.
It can be used on its own, in combination with packAddon or in combination with parameters starting with "publishAddon".
When no directory is specified (by using publishAddonDir) a directory from last session is used.
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=ResourceManager -publishAddon
publishAddonDir
-publishAddonDir specifies the pre-packed data directory (obtained by the -packAddon parameter above). When not specified, directory from the last session is used.
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=ResourceManager -publishAddon -publishAddonDir "D:\build\Green"
publishAddonVersion
-publishAddonVersion specifies the mod's version number. When not specified, newest version found on back-end is used and it's last digit is automatically incremented.
- Example
ArmaReforgerWorkbenchSteam.exe -wbmodule=ResourceManager -publishAddon -publishAddonVersion "2.3.5"
publishAddonChangeNote
-publishAddonChangeNote is an optional parameter that specifies a note to the provided update.
- Example
ArmaReforgerWorkbenchSteam.exe -publishAddonChangeNote "Fix shading"
publishAddonPreviewImage
-publishAddonPreviewImage is an optional parameter that which you can use to specify path to preview image file.
- Example
ArmaReforgerWorkbenchSteam.exe -publishAddonPreviewImage "z:/mymod/my_preview_image.jpg"
publishAddonScreenshots
-publishAddonScreenshots is an optional parameter that specify folder from where the screenshots should be taken. It is then automatically scanned for all valid image file types (jpg, png, bmp).
- Example
ArmaReforgerWorkbenchSteam.exe -publishAddonScreenshots "Z:/mymod/screenshots"
scrDefine
-scrDefine allows to determine a script preprocessor definition. Multiple ones can be chained using multiple -scrDefine.
- Example
ArmaReforgerWorkbenchSteam.exe -scrDefine TAG_DEBUG -scrDefine OTHER_FLAG ArmaReforgerSteam.exe -scrDefine TAG_DEBUG -scrDefine OTHER_FLAG ArmaReforgerServer.exe -scrDefine TAG_DEBUG -scrDefine OTHER_FLAG
wbBackendLogin
-wbBackendLogin enforces a specific account to log in. Password is hidden console log.
- Example
ArmaReforgerWorkbenchSteam.exe -wbBackendLogin myEmail@bistudio.com myPassword
enableWARP
enableWARP allows DirectX WARP (Windows Advanced Rasterization Platform) to create a virtual device for computers without a DirectX 12 device.
- Example
ArmaReforgerWorkbenchSteam.exe -enableWARP
Hosting
a2sIpAddress
-a2sIpAddress sets Steam Query Protocol's Bind IP address.
- Example
ArmaReforgerServer.exe -a2sIpAddress 192.168.1.10
a2sPort
-a2sPort sets Steam Query Protocol's Bind port.
- Example
ArmaReforgerServer.exe -a2sPort 7777
autoreload
-autoreload reloads the scenario when the session ends after the provided delay, without shutting down the server. Value is in seconds.
- Example
ArmaReforgerServer.exe -autoreload 10
bindIP
-bindIP can be used to override both gameHostBindAddress and gameHostRegisterBindAddress values present in server config.
- Example
ArmaReforgerServer.exe -bindIP 192.168.1.42
bindPort
-bindPort can be used to override both gameHostBindPort and gameHostRegisterBindPort values present in server config.
- Example
ArmaReforgerServer.exe -bindPort 2302
client
-client starts up an RplSession in local client mode. The session tries to connect to the provided IP.
- Example
ArmaReforgerSteam.exe -client 127.0.0.1
config
-config is used by servers to point to a JSON server configuration.
- Example
ArmaReforgerServer.exe -config myConfigFile.json
listScenarios
-listScenarios prints to game logs the scenario .conf file paths.
- Example
ArmaReforgerServer.exe -listScenarios
- Result
- e.g
: -------------------------------------------------- : Official scenarios (3 entries) : -------------------------------------------------- : {90F086877C27B6F6}Missions/99_Tutorial.conf (Tutorial) : {ECC61978EDCC2B5A}Missions/23_Campaign.conf (Conflict) : {59AD59368755F41A}Missions/21_GM_Eden.conf (Game Master - Everon) : -------------------------------------------------- : Workshop scenarios (8 entries) : -------------------------------------------------- : {6EA2E454519E5869}Missions/CAH_Military_Base.conf : {7C491B1FCC0FF0E1}Missions/CAH_LeMoule.conf : {F1A1BEA67132113E}Missions/CAH_Castle.conf : {589945FB9FA7B97D}Missions/CAH_Concrete_Plant.conf : {2B4183DF23E88249}Missions/CAH_Morton.conf : {3F2E005F43DBD2F8}Missions/CAH_Briars_Coast.conf : {9405201CBD22A30C}Missions/CAH_Factory.conf : {1CD06B409C6FAE56}Missions/CAH_Forest.conf : --------------------------------------------------
logStats
-logStats allows to log performance statistics every (optionally) defined interval (in milliseconds).
- Example
- ArmaReforgerServer.exe -logStats - logs every seconds
- ArmaReforgerServer.exe -logStats 10000 - only logs every 10s
- Result
FPS: 60.0, frame time (avg: 16.7 ms, min: 9.3 ms, max: 23.7 ms), Mem: 3291106 kB, Player: 2, AI: 104, Veh: 0 (17), Proj (S: 12, M: 0, G: 0 | 12), RplItemsS: 410, RplItemsC0: 17068
- FPS: <float> = Current Server-FPS value at the time of reporting.
- frame time (avg: <float> ms, min: <float> ms, max: <float> ms) = The average, minimum, & maximum frame times reported by the server at the time of reporting.
- Mem: <int> = The current memory usage in kilobytes as reported internally by the server at the time of reporting.
- Player: <int> = Number of current players on the server at the time of reporting.
- AI: <int> = Number of current AI spawned on the server at the time of reporting.
- Veh <int> (<int>)= The value inside the parenthesis is the current number of vehicles spawned on the server at the time of reporting.
- Proj:
- S: <int> = Number of active shells on the server at the time of reporting.
- M: <int> = Number of active missiles on the server at the time of reporting.
- G: <int> = Number of active grenades on the server at the time of reporting.
- | <int> = Total projectiles at the time of reporting.
- RplItemsS: <int> = The number of dynamic (spawned during game) streams on the server at the time of reporting.
- RplItemsC0: <int> = The number of streams open to the client at the time of reporting.
maxFPS
-maxFPS sets max FPS limit - useful for a server, or to force a client's max FPS.
- Example
ArmaReforgerServer.exe -maxFPS 30
Network Tuning
nds
-nds Network Dynamic Simulation (nds) is a server feature that only streams in relevant replicated entities for each client. the provided value stands for diameter, or the number of cells which are being replicated - default is 2 in each direction. To turn the feature off use -nds 0. A higher diameter will result in a bigger networked view range, lower server performance.
- Example
ArmaReforgerServer.exe -nds 1
nwkResolution
-nwkResolution defines what resolution Spatial Map cells should be set at in a 100..1000m range. Smaller resolution will result in less "pop-in" but lower networked view range. For high view range use high resolution, but small diameter.
- Example
ArmaReforgerServer.exe -nwkResolution 500
rpl-reconnect
-rpl-reconnect makes the replication try to reconnect instead of immediately raising connection failure.
- Example
ArmaReforgerServer.exe -rpl-reconnect
rpl-timeout-disable
rpl-timeout-disable disables client/server timeout.
- Example
ArmaReforgerServer.exe -rpl-timeout-disable
rpl-timeout-ms
rpl-timeout-ms sets the client/server timeout's value, in milliseconds.
- Example
ArmaReforgerServer.exe -rpl-timeout-ms 10000
rpl-validation-rdb-disable
-rpl-validation-rdb-disable disables the validation of clients resource database.
- Example
ArmaReforgerServer.exe -rpl-validation-rdb-disable
rpl-validation-scr-disable
Disables the validation of clients scripts checksum.
- Example
ArmaReforgerServer.exe -rpl-validation-scr-disable
rpl-validation-version-disable
Disables the validation of clients executable version.
- Example
ArmaReforgerServer.exe -rpl-validation-version-disable
staggeringBudget
-staggeringBudget defines how many stationary spatial map cells are allowed to be processed in one tick in 1..10201 range. If not set it uses "-nds" diameter. A lower number will limit how many cells the server has to process per tick, but increase the time it takes for a client to have all relevant entities streamed in, if the server experiences significant performance drops on spawning/teleporting then the number is set too high, if you the client experiences "pop-in" of replicated items then the number is set too low.
- Example
ArmaReforgerServer.exe -staggeringBudget 5000
streamingBudget
-streamingBudget is the global streaming budget that is equally distributed between all connections. To decrement the budget, it uses the replicated hierarchy size of each entity that needs to be streamed in. It cannot go under 100 to prevent the system stalling. A lower number will limit how many entities the server has to process per tick, but increase the time it takes for a client to have that entity streamed in, if the server experiences significant performance drops on spawning/teleporting then the number is set too high, if the client experiences "pop-in" of replicated items then the number is set too low.
- Example
ArmaReforgerServer.exe -streamingBudget 500
streamsDelta
-streamsDelta is a tool to limit the amount of streams being opened for a client in range 1..1000 (default 100). If the difference between 'the number of streams the server has open' and 'the number of streams the client has open' is larger than the NUMBER then the server will not open any more streams this tick. To be adjusted based on average client networking speed.
- Example
ArmaReforgerServer.exe -streamsDelta 200
Debug
debugger
-debugger sets the script debugger to a specific address.
- Example
ArmaReforgerServer.exe -debugger 192.168.0.5
debuggerPort
-debuggerPort sets the script debugger to a specific port.
- Example
ArmaReforgerServer.exe -debuggerPort 1040
disableShadersBuild
-disableShadersBuild disables shaders generation.
- Example
ArmaReforgerServer.exe -disableShadersBuild
generateShaders
-generateShaders forces shaders generation.
- Example
ArmaReforgerServer.exe -generateShaders
log-rdb-checksum
-log-rdb-checksum enables logging detailed information about RDB checksum computation (GUID and path in order in which they are added to checksum) for RDB checksum issues debugging.
- Example
ArmaReforgerSteam.exe -log-rdb-checksum
log-scr-checksum
-log-scr-checksum enables the logging of all script files used in compilation and their checksums.
- Example
ArmaReforgerSteam.exe -log-scr-checksum
logAppend
-logAppend makes logs to not be emptied on game start, keeping the history.
- Example
ArmaReforgerSteam.exe -logAppend
logLevel
-logLevel allows for different log levels. Possible values range from normal (where everything is logged) to fatal (where only extreme issues are logged):
- normal
- warning
- error
- fatal
- Example
ArmaReforgerSteam.exe -logLevel warning
logFS
-logFS logs every read/write operation in filesystem.log. This option is very demanding and can produce a big file in a short time, so it is to use with caution for debug purpose.
- Example
ArmaReforgerSteam.exe -logFS
noCrashDialog
-noCrashDialog skips Crash Reporter's dialog and automatically sends crash reports.
- Example
ArmaReforgerSteam.exe -noCrashDialog
keepCrashFiles
-keepCrashFiles prevents Crash Reporter from cleaning crash files on successful crash sending.
- Example
ArmaReforgerSteam.exe -keepCrashFiles
scriptAuthorizeAll
-scriptAuthorizeAll disables the security popup about RunCmd, RunProcess, KillProcess and (outside of profile directory) FileIO operations.
- Example
ArmaReforgerSteam.exe -scriptAuthorizeAll
VMErrorMode
-VMErrorMode sets script VM's error reporting mode; possible values are:
- silent - silently continues
- log_only - logs the error then continues
- full - shows the VME dialog, logs the error, then clicking "ignore" continues execution
- fatal - logs the error then exits the game
Profiling
checkInstance
-checkInstance turns on script VM's memory allocations logging - see Script Profiling.
scriptExtProfiler
-scriptExtProfiler turns on script VM's support for external Script Profiling.
- Example
ArmaReforgerSteam.exe -scriptExtProfiler