Command line options: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Updated to add -gamepadui for Steam.)
(Major cleanup, reorginization. New descriptions applied. Line breaks for users dyslexia & mobile users. Lexical scope sorting prep.)
Line 2: Line 2:
== {{Source|4}} Games ==
== {{Source|4}} Games ==
These command-line parameters will work with any Source engine games ({{hl2|2}}, {{css|2}}, etc.).
These command-line parameters will work with any Source engine games ({{hl2|2}}, {{css|2}}, etc.).


{{syntax|hl2.exe <parameter1> <parameter2> <cvar1> <cvar2>}}
{{syntax|hl2.exe <parameter1> <parameter2> <cvar1> <cvar2>}}


=== Usage ===
=== Usage ===
Line 11: Line 13:
* Windows shortcuts pointing to <code>steam.exe</code> with the proper <code>-applaunch <AppID></code> specified (see '''Steam''' section below).
* Windows shortcuts pointing to <code>steam.exe</code> with the proper <code>-applaunch <AppID></code> specified (see '''Steam''' section below).
* Command-line batch script files launching these applications.
* Command-line batch script files launching these applications.
* Linux shell scripts pointing to the application with launch options. <code>executable -command</code>


=== Examples ===
=== Examples ===
* <code>steam.exe -applaunch 280 -dev -console -sw +sv_lan 1 +map MyMap</code>
* <code>steam.exe -applaunch 280 -dev -console -sw +sv_lan 1 +map MyMap</code>
* <code>hl2.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust</code>
* <code>hl2.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust</code>


=== Command-Line Parameters ===
=== Command-Line Parameters ===
{| class="wikitable"
{| class="wikitable sortable"
! Argument !! Description
! Argument !! Description
|-
|-
| '''-all_languages''' || Loads all language files.
| '''-32bit''' || Forces the engine to start in 32-bit mode. Only useful on [[wikipedia:64-bit|64-bit]] Operating Systems.
|-
| '''-NoLoadPluginsForClient''' ||
|-
|-
| '''-autoconfig''' || Restores video and performance settings to default for the current hardware detected. Ignores settings inside any .cfg files until this parameter is removed.
| '''-NoQueuedPacketThread''' || (Linux) No queued packet thread will be created.
|-
|-
| '''-32bit''' || Forces the engine to start in 32-bit mode. Only useful on [[wikipedia:64-bit|64-bit]] Operating Systems.
| '''-NoVConfig''' || Prevents the filesystem library from running VConfig if it encounters a filesystem error where it cannot find the game content.
|-
|-
| '''-adapter''' || Sets the GL graphics adapter. Default is 0.
| '''-adapter''' || Sets the GL graphics adapter. Default is 0.
|-
| '''-all_languages''' || Loads all language files.
|-
|-
| '''-allowdebug''' || Fakes a debugger for phonehome, and is the same as -dev, unless -nodev is specified.
| '''-allowdebug''' || Fakes a debugger for phonehome, and is the same as -dev, unless -nodev is specified.
|-
|-
| '''-allowstalezip''' || Suppresses console warnings from stale.txt existing.
| '''-allowstalezip''' || Suppresses console warnings from stale.txt existing.
|-
| '''-autoconfig''' || Restores video and performance settings to default for the current hardware detected. Ignores settings inside any .cfg files until this parameter is removed.
|-
|-
| '''-basedir''' || Sets the base directory for the game files. On Xbox 360 RFS, this is forced to smb://hostname/game.
| '''-basedir''' || Sets the base directory for the game files. On Xbox 360 RFS, this is forced to smb://hostname/game.
Line 36: Line 47:
| '''-bi''' || Defines the build identifier ID which is used in phonehome
| '''-bi''' || Defines the build identifier ID which is used in phonehome
|-
|-
| '''-bugbait''' || {{Todo|Is it for Bugbait E3 2003 demo? This lets IsLoadingBugBaitReport return true.}}
| '''-bugbait''' || {{Todo|Is it for Bugbait E3 2003 demo? This lets IsLoadingBugBaitReport return true.}}
|-
|-
| '''-bugreporterdll''' || Name of the bug reporter DLL to use
| '''-bugreporterdll''' || Name of the bug reporter DLL to use
Line 53: Line 64:
|-
|-
| '''-console''' || Starts the game with the [[Developer Console|developer console]] enabled. Same as having con_enable enabled.
| '''-console''' || Starts the game with the [[Developer Console|developer console]] enabled. Same as having con_enable enabled.
|-
| '''-d3d9ex''' || Reduce CPU memory about %40. "csgo" only.
|-
|-
| '''-deathsonly''' || Supposed to only count deaths while parsing tf2 gamestats, but actually pointless because there is only code for deaths.
| '''-deathsonly''' || Supposed to only count deaths while parsing tf2 gamestats, but actually pointless because there is only code for deaths.
|-
|-
| '''-d3d9ex''' || Reduce CPU memory about %40. "csgo" only.
| '''-debugdxsupport''' || Writes debug DirectX information as keyvalues to the console as shader devices are loading configuration.
|-
|-
| '''-defaultgamedir''' || Fallback directory if "-game" is not set. Default is "hl2".
| '''-defaultgamedir''' || Fallback directory if "-game" is not set. Default is "hl2".
Line 63: Line 76:
|-
|-
| '''-dev''' || Enables developer mode. Also disables the automatic loading of menu background maps and stops the quit dialog from appearing on exit.
| '''-dev''' || Enables developer mode. Also disables the automatic loading of menu background maps and stops the quit dialog from appearing on exit.
|-
| '''-debugdxsupport''' || Writes debug DirectX information as keyvalues to the console as shader devices are loading configuration.
|-
|-
| '''-disallowhwmorph''' || Same as <code>mat_disablehwmorph 1</code>. Disables HW morphing for particular mods.
| '''-disallowhwmorph''' || Same as <code>mat_disablehwmorph 1</code>. Disables HW morphing for particular mods.
Line 88: Line 99:
| '''-filmgrain''' || Enables the <code>filmgrain</code> screen space effect.
| '''-filmgrain''' || Enables the <code>filmgrain</code> screen space effect.
|-
|-
| '''-flushlog''' || Causes log files to be flushed to disk once per second (rather than after every 4kbytes of log data).
| '''-floathdr''' || Forces HDR to use float values.
|-
|-
| '''-floathdr''' || Forces HDR to use float values.
| '''-flushlog''' || Causes log files to be flushed to disk once per second (rather than after every 4kbytes of log data).
|-
|-
| '''-forcenovsync''' || Forces vsync to be disabled.
| '''-forcenovsync''' || Forces vsync to be disabled.
Line 99: Line 110:
|-
|-
| '''-forever''' || When you get to the end of the maplist, start over from the top
| '''-forever''' || When you get to the end of the maplist, start over from the top
|-
| '''-freq <rate>''' || Same as -refresh
|-
|-
| '''-fs_log''' || Starts creating a batch file to copy files at the specified filename. This works on the latest engine branch.
| '''-fs_log''' || Starts creating a batch file to copy files at the specified filename. This works on the latest engine branch.
Line 108: Line 121:
| '''-fs_target''' || Sets the target game directory to copy files to, used with -fs_log.
| '''-fs_target''' || Sets the target game directory to copy files to, used with -fs_log.
|-
|-
| '''-full_memory_dumps''' ||
| '''-full_memory_dumps''' ||  
|-
|-
| '''-fullscreen''' or '''-full''' || Forces the engine to start in fullscreen mode.
| '''-fullscreen''' or '''-full''' || Forces the engine to start in fullscreen mode.
|-
|-
| '''-g15''' || Enables Logitech G15 support. G15 is only supported in [[SiN Episodes: Emergence]]. {{confirm}}
| '''-g15''' || Enables Logitech G15 support. G15 is only supported in [[SiN Episodes: Emergence]]. {{confirm}}
|-
|-
| '''-game''' || Sets game or mod directory to load the game from. Usually is set by default if not user specified. Default is "-defaultgamedir"'s setting. If -defaultgamedir is not set, "hl2" is used.
| '''-game''' || Sets game or mod directory to load the game from. Usually is set by default if not user specified. Default is "-defaultgamedir"'s setting. If -defaultgamedir is not set, "hl2" is used.
|-
|-
| '''-gamepadui''' {{only|{{hl2}}{{portal}}}} || Enables the controller-oriented UI used on Steam Deck, and also enables the Vulkan renderer.
| '''-gamepadui''' {{only|{{hl2}}{{portal}}}}|| Enables the controller-oriented UI used on Steam Deck, and also enables the Vulkan renderer.
|-
|-
| '''-gamestatslogging''' || Enables game stats logging.
| '''-gamestatslogging''' || Enables game stats logging.
|-
|-
| '''-gamestatsloggingtofile''' || Enables game stats logging out to a file, gamestats.log. Passing this parameter automatically forces -gamestatslogging.
| '''-gamestatsloggingtofile''' || Enables game stats logging out to a file, gamestats.log. Passing this parameter automatically forces -gamestatslogging.
|-
| '''-gamestatstag <tag>''' || Tags each map reported with the specified tag.
|-
|-
| '''-gl_enablesamplerobjects''' || (Linux) Use OpenGL Sampler Objects for better texture preloading
| '''-gl_enablesamplerobjects''' || (Linux) Use OpenGL Sampler Objects for better texture preloading
Line 126: Line 141:
| '''-gl_texclientstorage''' || (MacOS) Reduce memory usage by relying on GPU memory instead of a host copy
| '''-gl_texclientstorage''' || (MacOS) Reduce memory usage by relying on GPU memory instead of a host copy
|-
|-
| '''-gamestatstag <tag>''' || Tags each map reported with the specified tag.
| '''-heapcheck''' || (Windows only) Check if the heap isn't damaged or empty at the initiation of the game and every frame
|-
| '''-h <height>''' ||  Forces the engine to start with resolution set to <code><height></code>. Ex: <code>-h 768</code>
|-
|-
| '''-height <height>''' || Same as -h
| '''-heapsize <kilobytes>''' || Specifies the heapsize (in kilobyte) the game will use. This [http://store.steampowered.com/news/4371/ no longer exists] on {{src09|4}}. {{confirm|what about Source MP?}}
|-
|-
| '''-heapcheck''' || (Windows only) Check if the heap isn't damaged or empty at the initiation of the game and every frame
| '''-height <height>, -h''' || Forces the engine to start with resolution set to <code><height></code>. Ex: <code>-h 768</code>
|-
| '''-heapsize <kilobytes>''' ||  Specifies the heapsize (in kilobyte) the game will use. This [http://store.steampowered.com/news/4371/ no longer exists] on {{src09|4}}. {{confirm|what about Source MP?}}
|-
|-
| '''-hideconsole''' || Forces the console hidden, whatever parameters are passed. This overrides -console, -dev, and all others.
| '''-hideconsole''' || Forces the console hidden, whatever parameters are passed. This overrides -console, -dev, and all others.
|-
|-
| '''-high''' || Sets the game's priority to High
| '''-high''' || Sets the game's priority to High
|-
|-
| '''-hijack''' || Take control of an existing instance of the game, if any, instead of complaining about already running.
| '''-hijack''' || Take control of an existing instance of the game, if any, instead of complaining about already running.
|-
|-
| '''-host''' || Sets hostname. On Xbox 360, this sets the host computer name to be used for RFS. Xbox name must be <HostPC>_360.
| '''-host''' || Sets hostname. On Xbox 360, this sets the host computer name to be used for RFS. Xbox name must be <HostPC>_360.
|-
|-
| '''-hushasserts''' || Disables a number of asserts in core Source libraries, skipping some error checks and messages.
| '''-hushasserts''' || Disables a number of asserts in core Source libraries, skipping some error checks and messages.
Line 152: Line 163:
| '''-insecure''' || Disable Valve Anti Cheat (VAC).
| '''-insecure''' || Disable Valve Anti Cheat (VAC).
|-
|-
| '''-interactivecaster''' {{csgo|only}} || Starting your client with this will switch it into camera man mode (reference tv_allow_camera_man_steamid/tv_allow_camera_man_steamid2)
| '''-interactivecaster''' {{csgo|only}}|| Starting your client with this will switch it into camera man mode (reference tv_allow_camera_man_steamid/tv_allow_camera_man_steamid2)
|-
|-
| '''-internalbuild''' || Causes the bug reporter panel to be drawn as internal
| '''-internalbuild''' || Causes the bug reporter panel to be drawn as internal
Line 168: Line 179:
| '''-low''' || Sets the game's priority to Low
| '''-low''' || Sets the game's priority to Low
|-
|-
| '''-lowmemworkshop''' {{csgo|only}} || Allow updating very large map files on Steam Workshop.
| '''-lowmemworkshop''' {{csgo|only}}|| Allow updating very large map files on Steam Workshop.
|-
|-
| '''-makedevshots''' || Used for taking screenshots, causing entities to not fade. Enables the use of the devshots_nextmap concommand
| '''-makedevshots''' || Used for taking screenshots, causing entities to not fade. Enables the use of the devshots_nextmap concommand
Line 177: Line 188:
|-
|-
| '''-mat_antialias''' || Antialiasing. Can be set to 8, amount past 8 won't sharpen the edges of game world.
| '''-mat_antialias''' || Antialiasing. Can be set to 8, amount past 8 won't sharpen the edges of game world.
|-
| '''-mat_softwaretl''' || Enables software vertex processing.
|-
|-
| '''-mat_vsync''' || Enables Vertical Sync
| '''-mat_vsync''' || Enables Vertical Sync
|-
|-
| '''-mat_softwaretl''' || Enables software vertex processing.
| '''-maxdownloadfilesizemb''' || CS:GO 5/1/2014, client launch option -maxdownloadfilesizemb N if clients needs to download even larger files from community servers.
|-
|-
| '''-maxdxlevel''' || Limits the maximum <code>dxlevel</code> to use. Default is 0.
| '''-maxdxlevel''' || Limits the maximum <code>dxlevel</code> to use. Default is 0.
|-
| '''-maxdownloadfilesizemb''' || CS:GO 5/1/2014, client launch option -maxdownloadfilesizemb N if clients needs to download even larger files from community servers.
|-
|-
| '''-maxplayers''' || Set the maximum players allowed to join the server. This does the same as the maxplayers convar, the maximum you can set it to is limited by the game/mod  
| '''-maxplayers''' || Set the maximum players allowed to join the server. This does the same as the maxplayers convar, the maximum you can set it to is limited by the game/mod  
Line 192: Line 203:
| '''-monitorTextureSize''' || Set the size of the texture used to render [[point_camera]]s.
| '''-monitorTextureSize''' || Set the size of the texture used to render [[point_camera]]s.
|-
|-
| '''-multirun'''  {{Src13|only}} || Allows the game to run even if another Source game is already open. {{note|While only implemented in Source 2013, using this while a non-2013 game is already running will work.}}
| '''-multirun'''  {{Src13|only}}|| Allows the game to run even if another Source game is already open. {{note|While only implemented in Source 2013, using this while a non-2013 game is already running will work.}}
|-
|-
| '''-navanalyze''' ||  
| '''-navanalyze''' || Used for developer purposes when launching a map. Immediately analyzes the navagation map of the loaded map to provide data about hiding spots and other data. [[Nav Mesh Commands]]
|-
|-
| '''-navforceanalyze''' ||  
| '''-navforceanalyze''' || Used for developer purposes when launching a map. Forces an immediate navagation analyze even if the action is not necessary to perform.
|-
|-
| '''-netspike''' || Sets the trace threshold to the specified value (the limit of the number of records that will be written to netspike.txt before all records are removed).
| '''-netspike''' || Sets the trace threshold to the specified value (the limit of the number of records that will be written to netspike.txt before all records are removed).
Line 214: Line 225:
| '''-nobots''' || Allows Counter-Strike server hosts to force bots disabled to enforce CPU limits.
| '''-nobots''' || Allows Counter-Strike server hosts to force bots disabled to enforce CPU limits.
|-
|-
| '''-nobreakpad''' ||
| '''-nobreakpad''' ||  
|-
| '''-noclearsave''' || Skips clearing the save directory after restoring a save.
|-
|-
| '''-noconvert''' || (xbox360) "No conversions during retail"
| '''-noconvert''' || (xbox360) "No conversions during retail"
|-
|-
| '''-noclearsave''' || Skips clearing the save directory after restoring a save.
| '''-nocrashdialog''' || Stop some windows crash message boxes from showing up.
|-
|-
| '''-nocrashdialog''' || Stop some windows crash message boxes from showing up.
| '''-nodefaultmap''' || (Linux only{{confirm}}) Supresses the addition of -map
|-
|-
| '''-nodev''' || Disables -dev and -allowdebug during startup so sv_cheats and developer mode dosent get set.
| '''-nodev''' || Disables -dev and -allowdebug during startup so sv_cheats and developer mode dosent get set.
Line 243: Line 256:
|-
|-
| '''-nojoy''' || Disables joystick support.
| '''-nojoy''' || Disables joystick support.
|-
| '''-NoLoadPluginsForClient''' ||
|-
|-
| '''-nomaster''' || Hides server from master serverlist.
| '''-nomaster''' || Hides server from master serverlist.
Line 263: Line 274:
|-
|-
| '''-noqueuedload''' || Disables queued loading of map resources.
| '''-noqueuedload''' || Disables queued loading of map resources.
|-
| '''-NoQueuedPacketThread''' || (Linux) No queued packet thread will be created.
|-
|-
| '''-norebuildaudio''' || Opposite of and overrides -rebuildaudio for the map reslist generator.
| '''-norebuildaudio''' || Opposite of and overrides -rebuildaudio for the map reslist generator.
|-
| '''-nodefaultmap''' || (Linux only{{confirm}}) Supresses the addition of -map
|-
|-
| '''-norfs''' || Forces Remote Filesystem disabled. Xbox 360 only.
| '''-norfs''' || Forces Remote Filesystem disabled. Xbox 360 only.
Line 283: Line 290:
|-
|-
| '''-nouserclip''' || Uses software clipping instead of hardware user clip planes
| '''-nouserclip''' || Uses software clipping instead of hardware user clip planes
|-
| '''-NoVConfig''' || Prevents the filesystem library from running VConfig if it encounters a filesystem error where it cannot find the game content.
|-
|-
| '''-novid''' || When loading a game with this parameter, the intro video will not play.
| '''-novid''' || When loading a game with this parameter, the intro video will not play.
|-
|-
| '''-olddialogs''' || Forces old Windows dialogs instead of new Steam ones.
| '''-olddialogs''' || Forces old Windows dialogs instead of new Steam ones.
|-
|-
| '''-override_vpk''' || Forces actual files to override VPK.
| '''-override_vpk''' || Forces actual files to override VPK.
Line 313: Line 318:
|-
|-
| '''-publicbuild''' || Is this build a public one? If not, phonehome will not post information of this build to steam
| '''-publicbuild''' || Is this build a public one? If not, phonehome will not post information of this build to steam
|-
| '''-r_emulate_gl''' || Emulates OpenGL on Windows, provides a framerate boost for most GPUs
|-
|-
| '''-random_invariant''' || Forces the game's random number generator value to be invariant.
| '''-random_invariant''' || Forces the game's random number generator value to be invariant.
Line 321: Line 328:
|-
|-
| '''-ref''' || Sets MATERIAL_INIT_REFERENCE_RASTERIZER on the shader material adapter.
| '''-ref''' || Sets MATERIAL_INIT_REFERENCE_RASTERIZER on the shader material adapter.
|-
| '''-remote''' || Sets the remote file path to be used with -dvddev.
|-
| '''-replay''' || Increases maxplayers by 1 at startup and automatically executes replay.cfg for the server.
|-
| '''-requirecubemaps''' || If a map dosen't have cubemaps, the game will promt up with "Map X does not have cubemaps!"
|-
|-
| '''-reflectionTextureSize''' || Set the size of the texture used to render the [[Water_(shader)|Water shader]]'s real-time reflection and refraction.
| '''-reflectionTextureSize''' || Set the size of the texture used to render the [[Water_(shader)|Water shader]]'s real-time reflection and refraction.
Line 334: Line 335:
| '''-refreshrate <rate>''' || Same as -refresh
| '''-refreshrate <rate>''' || Same as -refresh
|-
|-
| '''-freq <rate>''' || Same as -refresh
| '''-remote''' || Sets the remote file path to be used with -dvddev.
|-
| '''-replay''' || Increases maxplayers by 1 at startup and automatically executes replay.cfg for the server.
|-
|-
| '''-r_emulate_gl''' || Emulates OpenGL on Windows, provides a framerate boost for most GPUs
| '''-requirecubemaps''' || If a map dosen't have cubemaps, the game will promt up with "Map X does not have cubemaps!"
|-
|-
| '''-resizing''' || Allows resizing the window lower than a specific resolution.
| '''-resizing''' || Allows resizing the window lower than a specific resolution.
Line 342: Line 345:
| '''-reslistdir''' || Default is "reslists", use this to override. Reslist generator only.
| '''-reslistdir''' || Default is "reslists", use this to override. Reslist generator only.
|-
|-
| '''-reuse''' || Reuse network sockets
| '''-reuse''' || Reuse network sockets
|-
|-
| '''-rpt''' || Same as having -condebug, -conclearlog, and -console enabled
| '''-rpt''' || Same as having -condebug, -conclearlog, and -console enabled
Line 348: Line 351:
| '''-safe''' || Enables video safe mode, which sets the game to windowed, the width to 640, the height to 480, refresh rate to default, and disables antialiasing.
| '''-safe''' || Enables video safe mode, which sets the game to windowed, the width to 640, the height to 480, refresh rate to default, and disables antialiasing.
|-
|-
| '''-shader''' || Loads a specific shader library instead of depending on hardware. Debug only.
| '''-shader''' || Loads a specific shader library instead of depending on hardware. Debug only.
|-
|-
| '''-shaderdll''' || Loads a different shader dll. Default is shaderapidx9.dll. {{Todo|Is this the same as -shader?}}
| '''-shaderdll''' || Loads a different shader dll. Default is shaderapidx9.dll. {{Todo|Is this the same as -shader?}}
Line 354: Line 357:
| '''-shadersondemand''' || Creates shaders on access, helps reduce D3D memory for tools, but causes I/O hitches.
| '''-shadersondemand''' || Creates shaders on access, helps reduce D3D memory for tools, but causes I/O hitches.
|-
|-
| '''-sillygibs''' || (Goldsource only) Forces more gibs like skull and others to be spawned all time on NPC's death.
| '''-sillygibs''' || (Goldsource only) Forces more gibs like skull and others to be spawned all time on NPC's death.
|-
|-
| '''-skiploadingworkshopaddons''' {{asrd|only}} || Only load addons from the addons folder, not subscriptions on the Steam Workshop.
| '''-skiploadingworkshopaddons''' {{asrd|only}}|| Only load addons from the addons folder, not subscriptions on the Steam Workshop.
|-
|-
| '''-small''' || Allow window sizing smaller then 640x480
| '''-small''' || Allow window sizing smaller then 640x480
|-
|-
| '''-sndcachedebug''' || Prints sound cache debug messages (developer must be enabled to see)
| '''-sndcachedebug''' || Prints sound cache debug messages (developer must be enabled to see)
Line 364: Line 367:
| '''-snoforceformat''' || Skips sound buffer creation
| '''-snoforceformat''' || Skips sound buffer creation
|-
|-
| '''-soft''' || Enables Software hardware rendering mode.
| '''-soft''' || Enables Software hardware rendering mode.
|-
|-
| '''-softparticlesdefaultoff''' || Sets particles to be rendered without feathering (scene depth blending) by default.
| '''-softparticlesdefaultoff''' || Sets particles to be rendered without feathering (scene depth blending) by default.
|-
|-
| '''-softparticlesdefaulton''' || Opposite of -softparticlesdefaultoff.
| '''-softparticlesdefaulton''' || Opposite of -softparticlesdefaultoff.
|-
|-
| '''-spewsentences''' || Spew out vox sentence names during reslist generation
| '''-spewsentences''' || Spew out vox sentence names during reslist generation
Line 376: Line 379:
| '''-startstage''' || When running from script file, this starts at specified stage, and sets current work item (default is 0). Reslist generator only.
| '''-startstage''' || When running from script file, this starts at specified stage, and sets current work item (default is 0). Reslist generator only.
|-
|-
| '''-steam''' || Enables Steam support (if the game is launched from Steam, this is enabled by default). Working directory must be Steam directory. Works only for singleplayer games.
| '''-startwindowed, -windowed, -window, -sw''' || Forces the engine to start in Windowed mode.
|-
| '''-steam''' || Enables Steam support (if the game is launched from Steam, this is enabled by default). Working directory must be Steam directory. Works only for singleplayer games.
|-
|-
| '''-steamlocal''' || Similar to -steam. Runs Steam in local filesystem mode (all content off HDD), as opposed to remote filesystem mode (requiring Steam backend).
| '''-steamlocal''' || Similar to -steam. Runs Steam in local filesystem mode (all content off HDD), as opposed to remote filesystem mode (requiring Steam backend).
|-
|-
| '''-steamport''' || Master server updater port. Steam authentication port is this port + 1. (default is 26900)
| '''-steamport''' || Master server updater port. Steam authentication port is this port + 1. (default is 26900)
|-
|-
| '''-storeambientcache''' {{csgo|only}}|| Stores an ambient cache file in every loaded BSP. {{Todo|What is ambient cache?}}
|-
|-
| '''-storeambientcache''' {{csgo|only}} || Stores an ambient cache file in every loaded BSP. {{Todo|What is ambient cache?}}
| '''-strictportbind''' || If you launch the game with this option it will quit with an error message if it can't bind to the default or specified port.
|-
| '''-strictportbind''' || If you launch the game with this option it will quit with an error message if it can't bind to the default or specified port.
|-
|-
| '''-sv_benchmark''' || Enables benchmarking through sv_benchmark_force_start.
| '''-sv_benchmark''' || Enables benchmarking through sv_benchmark_force_start.
|-
|-
| '''-swapcores''' || Swaps threads for the particle and material systems each init
| '''-swapcores''' || Swaps threads for the particle and material systems each init
Line 393: Line 397:
| '''-tempcontent''' || Searches for game content in a folder called "_tempcontent" relative to the absolute game path. This option is enabled by default for Portal 1
| '''-tempcontent''' || Searches for game content in a folder called "_tempcontent" relative to the absolute game path. This option is enabled by default for Portal 1
|-
|-
| '''-testscript <filename>''' || Loads a .[[vtest]] file.
| '''-testscript <filename>''' || Loads a .[[vtest]] file.
|-
|-
| '''-testshaders''' || Loads the shader_test library. Debug only.
| '''-testshaders''' || Loads the shader_test library. Debug only.
Line 401: Line 405:
| '''-textmessagedebug''' || Spews client text messages to console.
| '''-textmessagedebug''' || Spews client text messages to console.
|-
|-
| '''-textmode''' {{csgo|not}} || Runs the game without graphics
| '''-textmode''' {{csgo|not}}|| Runs the game without graphics
|-
|-
| '''-threads''' || Number of threads to allocate for the thread pool, default is 3
| '''-threads''' || Number of threads to allocate for the thread pool, default is 3
Line 409: Line 413:
| '''-timedemoloop''' ||  
| '''-timedemoloop''' ||  
|-
|-
| '''-toconsole''' || Starts the engine directly in the console, unless a map is specified with <code>+map</code>.
| '''-toconsole''' || Starts the engine directly in the console, unless a map is specified with <code>+map</code>.
|-
|-
| '''-tools''' || Enables [[engine tools]].
| '''-tools''' || Enables [[engine tools]].
|-
|-
| '''-trackdeletions''' || Logs what files are marked for deletion in Reslist Generator.
| '''-trackdeletions''' || Logs what files are marked for deletion in Reslist Generator.
Line 421: Line 425:
| '''-usedevshotsfile''' || Get map list from specified file, default is to build for maps/*.bsp
| '''-usedevshotsfile''' || Get map list from specified file, default is to build for maps/*.bsp
|-
|-
| '''-useforcedmparms''' || Allows the use of -noforcemspd and -noforcemaccel.
| '''-useforcedmparms''' || Allows the use of -noforcemspd and -noforcemaccel.
|-
|-
| '''-usegh''' || Loads ghostinj.dll to allow support for third party dlls (gamehost)
| '''-usegh''' || Loads ghostinj.dll to allow support for third party dlls (gamehost)
Line 431: Line 435:
| '''-usereslistfile''' || Get map list from specified file, default is to build for maps/*.bsp. Reslist generator only.
| '''-usereslistfile''' || Get map list from specified file, default is to build for maps/*.bsp. Reslist generator only.
|-
|-
| '''-usetcp''' || Disable TCP support
| '''-usetcp''' || Disable TCP support
|-
|-
| '''-vcrplayback''' || Plays back a VCR recording. Nothing is simulated on the server, but all server packets are recorded. Note: VCR recording and playback only fully working on a leaked HLS build, other games and versions crash
| '''-vcrplayback''' || Plays back a VCR recording. Nothing is simulated on the server, but all server packets are recorded. Note: VCR recording and playback only fully working on a leaked HLS build, other games and versions crash
Line 440: Line 444:
|-
|-
| '''-vguimessages''' || Enables debug VGUI messages.
| '''-vguimessages''' || Enables debug VGUI messages.
|-
| '''-vxconsole''' || Waits for Valve Xbox console to initialise. Xbox 360 only.
|-
|-
| '''-vproject''' || Manually sets the VProject directory to load game content for tools.
| '''-vproject''' || Manually sets the VProject directory to load game content for tools.
Line 447: Line 449:
| '''-vulkan''' || Forces the engine to use the Vulkan renderer.
| '''-vulkan''' || Forces the engine to use the Vulkan renderer.
|-
|-
| '''-w <width>''' || Forces the engine to start with resolution set to <code><width></code>. Ex: <code>-w 1024</code>
| '''-vxconsole''' || Waits for Valve Xbox console to initialise. Xbox 360 only.
|-
|'''-width <width>''' || Same as -w
|-
|-
| '''-wavonly''' || Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
| '''-wavonly''' || Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
|-
|-
| '''-window''' || Forces the engine to start in windowed mode
| '''-x <x position>''' || In borderless windowed mode, determines where the window should be horizontally. Ex: <code>-x 0</code>. '''Note:''' Setting this to 0 will make it align with the left side of your main monitor, rather than its center. Negative values also aren't accepted.
|-
|-
| '''-sw''' || Same as -window
| '''-xnet_bypass_security''' || Disables Xbox 360 secure networking, to allow cross-platform testing.
|-
|-
| '''-startwindowed''' || Same as -window
| '''-y <y position>''' || In borderless windowed mode, determines where the window should be vertically. Ex: <code>-y 0</code>. '''Note:''' Setting this to 0 will make it align with the top side of your main monitor, rather than its center. Negative values also aren't accepted.
|-
|-
| '''-windowed''' || Same as -window
|'''-width <width>, -w''' || Forces the engine to start with resolution set to <code><width></code>. Ex: <code>-w 1024</code>
|}
 
 
=== Console Variables ===
* '''+<console variable> <arg>''' - Sets the Cvar (or [[:Category:Console_Variables|console variable]]) to the specified setting when the game launches.
 
 
==== Some Useful Console Variables ====
{| class="wikitable sortable"
! Console Variable !! Description
|-
|-
| '''-xnet_bypass_security''' || Disables Xbox 360 secure networking, to allow cross-platform testing.
| '''+cl_showfps <0/1/2/3>''' || When set to 2, shows the framerate and map name.
|-
| '''+connect''' || Immediately connects to a server address.
|-
|-
| '''-x <x position>''' || In borderless windowed mode, determines where the window should be horizontally. Ex: <code>-x 0</code>. '''Note:''' Setting this to 0 will make it align with the left side of your main monitor, rather than its center. Negative values also aren't accepted.
| '''+load''' || Console Command
|-
|-
| '''-y <y position>''' || In borderless windowed mode, determines where the window should be vertically. Ex: <code>-y 0</code>. '''Note:''' Setting this to 0 will make it align with the top side of your main monitor, rather than its center. Negative values also aren't accepted.
| '''+map <map-name[.bsp]>''' || Immediately loads the map specified after the engine starts.
|-
|-
| '''+connect''' || Console Command
| '''+map_background <map name>''' || Forces a specified background map to be used. Useful for testing custom background maps. To avoid loading standard background maps for speed reasons, use the <code>-dev</code> command-line parameter.
|-
|-
| '''+load''' || Console Command
| '''+mat_hdr_level''' || Sets HDR level before the background map loads. [[HDR Lighting Basics]]
|-
|-
| '''+mat_hdr_level''' || Console Command
| '''+maxplayers''' || Sets maxplayers. This will set maxplayers before the background map loads. To change when running, run <disconnect> to escape the currently map, including background maps.
|-
|-
| '''+maxplayers''' || Console Command
| '''+physcannon_mega_enabled <0/1>''' || Makes Gravity gun a super gravity gun.
|-
|-
| '''+playdemo''' || Console Command
| '''+playdemo <demo>''' || Immediately plays a demo file.
|-
|-
| '''+port''' || Console Command
| '''+port''' || Console Command
|-
| '''+sv_cheats <0/1>''' || When set to 1, starts the game with cheats enabled.
|-
| '''+sv_lan <0/1>''' || When set to 1, launches the game in LAN mode. Useful to stop players from joining your game from the Internet.
|-
|-
| '''+timedemo''' || Console Command
| '''+timedemo''' || Console Command
Line 484: Line 500:
|}
|}


=== Console Variables ===
* '''+<console variable> <arg>''' - Sets the Cvar (or [[:Category:Console_Variables|console variable]]) to the specified setting.


==== Some Useful Console Variables ====
{| class="wikitable"
! Argument !! Description
|-
| '''+map <map-name[.bsp]>''' || Loads the map specified after the engine starts.
|-
| '''+map_background <map name>''' || Forces a specified background map to be used. Useful for testing custom background maps. To avoid loading standard background maps for speed reasons, use the <code>-dev</code> command-line parameter.
|-
| '''+sv_lan <0/1>''' || When set to 1, launches the game in LAN mode. Useful to stop players from joining your game from the Internet.
|-
| '''+sv_cheats <0/1>''' || When set to 1, starts the game with cheats enabled.
|-
| '''+physcannon_mega_enabled 1''' || Makes Gravity gun a super gravity gun
|-
| '''+cl_showfps <0/1/2/3>''' || When set to 2, shows the framerate and map name.
|}


== {{gldsrc|4}} Games ==
== {{gldsrc|4}} Games ==
These command-line parameters will work with any GoldSource engine games ({{hl|2}}, {{cs|2}}, etc.).
These command-line parameters will work with any GoldSource engine games ({{hl|2}}, {{cs|2}}, etc.).


{{syntax|hl.exe <parameter1> <parameter2> <cvar1> <cvar2>}}
{{syntax|hl.exe <parameter1> <parameter2> <cvar1> <cvar2>}}


=== Usage ===
=== Usage ===
Line 516: Line 516:
* Command-line batch script files launching these applications.
* Command-line batch script files launching these applications.
* Game launch options from Steam's Library.
* Game launch options from Steam's Library.
* Linux shell scripts pointing to the application with launch options. <code>executable -command</code>


=== Examples ===
=== Examples ===
* <code>steam.exe -applaunch 70 -dev -console -sw +sv_lan 1 +map MyMap</code>
* <code>steam.exe -applaunch 70 -dev -console -sw +sv_lan 1 +map MyMap</code>
* <code>hl.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust</code>
* <code>hl.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust</code>


=== Command-Line Parameters ===
=== Command-Line Parameters ===
* '''-game <[[Game Name Abbreviations|game]]>''' - Specifies which game/mod to run. Default is "valve".
{| class="wikitable sortable"
* '''-dll <name.dll>''' - Specifies which game DLL to use. Ex: <code>-dll dlls/zbotcz.dll</code>.
|-
* '''-condebug''' - Stores console output to "Half-Life\qconsole.log".{{Note|Can be toggled with '''condebug''' console command.}}
! Argument !! Description
* '''-dev''' - Enables developer mode.
|-
* '''-glext''' - When paired with "-dev" setting, outputs all OpenGL extensions supported by your graphics card.{{Note|Can do the same with '''gl_dump''' console command.}}
| '''-game <[[Game Name Abbreviations|game]]>''' || Specifies which game/mod to run. Default is "valve".
* '''-gl''' - Sets the rendered to OpenGL.
|-
* '''-soft''' - Sets the rendered to Software.
| '''-dll <name.dll>''' || Specifies which game DLL to use. Ex: <code>-dll dlls/zbotcz.dll</code>.
* '''-full''' - Forces the engine to start in fullscreen mode.
|-
* '''-window''' or '''-sw''' or '''-startwindowed''' or '''-windowed''' - Forces the engine to start in windowed mode.
| '''-condebug''' || Stores console output to "Half-Life\qconsole.log".{{Note|Can be toggled with '''condebug''' console command.}}
* '''-w <width>''' or '''-width <width>''' - Forces the engine to start with resolution set to <code><width></code>. Ex: <code>-w 1024</code>.
|-
* '''-h <height>''' or '''-height <height>'''- Forces the engine to start with resolution set to <code><height></code>. Ex: <code>-h 768</code>.
| '''-dev''' || Enables developer mode.
* '''-stretchaspect''' - The game by default adds black bars based on your game screen resolution. Use '''-stretchaspect''' on your command line if you want the old behavior back (just always fill the screen). Setting "-nofbo" also implies "-stretchaspect".
|-
* '''-freq <variable>''' - Force a specific refresh rate when running in fullscreen AND your monitor supports the frequency in question. {{Note|If you don't have a CRT monitor chances are you can't use this option.}}
| '''-glext''' || When paired with "-dev" setting, outputs all OpenGL extensions supported by your graphics card.{{Note|Can do the same with '''gl_dump''' console command.}}
* '''-mousethread''' - If set we poll the mouse position in another thread running at 100hz by default, to get better movement accuracy. Set the "m_mousethread_sleep" cvar to the number of seconds to sleep between mouse polls to change this rate.
|-
* '''-joy_advanced''' - Use advanced joystick options (allows for multiple axes).
| '''-gl''' || Sets the rendered to OpenGL.
* '''-joy_advr, -joy_advu, -joy_advv, -joy_advx, -joy_advy, -joy_advz''' - {{Todo}}
|-
* '''-nosound''' - Disables sound support. {{Note|Can do the same with '''nosound <0 or 1>''' console command.}}
| '''-soft''' || Sets the rendered to Software.
* '''-nocdaudio''' - Disables mp3 support. Also disallows '''cd''' console command to load mp3 tracks.
|-
* '''-wavonly''' - Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
| '''-full''' || Forces the engine to start in fullscreen mode.
* '''-nointro''' - Disables intro movies.
|-
* '''-noip''' - Disables network support.
| '''-window''' or '''-sw''' or '''-startwindowed''' or '''-windowed''' || Forces the engine to start in windowed mode.
* '''-noipx''' - Disables IPX support.
|-
* '''-nojoy''' - Disables joystick support.
| '''-w <width>''' or '''-width <width>''' || Forces the engine to start with resolution set to <code><width></code>. Ex: <code>-w 1024</code>.
* '''-nomouse''' - Disables in-game mouse support.
|-
* '''-noforcemparms''' - Forces the engine to use operating system mouse parameters.
| '''-h <height>''' or '''-height <height>''' || Forces the engine to start with resolution set to <code><height></code>. Ex: <code>-h 768</code>.
* '''-noforcemaccel''' - Forces the engine to use operating system mouse acceleration.
|-
* '''-noforcemspd''' - Forces the engine to use operating system mouse speed.
| '''-stretchaspect''' || The game by default adds black bars based on your game screen resolution. Use '''-stretchaspect''' on your command line if you want the old behavior back (just always fill the screen). Setting "-nofbo" also implies "-stretchaspect".
* '''-nofbo''' - Disables using the new method for rendering.
|-
* '''-nomsaa''' - Disables MSAA (Anti-Aliasing), setting "-nofbo" also implies "-nomsaa".
| '''-freq <variable>''' || Force a specific refresh rate when running in fullscreen AND your monitor supports the frequency in question. {{Note|If you don't have a CRT monitor chances are you can't use this option.}}
* '''-noborder''' - When used with the game set to windowed mode, will make the game act as if in fullscreen mode (no window border).{{Bug|Doesn't hide window border, only control buttons.}}  
|-
* '''-nodirectblit''' - Disables direct blitting (Blit is shorthand for "block image transfer" or bit blit).
| '''-mousethread''' || If set we poll the mouse position in another thread running at 100hz by default, to get better movement accuracy. Set the "m_mousethread_sleep" cvar to the number of seconds to sleep between mouse polls to change this rate.
* '''-nobots''' - Disables bots.
|-
* '''-port <port>''' - Specifies which port to use for client connections for a listen server. Default is 27015.{{Note|Can do the same with '''port''' console command.}}
| '''-joy_advanced''' || Use advanced joystick options (allows for multiple axes).
* '''-demoedit''' - Enables hidden Demo editor.{{Note|Use '''viewdemo''' console command to get access.}}
|-
* '''-num_edicts <variable>''' - Sets the entity limit for map/game entities (not temporary entities, which is still locked to 500). 900 is default. 4096 is a good limit, beyond that seems to cause hunk_alloc errors{{confirm}}. Both clients and servers need matching values for best compatibility{{confirm}}.
| '''-joy_advr, -joy_advu, -joy_advv, -joy_advx, -joy_advy, -joy_advz''' || Forces specific axis to use advanced joystick options. {{confirm}}
* '''-heapsize <kilobytes>''' - Specifies the amount of heap(or free store - cache, an area of memory used for dynamic memory allocation) the engine will use. Minimum value is 14336(14 MB). Maximum value is 131072(128 MB). By default this is set to 40960 (40 MB) and automatically adjusted to suit your system.{{Note|Low value causes "Unable to allocate X.X MB" exit error.}}
|-
* '''-zone <bytes>''' - Specifies the amount of Bytes of memory for use with the console system.{{Note|Low or very high value causes [[Z_malloc|Z_Malloc]] exit error.}}
| '''-nosound''' || Disables sound support. {{Note|Can do the same with '''nosound <0 or 1>''' console command.}}
* '''-exec <file>''' - Executes specific config file immediately after the engine is loaded.
|-
* '''+<console variable> <arg>''' - Sets the Cvar (or [[console variable]]) to the specified setting.
| '''-nocdaudio''' || Disables mp3 support. Also disallows '''cd''' console command to load mp3 tracks.
|-
| '''-wavonly''' || Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
|-
| '''-nointro''' || Disables intro movies.
|-
| '''-noip''' || Disables network support. Not the same as Steam Offline mode.
|-
| '''-noipx''' || Disables IPX support.
|-
| '''-nojoy''' || Disables joystick support.
|-
| '''-nomouse''' || Disables in-game mouse support.
|-
| '''-noforcemparms''' || Forces the engine to use operating system mouse parameters.
|-
| '''-noforcemaccel''' || Forces the engine to use operating system mouse acceleration.
|-
| '''-noforcemspd''' || Forces the engine to use operating system mouse speed.
|-
| '''-nofbo''' || Disables using the new method for rendering.
|-
| '''-nomsaa''' || Disables MSAA (Anti-Aliasing), setting "-nofbo" also implies "-nomsaa".
|-
| '''-noborder''' || When used with the game set to windowed mode, will make the game act as if in fullscreen mode (no window border).{{Bug|Doesn't hide window border, only control buttons.}}
|-
| '''-nodirectblit''' || Disables direct blitting (Blit is shorthand for "block image transfer" or bit blit).
|-
| '''-nobots''' || Disables bots.
|-
| '''-port <port>''' || Specifies which port to use for client connections for a listen server. Default is 27015.{{Note|Can do the same with '''port''' console command.}}
|-
| '''-demoedit''' || Enables hidden Demo editor.{{Note|Use '''viewdemo''' console command to get access.}}
|-
| '''-num_edicts <variable>''' || Sets the entity limit for map/game entities (not temporary entities, which is still locked to 500). 900 is default. 4096 is a good limit, beyond that seems to cause hunk_alloc errors{{confirm}}. Both clients and servers need matching values for best compatibility{{confirm}}.
|-
| '''-heapsize <kilobytes>''' || Specifies the amount of heap(or free store - cache, an area of memory used for dynamic memory allocation) the engine will use. Minimum value is 14336(14 MB). Maximum value is 131072(128 MB). By default this is set to 40960 (40 MB) and automatically adjusted to suit your system.{{Note|Low value causes "Unable to allocate X.X MB" exit error.}}
|-
| '''-zone <bytes>''' || Specifies the amount of Bytes of memory for use with the console system.{{Note|Low or very high value causes [[Z_malloc|Z_Malloc]] exit error.}}
|-
| '''-exec <file>''' || Executes specific config file immediately after the engine is loaded.
|-
| '''+<console variable> <arg>''' || Sets the Cvar (or [[console variable]]) to the specified setting.
|}
 


==== Useful Console Variables ====
==== Useful Console Variables ====
* '''+_setgamedir <[[Game Name Abbreviations|game]]>''' - Specifies which game/mod to run.
{| class="wikitable sortable"
* '''+_setrenderer <variable>''' - Sets the rendering mode. Available parameters are '''opengl''' and '''software'''.{{Note|Parameter '''D3D''' is deprecated.}}
|-
* '''+_setvideomode''' - {{Todo}}
! Console Variable !! Description
* '''+_set_vid_level <0 or 1>''' - Toogles "Low video quality".
|-
* '''+_setaddons_folder <0 or 1>''' - Toogles "Allow custom addon content".
| '''+_setgamedir <[[Game Name Abbreviations|game]]>''' || Specifies which game/mod to run.
* '''+_sethdmodels <0 or 1>''' - Toogles "Enable HD models if available".
|-
* '''+clientport <port>''' - Specifies which port to use to communicate with a server. Default is 27005.
| '''+_setrenderer <variable>''' || Sets the rendering mode. Available parameters are '''opengl''' and '''software'''.{{Note|Parameter '''D3D''' is deprecated.}}
* '''+gg <demoname>''' or '''+cl_gg 1 +playdemo <demoname>''' - Runs the demo in Game Gauge mode. This is a benchmark utility that runs through a demo as fast as possible and stores the framerate in the file fps.txt in the GameMod directory.
|-
* '''+log on''' or '''+log off''' - Toogles logging before the engine loads config files.
| '''+_setvideomode''' || {{Todo}}
|-
| '''+_set_vid_level <0 or 1>''' || Toogles "Low video quality".
|-
| '''+_setaddons_folder <0 or 1>''' || Toogles "Allow custom addon content".
|-
| '''+_sethdmodels <0 or 1>''' || Toogles "Enable HD models if available".
|-
| '''+clientport <port>''' || Specifies which port to use to communicate with a server. Default is 27005.
|-
| '''+gg <demoname>''' or '''+cl_gg 1 +playdemo <demoname>''' || Runs the demo in Game Gauge mode. This is a benchmark utility that runs through a demo as fast as possible and stores the framerate in the file fps.txt in the GameMod directory.
|-
| '''+log on''' or '''+log off''' || Toogles logging before the engine loads config files.
|}
 


==== Deprecated Command-Line Parameters ====
==== Deprecated Command-Line Parameters ====
Line 587: Line 648:
* '''-nosierra''' - Disables Sierra logo on GoldSrc games that have it.{{Note|Only works on retail editions of Half-Life; removed when it was transferred to Steam.}}
* '''-nosierra''' - Disables Sierra logo on GoldSrc games that have it.{{Note|Only works on retail editions of Half-Life; removed when it was transferred to Steam.}}
* '''-noaff''' - Disables setting of thread affinity.{{Note|No longer works.}}
* '''-noaff''' - Disables setting of thread affinity.{{Note|No longer works.}}


== {{Source2|4}} Games ==
== {{Source2|4}} Games ==
{{todo|fill this out.}}
{{todo|Fill this out. Confirm if launch options are HLA specific.}}
=== Command-Line Parameters ===
=== Command-Line Parameters ===
{| class="wikitable"
{| class="wikitable sortable"
! Argument !! Description
! Argument !! Description
|-
|-
| '''-allowmultiple''' || Allows multiple Source 2 instances to run at the same time. Only works if a <code>VPROJECT</code> environment variable is set. {{confirm|Does this exist in every S2 game or only HL:A?}}
| '''-allowmultiple''' || Allows multiple Source 2 instances to run at the same time. Only works if a <code>VPROJECT</code> environment variable is set. {{hla|only}}{{confirm}}
|-
|-
| '''[[-vrdebug]]''' || Allows the game to run without a VR headset. {{hla|only}}{{confirm}}
| '''[[-vrdebug]]''' || Allows the game to run without a VR headset. {{hla|only}}{{confirm}}
|}
|}


== Steam ==
== Steam ==
These command-line parameters work when launching the Steam application.
These command-line parameters work when launching the Steam application.


=== Command-Line Parameters ===
=== Command-Line Parameters ===
{| class="wikitable"
{| class="wikitable sortable"
! Argument !! Description
! Argument !! Description
|-
|-
Line 674: Line 738:
| '''-gamepadui''' || Enables the Big Picture Mode Steam Deck UI.
| '''-gamepadui''' || Enables the Big Picture Mode Steam Deck UI.
|}
|}


== HldsUpdateTool (Windows), Steam (Linux) ==
== HldsUpdateTool (Windows), Steam (Linux) ==
'''Syntax:''' <code>hldsupdatetool -command <command> [parameters] [flags]</code>
'''Syntax:''' <code>hldsupdatetool -command <command> [parameters] [flags]</code>


=== Commands ===
=== Commands ===
Line 682: Line 748:
*'''-command version''' - View installed versions.
*'''-command version''' - View installed versions.
*'''-command list''' - View available games.
*'''-command list''' - View available games.


=== Parameters for the Update Command ===
=== Parameters for the Update Command ===
Line 690: Line 757:
*'''-username <username>''' - Steam account username
*'''-username <username>''' - Steam account username
*'''-password <password>''' - Steam account password
*'''-password <password>''' - Steam account password


=== Flags for the Update Command ===
=== Flags for the Update Command ===
Line 695: Line 763:
*'''-retry''' - Automatically retry every 30 seconds if the Steam Network is busy.
*'''-retry''' - Automatically retry every 30 seconds if the Steam Network is busy.
*'''-remember_password''' - Remember password (if a username is supplied).
*'''-remember_password''' - Remember password (if a username is supplied).


=== Optional Parameters for All Commands ===
=== Optional Parameters for All Commands ===
*'''-nobootstrapupdate''' - Do not check for updates to the update tool
*'''-nobootstrapupdate''' - Do not check for updates to the update tool


== SteamCMD ==
== SteamCMD ==
The Steam Console Client or [[SteamCMD]] is a new tool to install and update dedicated servers using a command line interface. It only works with games that have switched over to the SteamPipe content system. Eventually all Steam games will switch from HLDSUpdateTool to this.
The Steam Console Client or [[SteamCMD]] is a new tool to install and update dedicated servers using a command line interface. It only works with games that have switched over to the SteamPipe content system. Eventually all Steam games will switch from HLDSUpdateTool to this.


{{syntax|steamcmd.exe <parameter1> <parameter2> <cvar1> <cvar2>}}
{{syntax|steamcmd.exe <parameter1> <parameter2> <cvar1> <cvar2>}}


To view the most up to date version of SteamCMD commands visit this GitHub repo:
To view the most up to date version of SteamCMD commands visit this GitHub repo:
https://github.com/dgibbs64/SteamCMD-Commands-List
https://github.com/dgibbs64/SteamCMD-Commands-List


=== Usage ===
=== Usage ===
* <code>steamcmd.exe +COMMAND1 [ARG] +COMMAND2 [ARG]</code>
* <code>steamcmd.exe +COMMAND1 [ARG] +COMMAND2 [ARG]</code>
* <code>steamcmd.exe +runscript SCRIPTFILE</code>
* <code>steamcmd.exe +runscript SCRIPTFILE</code>


=== Command-Line Parameters ===
=== Command-Line Parameters ===
{{Todo}}
{{Todo}}
=== Commands ===
=== Commands ===
{| class="wikitable"
{| class="wikitable sortable"
! Argument !! Parameter(s) !! Description
! Argument !! Parameter(s) !! Description
|-
|-
| api_logging || <enabled> <verbose> || Enable/disable verbose API logging in SteamCMD
| '''api_logging''' || <enabled> <verbose> || Enable/disable verbose API logging in SteamCMD
|-
|-
| app_build_all_depots || [-desc <text>] -depotconfigpath <folder> -contentroot <folder> -buildoutput <folder> <appid> || Build all depots for one app
| '''app_build_all_depots || [-desc <text>] -depotconfigpath <folder> -contentroot <folder> -buildoutput <folder> <appid> || Build all depots for one app
|-
|-
| app_dlc_status || app_status <appId> <dlcId> ||
| '''app_dlc_status''' || app_status <appId> <dlcId> ||
|-
|-
| app_info_print || || Dumps app info for appID
| '''app_info_print''' || None || Dumps app info for appID
|-
|-
| app_info_print || ||Dumps app info for appID
| '''app_info_print''' || None || Dumps app info for appID
|-
|-
| app_info_request || <AppID> || Issue an appinfo request for the given appid. Does not wait for results from the server.
| '''app_info_request''' || <AppID> || Issue an appinfo request for the given appid. Does not wait for results from the server.
|-
|-
| app_info_update || <nowiki>[0|1]</nowiki> || Trigger app info update, optionally for update all
| '''app_info_update''' || <nowiki>[0|1]</nowiki> || Trigger app info update, optionally for update all
|-
|-
| app_license_request || <AppID> || Requests a free licenses for this app if not already owned.
| '''app_license_request''' || <AppID> || Requests a free licenses for this app if not already owned.
|-
|-
| app_run|| <AppID> || Launches the app.
| '''app_run''' || <AppID> || Launches the app.
|-
|-
| app_set_config || <AppID> <key> <value> || Sets a config value for given app.
| '''app_set_config''' || <AppID> <key> <value> || Sets a config value for given app.
|-
|-
| app_set_update_flag || <appId> ||
| '''app_set_update_flag''' || <appId> ||
|-
|-
| app_status || <appId> ||
| '''app_status''' || <appId> ||
|-
|-
| app_stop || <appid> <nowiki>[force:0|1]</nowiki> || Stop this running app
| '''app_stop''' || <appid> <nowiki>[force:0|1]</nowiki> || Stop this running app
|-
|-
| app_uninstall || [-complete] <appId> ||
| '''app_uninstall''' || [-complete] <appId> ||
|-
|-
| app_update || <appid> [-validate] [-language <lang>] [-beta <betaname>] [-betapassword <pwd>] || Make sure a Steam application is up-to-date
| '''app_update''' || <appid> [-validate] [-language <lang>] [-beta <betaname>] [-betapassword <pwd>] || Make sure a Steam application is up-to-date
|-
|-
| app_update_cancel || <EAppUpdateError> ||
| '''app_update_cancel''' || <EAppUpdateError> ||
|-
|-
| apps_installed || ||
| '''apps_installed''' || {{Todo}} || {{Todo|Fill description.}}
|-
|-
| apps_running || || Displays information about running games tracked by Steam
| '''apps_running''' || None || Displays information about running games tracked by Steam
|-
|-
| async_disconnect || || Async disconnect
| '''async_disconnect''' || None || Async disconnect
|-
|-
| build_installer || <project file> <target folder> [beta key] [beta pwd] ||
| '''build_installer''' || <project file> <target folder> [beta key] [beta pwd] ||
|-
|-
| ceg_wrap || <appid> <orig filename> <stripped filename> <strips filename> || Upload executable to back end for CEG wrapping
| '''ceg_wrap''' || <appid> <orig filename> <stripped filename> <strips filename> || Upload executable to back end for CEG wrapping
|-
|-
| cm_force_change || || Change CM List
| '''cm_force_change''' || None || Change CM List
|-
|-
| device_authorize_status || || Prints device authorization status
| '''device_authorize_status''' || None || Prints device authorization status
|-
|-
| download_depot || <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>] || Download a single depot
| '''download_depot''' || <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>] || Download a single depot
|-
|-
| download_sources || || Dumps list of download sources
| '''download_sources''' || None || Dumps list of download sources
|-
|-
| drm_wrap || <appid> <input filename> <output filename> <toolname> <flags> || Upload executable to back end for DRM wrapping
| '''drm_wrap''' || <appid> <input filename> <output filename> <toolname> <flags> || Upload executable to back end for DRM wrapping
|-
|-
| dump_scheduled_functions || || Displays internal Steam function callback timers
| '''dump_scheduled_functions''' || None || Displays internal Steam function callback timers
|-
|-
| exit || || Stops Steam client console
| '''exit''' || None || Stops Steam client console
|-
|-
| find || || Find substrings in console commands
| '''find''' || None || Find substrings in console commands
|-
|-
| force_install_dir || <directory> || Sets the directory to install the server in
| '''force_install_dir''' || <directory> || Sets the directory to install the server in
|-
|-
| get_download_throttle || ||
| '''get_download_throttle''' || {{Todo}} || {{Todo|Fill description.}}
|-
|-
| help || || Show help information
| '''help''' || None || Show help information
|-
|-
| info || || Dump various Steam info
| '''info''' || None || Dump various Steam info
|-
|-
| install_folder_list || || List all mounted Steam volumes
| '''install_folder_list''' || None || List all mounted Steam volumes
|-
|-
| licenses_for_app ||<appid> || Shows active licenses for appid
| '''licenses_for_app''' ||<appid> || Shows active licenses for appid
|-
|-
| licenses_print || || Display users's Steam3 licenses
| '''licenses_print''' || None || Display users's Steam3 licenses
|-
|-
| log_callbacks || <first callbackID> [last callbackID] ||
| '''log_callbacks''' || <first callbackID> [last callbackID] ||
|-
|-
| log_ipc || [verbose] <filter> || Enables IPC logging. Specifying "counts" or "verbose" is optional, defaulting to counts.
| '''log_ipc''' || [verbose] <filter> || Enables IPC logging. Specifying "counts" or "verbose" is optional, defaulting to counts.
|-
|-
| login || <nowiki>[<password>|anonymous]</nowiki> [<Steam guard code>] || Login to Steam
| '''login''' || <nowiki>[<password>|anonymous]</nowiki> [<Steam guard code>] || Login to Steam
|-
|-
| logon || || See "login"
| '''logon''' || None || See "login"
|-
|-
| logoff || || Disconnect from Steam
| '''logoff''' || None || Disconnect from Steam
|-
|-
| logout || || See "logoff"
| '''logout''' || None || See "logoff"
|-
|-
| manifest_dump || <filename> ||
| '''manifest_dump''' || <filename> ||
|-
|-
| mem_stats || || Dump memory stats
| '''mem_stats''' || None || Dump memory stats
|-
|-
| net_msgdump || || Dumps list of sent net messages
| '''net_msgdump''' || None || Dumps list of sent net messages
|-
|-
| net_msgspew || || Spews sent net messages
| '''net_msgspew''' || None || Spews sent net messages
|-
|-
| p2p_info || || Displays the current state of the P2P networking subsystem.
| '''p2p_info''' || None || Displays the current state of the P2P networking subsystem.
|-
|-
| package_info_print || || Dumps package info for packageID
| '''package_info_print''' || None || Dumps package info for packageID
|-
|-
| quit || || Stops & close Steam client console
| '''quit''' || None || Stops & close Steam client console
|-
|-
| render_ipc_connections || ||
| '''render_ipc_connections''' || {{Todo}} || {{Todo|Fill description.}}
|-
|-
| run_app_build || [-preview] [-desc <text>] <appbuildfile> || Run app depot build as specified in appbuildfile
| '''run_app_build''' || [-preview] [-desc <text>] <appbuildfile> || Run app depot build as specified in appbuildfile
|-
|-
| run_app_build_http || || Alias for run_app_build
| '''run_app_build_http''' || None || Alias for run_app_build
|-
|-
| runscript || <script file, such as TXT> || Runs a console command script
| '''runscript''' || <script file, such as TXT> || Runs a console command script
|-
|-
| set_download_throttle || <Kb/s> <bPersistent = false> ||
| '''set_download_throttle''' || <Kb/s> <bPersistent = false> ||
|-
|-
| set_spew || <group> <level> <logLevel> || Set spew levels for the given group
| '''set_spew''' || <group> <level> <logLevel> || Set spew levels for the given group
|-
|-
| set_spew_level || <SpewLevel LogLevel> || Sets spew and log level for all groups
| '''set_spew_level''' || <SpewLevel LogLevel> || Sets spew and log level for all groups
|-
|-
| set_steam_guard_code || || Authorize this computer by adding the Steam Guard email code
| '''set_steam_guard_code''' || None || Authorize this computer by adding the Steam Guard email code
|-
|-
| sign_install_script || <appid> <input filename> <output filename> || Upload install script to back end for signing
| '''sign_install_script''' || <appid> <input filename> <output filename> || Upload install script to back end for signing
|-
|-
| test_dropcon || || Tests dropping a connection
| '''test_dropcon''' || None || Tests dropping a connection
|-
|-
| test_failnextconnect || || Tests failing the next connection
| '''test_failnextconnect''' || None || Tests failing the next connection
|-
|-
| upload_controller_config || <appid> <filename> || Upload controller config to cloud
| '''upload_controller_config''' || <appid> <filename> || Upload controller config to cloud
|-
|-
| user_friends || || Dumps list of friends
| '''user_friends''' || None || Dumps list of friends
|-
|-
| verify_chunk_store || <appid> <depotid> <datafile> || Run app depot build as specified in appbuildfile
| '''verify_chunk_store''' || <appid> <depotid> <datafile> || Run app depot build as specified in appbuildfile
|-
|-
| verify_vpk ||<datafile> || Verifies content of given VPK
| '''verify_vpk''' ||<datafile> || Verifies content of given VPK
|-
|-
| voice_game_usage || || Displays information about the game's use of Steam voice
| '''voice_game_usage''' || None || Displays information about the game's use of Steam voice
|-
|-
| workshop_build_item || <build config filename> || Build a workshop item
| '''workshop_build_item''' || <build config filename> || Build a workshop item
|-
|-
| workshop_create_legacy_item || <appid> <workshop file> || Build a legacy workshop item
| '''workshop_create_legacy_item''' || <appid> <workshop file> || Build a legacy workshop item
|-
|-
| workshop_download_item || <appid> <PublishedFileId> || Download a workshop item
| '''workshop_download_item''' || <appid> <PublishedFileId> || Download a workshop item
|-
|-
| workshop_status || <appId> ||
| '''workshop_status''' || <appId> || {{Todo|Fill description.}}
|}
|}


=== ConVars ===
=== ConVars ===
* app_info_http_min = "0"         : 
{| class="wikitable sortable"
* app_info_http_num_sockets = "8"          : 
! Argument !! Default Parameter !! Description
* AsyncFileIODisableWrite = "0"          : 
|-
* AsyncFileIOExpectOutstandingIO = "16"        : 
| '''app_info_http_min''' || 0 || {{Todo|Fill description.}}
* AsyncFileIOForceGenericIO = "1"          : 
|-
* AsyncFileIOMaxPending = "128"        : 
| '''app_info_http_num_sockets''' || 8 || {{Todo|Fill description.}}
* AsyncFileIOReadHandleCache = "32"        : 
|-
* AsyncFileIOWriteHandleCache = "32"        : 
| '''AsyncFileIODisableWrite''' || 0 || {{Todo|Fill description.}}
* batterypercent = "0"          : 
|-
* batterytime = "0"          : 
| '''AsyncFileIOExpectOutstandingIO''' || 16 || {{Todo|Fill description.}}
* bCheckForFreeGamesOnLogin = "0"          : 
|-
* bCheckUGCIntegrity = "1"          : 
| '''AsyncFileIOForceGenericIO''' || 1 || {{Todo|Fill description.}}
* @bContentManifestUseProtobufs = "1"          : 
|-
* @bCSClientRateLimitUseDelays = "0"          : 
| '''AsyncFileIOMaxPending''' || 128 || {{Todo|Fill description.}}
* @bCSForceNoCache = "0"          : 
|-
* @bDepotBuilderReadBufferSizeKB = "8192"      : 
| '''AsyncFileIOReadHandleCache''' || 32 || {{Todo|Fill description.}}
* @bDepotBuilderUnbufferedReads = "1"          : 
|-
* bDisableTenFootOverlay = "0"          : 
| '''AsyncFileIOWriteHandleCache''' || 32 || {{Todo|Fill description.}}
* @bEnableMovieRecording = "0"          : 
|-
* @bEnableOfflineLogonTicket = "1"          : If true, an offline logon ticket will be requested during logon if none is cached
| '''batterypercent''' || 0 || {{Todo|Fill description.}}
* @bEnableSpewThrottle = "1"          : 
|-
* bEnableSubscribedFileListCache = "1"          : 
| '''batterytime''' || 0 || {{Todo|Fill description.}}
* bFinishStagedDepotVersions = "1"          : 
|-
* @bForceStreamUnsupportedApp = "0"          : 
| '''bCheckForFreeGamesOnLogin''' || 0 || {{Todo|Fill description.}}
* @bLANPeerConnectionTimeoutSec = "5"          : 
|-
* bLogLegacyDiskDetails = "0"          : 
| '''bCheckUGCIntegrity''' || 1 || {{Todo|Fill description.}}
* @bMsgErrorDump = "0"          : 
|-
* @bRequireOfflineLogonTicket = "0"          : If true, a valid offline logon ticket is required when logging in in offline or no connection mode
| '''@bContentManifestUseProtobufs''' || 1 || {{Todo|Fill description.}}
* @bRequireSignedParentalSettings = "1"          : If true, a valid set of signed parental settings is required when logging in in offline or no connection mode
|-
* broadcast_upload_drop_sec = "6"          : 
| '''@bCSClientRateLimitUseDelays''' || 0 || {{Todo|Fill description.}}
* broadcast_upload_update_sec = "3"          : 
|-
* bSteam3LimitedUserEnable = "1"          : 
| '''@bCSForceNoCache''' || 0 || {{Todo|Fill description.}}
* bSteamLoaderEnable = "1"          : 
|-
* bSubscribedFilesDecompressOnClient = "1"          : 
| '''@bDepotBuilderReadBufferSizeKB''' || 8192 || {{Todo|Fill description.}}
* bSubscribedFilesPollForUpdates = "0"          : 
|-
* bSubscribedFilesUseRangeRequests = "0"          : 
| '''@bDepotBuilderUnbufferedReads''' || 1 || {{Todo|Fill description.}}
* bVerifyAllDownloads = "0"          : 
|-
* cAppUpdateWorkingSetMB = "128"        : 
| '''bDisableTenFootOverlay''' || 0 || {{Todo|Fill description.}}
* @cbPartnerUploadChunkSize = "1000000"    : Chunk size to use for POSTing partner uploads
|-
* @cCSClientMaxNumSocketsPerHost = "8"          : 
| '''@bEnableMovieRecording''' || 0 || {{Todo|Fill description.}}
* @cDepotBuilderFileChunkingThreads = "4"          : 
|-
* cFileValidationMaxLog = "100"        : 
| '''@bEnableOfflineLogonTicket''' || 1 || If true, an offline logon ticket will be requested during logon if none is cached
* ClientStatsUploadRateSeconds = "10"        : 
|-
* @cMaxContentServersToRequest = "20"        : 
| '''@bEnableSpewThrottle''' || 1 || {{Todo|Fill description.}}
* @cMaxInitialDownloadSources = "-1"        : 
|-
* @cNetEncryptionHandshakeWorkMax_HighPri = "8000"      : 
| '''bEnableSubscribedFileListCache''' || 1 || {{Todo|Fill description.}}
* @cNetEncryptionHandshakeWorkMax_LowPri = "2000"      : 
|-
* @cNetEncryptionHandshakeWorkMax_MedPri = "4000"      : 
| '''bFinishStagedDepotVersions''' || 1 || {{Todo|Fill description.}}
* countrycode = ""          : 
|-
* cPreallocateMinimumSizeKB = "256"        : 
| '''@bForceStreamUnsupportedApp''' || 0 || {{Todo|Fill description.}}
* @csecCSRequestProcessorTimeOut = "300"        : 
|-
* @csecFavoriteGameAccountCacheTime = "86400"      : Control how often we refresh the account IDs in the game server favorites list
| '''@bLANPeerConnectionTimeoutSec''' || 5 || {{Todo|Fill description.}}
* @csecIncomingDataRatePeriod = "1"          : 
|-
* csecManifestDownloadTimeout = "120"        : 
| '''bLogLegacyDiskDetails''' || 0 || {{Todo|Fill description.}}
* @csecUpdateTargetNumConnectionsEpoch = "10"        : 
|-
* @cSecUploadDownloadRates = "300"        : 
| '''@bMsgErrorDump''' || 0 || {{Todo|Fill description.}}
* @CSInterfaceProxyPassword = ""          : 
|-
* @CSInterfaceProxyUsername = ""          : 
| '''@bRequireOfflineLogonTicket''' || 0 || If true, a valid offline logon ticket is required when logging in in offline or no connection mode
* @cUDPSendRetries = "8"          : 
|-
* @CustomBinaryRequestRetryTimes = "20"        : 
| '''@bRequireSignedParentalSettings''' || 1 || If true, a valid set of signed parental settings is required when logging in in offline or no connection mode
* @DepotBuilderAppInfoTimeout = "120"        : 
|-
* @DepotBuilderConfigRoot = "./depotscripts" : 
| '''broadcast_upload_drop_sec''' || 6 || {{Todo|Fill description.}}
* @DepotBuilderContentRoot = ""          : 
|-
* @DepotBuilderMaxParallelUploadChunks = "24"        : 
| '''broadcast_upload_update_sec''' || 3 || {{Todo|Fill description.}}
* @DepotBuilderNoReslist = "0"          : 
|-
* @DepotBuilderNumHTTPSocketsToMDS = "12"        : 
| '''bSteam3LimitedUserEnable''' || 1 || {{Todo|Fill description.}}
* @DepotBuilderOutputRoot = ""          : 
|-
* @DepotBuilderParallelUploadChunks = "6"          : 
| '''bSteamLoaderEnable''' || 1 || {{Todo|Fill description.}}
* @DepotBuilderProgressTimeout = "1000"      : 
|-
* DepotDownloadProgressTimeout = "120"        : 
| '''bSubscribedFilesDecompressOnClient''' || 1 || {{Todo|Fill description.}}
* DepotReconstructionLowPrio = "1"          : 
|-
* DepotReconstructionNumIOThreads = "1"          : 
| '''bSubscribedFilesPollForUpdates''' || 0 || {{Todo|Fill description.}}
* DepotUseAlternatingReadWrite = "1"          : 
|-
* developer = "0"          : 
| '''bSubscribedFilesUseRangeRequests''' || 0 || {{Todo|Fill description.}}
* @EnableUDPHistory = "0"          : 
|-
* @fDownloadRateImprovementToAddAnotherConnection = "1.2"        : 
| '''bVerifyAllDownloads''' || 0 || {{Todo|Fill description.}}
* findbestcellstartupdelay = "600"        : 
|-
* @fMinDataRateToAttemptTwoConnectionsMbps = "0.5"        : 
| '''cAppUpdateWorkingSetMB''' || 128 || {{Todo|Fill description.}}
* @GCNameOverride = ""          : 
|-
* @IOCPGetCompletionBatchSize = "1"          : 
| '''@cbPartnerUploadChunkSize''' || 1000000 || Chunk size to use for POSTing partner uploads
* @LocalContentServer = ""          : 
|-
* log_files_always_flush = "0"          : 
| '''@cCSClientMaxNumSocketsPerHost''' || 8 || {{Todo|Fill description.}}
* log_matchmaking_callbacks = "0"          : 
|-
* @MaxOutstandingSendThreadItem = "1000"      : 
| '''@cDepotBuilderFileChunkingThreads''' || 4 || {{Todo|Fill description.}}
* mic_autogain = "16000"      : automatic gain control level for microphone input
|-
* mic_inputfile = ""          : causes voice data to be read from the specified file instead of from the microphone
| '''cFileValidationMaxLog''' || 100 || {{Todo|Fill description.}}
* mic_outputfile = ""          : causes microphone data to be written out to the specified file
|-
* musiclogging = "0"          : 
| '''ClientStatsUploadRateSeconds''' || 10 || {{Todo|Fill description.}}
* nBroadcastSessionHearbeatSec = "120"        : 
|-
* nBroadcastSessionMaxDropFrames = "100"        : 
| '''@cMaxContentServersToRequest''' || 20 || {{Todo|Fill description.}}
* nClientBackgroundAutoUpdateTimeSpreadMinutes = "0"          : Number of minutes to spread background auto-updates out over
|-
* nClientCMUDPPingTimeGoodEnoughThresholdMS = "50"        : 
| '''@cMaxInitialDownloadSources''' || -1 || {{Todo|Fill description.}}
* nClientCMUDPPingTimeoutUseGoodEnoughMS = "250"        : 
|-
* nCloudDownloadMinIntervalSec = "60"        : 
| '''@cNetEncryptionHandshakeWorkMax_HighPri''' || 8000 || {{Todo|Fill description.}}
* nCloudFileCompressionMinFileSizeKB = "16"        : 
|-
* nCloudFileCompressionMinFileSizeKBSharedFile = "128"        : 
| '''@cNetEncryptionHandshakeWorkMax_LowPri''' || 2000 || {{Todo|Fill description.}}
* nCloudFileCompressionPercentageMin = "10"        : 
|-
* nCloudFileCompressionPercentageMinSharedFile = "50"        : 
| '''@cNetEncryptionHandshakeWorkMax_MedPri''' || 4000 || {{Todo|Fill description.}}
* nCloudSyncIntervalSec = "30"        : 
|-
* nCloudUploadMinIntervalSec = "1800"      : 
| '''countrycode''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
* nContentStatsReportInterval = "72"        : In Hours
|-
* @nCSClientRateLimitKbps = "0"          : 
| '''cPreallocateMinimumSizeKB''' || 256 || {{Todo|Fill description.}}
* @nDownloadLANChunkCacheSizeMB = "128"        : 
|-
* @nDownloadLANPeerGroup = "0"          : 
| '''@csecCSRequestProcessorTimeOut''' || 300 || {{Todo|Fill description.}}
* @net_backlog_bytes_allowed = "12000000"  : 
|-
* @net_backlog_time_allowed_sec = "5"          : 
| '''@csecFavoriteGameAccountCacheTime''' || 86400 || Control how often we refresh the account IDs in the game server favorites list
* @NetConnectionBufferMsgLimit = "1000"      : Max # of message that will be buffered into a single zipped packet
|-
* @NetConnectionBufferThreaded = "1"         : 
| '''@csecIncomingDataRatePeriod''' || 1 || {{Todo|Fill description.}}
* net_incomingcheck = "1"          : 
|-
* @net_loopback = "1"          : 
| '''csecManifestDownloadTimeout''' || 120 || {{Todo|Fill description.}}
* net_maxresendsperframe = "32"        : 
|-
* @nLANPeerRateLimitKbps = "0"          : 
| '''@csecUpdateTargetNumConnectionsEpoch''' || 10 || {{Todo|Fill description.}}
* @nNetConnectionBufferZipLevel = "1"          : 
|-
* @NoPromptForPassword = "0"          : 
| '''@cSecUploadDownloadRates''' || 300 || {{Todo|Fill description.}}
* @nParentalSettingsLogLevel = "4"          : Control the amount of spew written to the parental log file
|-
* nProductInfoUpdateInterval = "900"        : 
| '''@CSInterfaceProxyPassword''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
* @nSpewThrottleNagFrequencyMs = "5000"      : 
|-
* n@SpewThrottlePeriodMs = "1000"      : 
| '''@CSInterfaceProxyUsername''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
* @nSpewThrottleResumeThreshold = "3"          : 
|-
* @nSpewThrottleTriggerThreshold = "10"        : 
| '''@cUDPSendRetries''' || 8 || {{Todo|Fill description.}}
* @nSpewThrottleUnconditionalResumeMs = "5000"      : 
|-
* @nSpewThrottleUnconditionalTriggerCount = "50"        : 
| '''@CustomBinaryRequestRetryTimes''' || 20 || {{Todo|Fill description.}}
* nSubscribedAutoDownloadMaxSimultaneous = "8"          : 
|-
* @nTCPLargeSendBufSizeMB = "16"        : 
| '''@DepotBuilderAppInfoTimeout''' || 120 || {{Todo|Fill description.}}
* p2p_connecttimeout = "15"        : 
|-
* p2p_unusedtimeout = "120"        : 
| '''@DepotBuilderConfigRoot''' || "./depotscripts" || {{Todo|Fill description.}}
* rtime32EarliestSubscribedFileToDownload = "1348857570" : 
|-
* @sCSDSVirtualHostHeader = ""          : 
| '''@DepotBuilderContentRoot''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
* ServerBrowserPingSurveySubmitPct = "5"          : 
|-
* @ShutdownOnFailedCommand = "1"          : Exit steamcmd immediately upon any failed build-related command
| '''@DepotBuilderMaxParallelUploadChunks''' || 24 || {{Todo|Fill description.}}
* spew_controller_loss = "0"          : 
|-
* @sSteamCmdForcePlatformBitness = ""          : Must be one of: [32 | 64]
| '''@DepotBuilderNoReslist''' || 0 || {{Todo|Fill description.}}
* @sSteamCmdForcePlatformType = ""          : Must be one of: [windows | macos | linux]
|-
* @strCSNoCacheHeader = "no-cache"  : 
| '''@DepotBuilderNumHTTPSocketsToMDS''' || 12 || {{Todo|Fill description.}}
* @StreamClientArgs = ""          : 
|-
* testappcloudpaths = "0"          : 
| '''@DepotBuilderOutputRoot''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
* uForcePreloadApp = "0"          : 
|-
* UGCCDNReportPct = "100"        : 
| '''@DepotBuilderParallelUploadChunks''' || 6 || {{Todo|Fill description.}}
* voice_autogain = "0"          : 
|-
* voice_minabs = "0.15"      : 
| '''@DepotBuilderProgressTimeout''' || 1000 || {{Todo|Fill description.}}
* voice_minavg = "1.0"        : 
|-
* voice_outputdevice = "0"          : 0=>Miles 1=>XAudio2
| '''DepotDownloadProgressTimeout''' || 120 || {{Todo|Fill description.}}
* voice_outputfile = ""          : causes output from voice system to be written out to the specified file
|-
* voice_preprocess = "1"          : enables voice cleanup on incoming microphone data
| '''DepotReconstructionLowPrio''' || 1 || {{Todo|Fill description.}}
* voice_quality = "4"          : 
|-
* workshop_items_cache_days = "14"        : 
| '''DepotReconstructionNumIOThreads''' || 1 || {{Todo|Fill description.}}
* workshop_items_update_interval = "900"        :  
|-
| '''DepotUseAlternatingReadWrite''' || 1 || {{Todo|Fill description.}}
|-
| '''developer''' || 0 || {{Todo|Fill description.}}
|-
| '''@EnableUDPHistory''' || 0 || {{Todo|Fill description.}}
|-
| '''@fDownloadRateImprovementToAddAnotherConnection''' || 1.2 || {{Todo|Fill description.}}
|-
| '''findbestcellstartupdelay''' || 600 || {{Todo|Fill description.}}
|-
| '''@fMinDataRateToAttemptTwoConnectionsMbps''' || 0.5 || {{Todo|Fill description.}}
|-
| '''@GCNameOverride''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
|-
| '''@IOCPGetCompletionBatchSize''' || 1 || {{Todo|Fill description.}}
|-
| '''@LocalContentServer''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
|-
| '''log_files_always_flush''' || 0 || {{Todo|Fill description.}}
|-
| '''log_matchmaking_callbacks''' || 0 || {{Todo|Fill description.}}
|-
| '''@MaxOutstandingSendThreadItem''' || 1000 || {{Todo|Fill description.}}
|-
| '''mic_autogain''' || 16000 || Automatic gain control level for microphone input
|-
| '''mic_inputfile''' || Empty {{Todo|Supply Information}}|| Causes voice data to be read from the specified file instead of from the microphone
|-
| '''mic_outputfile''' || Empty {{Todo|Supply Information}}|| Causes microphone data to be written out to the specified file
|-
| '''musiclogging''' || 0 || {{Todo|Fill description.}}
|-
| '''nBroadcastSessionHearbeatSec''' || 120 || {{Todo|Fill description.}}
|-
| '''nBroadcastSessionMaxDropFrames''' || 100 || {{Todo|Fill description.}}
|-
| '''nClientBackgroundAutoUpdateTimeSpreadMinutes''' || 0 || {{Todo|Fill description.}}
|-
| '''nClientCMUDPPingTimeGoodEnoughThresholdMS''' || 50 || {{Todo|Fill description.}}
|-
| '''nClientCMUDPPingTimeoutUseGoodEnoughMS''' || 250 || {{Todo|Fill description.}}
|-
| '''nCloudDownloadMinIntervalSec''' || 60 || {{Todo|Fill description.}}
|-
| '''nCloudFileCompressionMinFileSizeKB''' || 16 || {{Todo|Fill description.}}
|-
| '''nCloudFileCompressionMinFileSizeKBSharedFile''' || 128 || {{Todo|Fill description.}}
|-
| '''nCloudFileCompressionPercentageMin''' || 10 || {{Todo|Fill description.}}
|-
| '''nCloudFileCompressionPercentageMinSharedFile''' || 50 || {{Todo|Fill description.}}
|-
| '''nCloudSyncIntervalSec''' || 30 || {{Todo|Fill description.}}
|-
| '''nCloudUploadMinIntervalSec''' || 1800 || {{Todo|Fill description.}}
|-
| '''nContentStatsReportInterval''' || 72 || In Hours {{Todo|Complete description.}}
|-
| '''@nCSClientRateLimitKbps''' || 0 || {{Todo|Fill description.}}
|-
| '''@nDownloadLANChunkCacheSizeMB''' || 128 || {{Todo|Fill description.}}
|-
| '''@nDownloadLANPeerGroup''' || 0 || {{Todo|Fill description.}}
|-
| '''@net_backlog_bytes_allowed''' || 12000000 || {{Todo|Fill description.}}
|-
| '''@net_backlog_time_allowed_sec''' || 5 || {{Todo|Fill description.}}
|-
| '''@NetConnectionBufferMsgLimit''' || 1000 || Max # of message that will be buffered into a single zipped packet
|-
| '''@NetConnectionBufferThreaded''' || 1 || {{Todo|Fill description.}}
|-
| '''net_incomingcheck''' || 1 || {{Todo|Fill description.}}
|-
| '''@net_loopback''' || 1 || {{Todo|Fill description.}}
|-
| '''net_maxresendsperframe''' || 32 || {{Todo|Fill description.}}
|-
| '''@nLANPeerRateLimitKbps''' || 0 || {{Todo|Fill description.}}
|-
| '''@nNetConnectionBufferZipLevel''' || 1 || {{Todo|Fill description.}}
|-
| '''@NoPromptForPassword''' || 0 || {{Todo|Fill description.}}
|-
| '''@nParentalSettingsLogLevel''' || 4 || Control the amount of spew written to the parental log file
|-
| '''nProductInfoUpdateInterval''' || 900 || {{Todo|Fill description.}}
|-
| '''@nSpewThrottleNagFrequencyMs''' || 5000 || {{Todo|Fill description.}}
|-
| '''n@SpewThrottlePeriodMs''' || 1000 || {{Todo|Fill description.}}
|-
| '''@nSpewThrottleResumeThreshold''' || 3 || {{Todo|Fill description.}}
|-
| '''@nSpewThrottleTriggerThreshold''' || 10 || {{Todo|Fill description.}}
|-
| '''@nSpewThrottleUnconditionalResumeMs''' || 5000 || {{Todo|Fill description.}}
|-
| '''@nSpewThrottleUnconditionalTriggerCount''' || 50 || {{Todo|Fill description.}}
|-
| '''nSubscribedAutoDownloadMaxSimultaneous''' || 8 || {{Todo|Fill description.}}
|-
| '''@nTCPLargeSendBufSizeMB''' || 16 || {{Todo|Fill description.}}
|-
| '''p2p_connecttimeout''' || 15 || {{Todo|Fill description.}}
|-
| '''p2p_unusedtimeout''' || 120 || {{Todo|Fill description.}}
|-
| '''rtime32EarliestSubscribedFileToDownload''' || 1348857570{{confirm}} || {{Todo|Fill description.}}
|-
| '''@sCSDSVirtualHostHeader''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
|-
| '''ServerBrowserPingSurveySubmitPct''' || 5 || {{Todo|Fill description.}}
|-
| '''@ShutdownOnFailedCommand''' || 1 || Exit steamcmd immediately upon any failed build-related command
|-
| '''spew_controller_loss''' || 0 || {{Todo|Fill description.}}
|-
| '''@sSteamCmdForcePlatformBitness''' || Empty {{Todo|Supply Information}}|| Must be one of: <32, 64> {{Todo|Complete description.}}
|-
| '''@sSteamCmdForcePlatformType''' || Empty {{Todo|Supply Information}}|| Must be one of: <windows, macos, linux> {{Todo|Complete description.}}
|-
| '''@strCSNoCacheHeader''' || no-cache || {{Todo|Fill description.}}
|-
| '''@StreamClientArgs''' || Empty {{Todo|Supply Information}}|| {{Todo|Fill description.}}
|-
| '''testappcloudpaths''' || 0 || {{Todo|Fill description.}}
|-
| '''uForcePreloadApp''' || 0 || {{Todo|Fill description.}}
|-
| '''UGCCDNReportPct''' || 100 || {{Todo|Fill description.}}
|-
| '''voice_autogain''' || 0 || {{Todo|Fill description.}}
|-
| '''voice_minabs''' || 0.15 || {{Todo|Fill description.}}
|-
| '''voice_minavg''' || 1.0 || {{Todo|Fill description.}}
|-
| '''voice_outputdevice''' || 0 || 0=>Miles 1=>XAudio2 {{Todo|Complete description.}}
|-
| '''voice_outputfile''' || Empty {{Todo|Supply Information}}|| Causes output from voice system to be written out to the specified file
|-
| '''voice_preprocess''' || 1 || Enables voice cleanup on incoming microphone data
|-
| '''voice_quality''' || 4 || {{Todo|Fill description.}}
|-
| '''workshop_items_cache_days''' || 14 || {{Todo|Fill description.}}
|-
| '''workshop_items_update_interval''' || 900 || {{Todo|Fill description.}}
|}
=== Examples ===
=== Examples ===
* <code>steamcmd(dot)exe +login <username> <password> +force_install_dir <path> +app_update <appid> -validate</code>
* <code>steamcmd(dot)exe +login <username> <password> +force_install_dir <path> +app_update <appid> -validate</code>


== Source Dedicated Server ==
== Source Dedicated Server ==
Command-line arguments for the Source Dedicated Server executable (<code>srcds.exe</code>, <code>srcds_run</code>)
Command-line arguments for the Source Dedicated Server executable (<code>srcds.exe</code>, <code>srcds_run</code>)


=== Command-Line Parameters ===
=== Command-Line Parameters ===
; <code>-allowdebug</code>
{| class="wikitable sortable"
: (Same as -debug ?)
! Argument !! Description
; <code>-autoupdate</code>
|-
: Autoupdate the game. Requires -steam_dir and -steamcmd_script to be set (Linux/Unix only).
| '''-allowdebug''' || (Same as -debug ?)
; <code>-binary <binary></code>
|-
: Use the specified binary (no auto detection) (Linux/Unix only).
| '''-autoupdate''' || Autoupdate the game. Requires -steam_dir and -steamcmd_script to be set (Linux/Unix only).
; <code>-console</code>
|-
: SrcDS will run in console mode (Windows only).
| '''-binary <binary>''' || Use the specified binary (no auto detection) (Linux/Unix only).
; <code>-debug</code>
|-
: Run debugging on failed servers if possible. Requires -gdb to be set {{confirm}}
| '''-console''' || SrcDS will run in console mode (Windows only).
; <code>-debuglog <logname></code>
|-
: Log debug output to this file (Linux/Unix only).
| '''-debug''' || Run debugging on failed servers if possible. Requires -gdb to be set {{confirm}}
; <code>-dev</code>
|-
: Show developer messages.
| '''-debuglog <logname>''' || Log debug output to this file (Linux/Unix only).
; <code>-fake_stale_server</code>
|-
: {{csgo}}Skip check game version from steam and goes straight to '''out-of-date''' state
| '''-dev''' || Show developer messages.
; <code>-game <game or path></code>
|-
: Specifies which game/mod to run. Accepts either a path to a [[gameinfo.txt]], or [[Game Name Abbreviations|one of these pre-set values]].
| '''-fake_stale_server''' || {{csgo}}Skip check game version from steam and goes straight to '''out-of-date''' state
; <code>-gdb <gdb></code>
|-
: Use <dbg> as the debugger of failed servers (Linux/Unix only).
| '''-game <game or path>''' || Specifies which game/mod to run. Accepts either a path to a [[gameinfo.txt]], or [[Game Name Abbreviations|one of these pre-set values]].
; <code>-help</code>
|-
: ? (Linux/Unix only).
| '''-gdb <gdb>''' || Use <dbg> as the debugger of failed servers (Linux/Unix only).
; <code>-insecure</code>
|-
: Will start the server without [[Valve Anti-Cheat]].
| '''-help''' || ? (Linux/Unix only).
; <code>-ignoresigint</code>
|-
: (Linux/Unix only) Ignore signal INT (prevents CTRL+C quitting).
| '''-insecure''' || Will start the server without [[Valve Anti-Cheat]].
; <code>-ip</code>
|-
: Specifies the address to use for the bind(2) syscall, which controls on which IP addresses the program is reachable on. It must either be a local address (an addresses of the host it runs on) or 0.0.0.0 (the wildcard). This has nothing to do with externally-visible addresses in NAT setups.
| '''-ignoresigint''' || (Linux/Unix only) Ignore signal INT (prevents CTRL+C quitting).
; <code>-maxplayers <number></code>
|-
: Specifies how many player slots the server can contain. (CSGO Maxplayers is deprecated, set it in gamemodes_server.txt or use '''-maxplayers_override''' instead.)
| '''-ip''' || Specifies the address to use for the bind(2) syscall, which controls on which IP addresses the program is reachable on. It must either be a local address (an addresses of the host it runs on) or 0.0.0.0 (the wildcard). This has nothing to do with externally-visible addresses in NAT setups.
; <code>-nobots</code>
|-
: Disable bots.
| '''-maxplayers <number>''' || Specifies how many player slots the server can contain. (CSGO Maxplayers is deprecated, set it in gamemodes_server.txt or use '''-maxplayers_override''' instead.)
; <code>-nohltv</code>
|-
: Disables [[SourceTV]] and closes its port (usually 27020).
| '''-nobots''' || Disable bots.
; <code>-norestart</code>
|-
: Won't attempt to restart failed servers.
| '''-nohltv''' || Disables [[SourceTV]] and closes its port (usually 27020).
; <code>-notrap</code>
|-
: (Linux/Unix only) Don't use trap. This prevents automatic removal of old lock files.
| '''-norestart''' || Won't attempt to restart failed servers.
; <code>-port</code>
|-
: The port the server advertises to clients.
| '''-notrap''' || (Linux/Unix only) Don't use trap. This prevents automatic removal of old lock files.
; <code>-steam</code>
|-
: Use this (along with <code>-console</code>) when you are running the version of SRCDS downloaded through Steam{{confirm}}. Original Description "Quit on steam update failure"
| '''-port''' || The port the server advertises to clients.
; <code>-steamcmd_script <path></code>
|-
: Path to the steam script to execute. Example: ~/Steam/csgo_ds.txt (Linux/Unix only{{confirm}})
| '''-steam''' || Use this (along with <code>-console</code>) when you are running the version of SRCDS downloaded through Steam{{confirm}}. Original Description "Quit on steam update failure"
; <code>-steamerr</code>
|-
: Quit on steam update failure (Linux/Unix only).
| '''-steamcmd_script <path>''' || Path to the steam script to execute. Example: ~/Steam/csgo_ds.txt (Linux/Unix only{{confirm}})
; <code>-steamuser</code>
|-
: Steam user ID? (Linux/Unix only).
| '''-steamerr''' || Quit on steam update failure (Linux/Unix only).
; <code>-steampass</code>
|-
: Steam Login Password? (Linux/Unix only).
| '''-steamuser''' || Steam user ID? (Linux/Unix only).
; <code>-steam_dir <path></code>
|-
: Dir that steam.sh resides in. Example: ~/Steam (Linux/Unix only)
| '''-steampass''' || Steam Login Password? (Linux/Unix only).
; <code>-tickrate <number></code>
|-
: Specifies Server-Tickrate (for more info see [[Source Multiplayer Networking]]). This doesn't exist on TF2, CSS, L4D, and L4D2.
| '''-steam_dir <path>''' || Dir that steam.sh resides in. Example: ~/Steam (Linux/Unix only)
; <code>-timeout <number></code>
|-
: Sleep for <number> seconds before restarting a failed server.
| '''-tickrate <number>''' || Specifies Server-Tickrate (for more info see [[Source Multiplayer Networking]]). This doesn't exist on TF2, CSS, L4D, and L4D2.
; <code>-dumplongticks</code>
|-
: Generate minidumps when there are long server frames
| '''-timeout <number>''' || Sleep for <number> seconds before restarting a failed server.
; <code>-usercon</code>
|-
: Enables RCON for CS:GO Servers
| '''-dumplongticks''' || Generate minidumps when there are long server frame
|-
| '''-usercon''' || Enables RCON for CS:GO Servers
|}
 


=== Console Variables ===
=== Console Variables ===
* '''+<console variable> <arg>''' - Sets the Cvar (or [[:Category:Console_Variables|console variable]]) to the specified setting.
* '''+<console variable> <arg>''' - Sets the Cvar (or [[:Category:Console_Variables|console variable]]) to the specified setting.


==== Some Useful Console Variables ====
==== Some Useful Console Variables ====
* '''+hostname "Hostname"''' - Specifies the name of the server (Spaces between words won't work here!).
{| class="wikitable sortable"
* '''+ip''' - Specifies the IP when multiple network cards are installed (Old, but still works).
! Argument !! Description
* '''+map <map>''' - Specifies which map to start.
|-
* '''+maxplayers <number>''' - Specifies how many player slots the server can contain (Old, but still works).
| '''+hostname "Hostname"''' || Specifies the name of the server (Spaces between words won't work here!).
* '''+hostport <port>''' - Specifies the host port (Port specification before -port was added, but can still be used).
|-
* '''+clientport <port>''' - Specifies the client port (The port the server advertises to clients, the same as -port and clientport in console)
| '''+ip''' || Specifies the IP when multiple network cards are installed (Old, but still works).
* '''+sv_lan <0/1>''' - If set to 1, server is only available in Local Area Network (LAN).
|-
| '''+map <map>''' || Specifies which map to start.
|-
| '''+maxplayers <number>''' || Specifies how many player slots the server can contain (Old, but still works).
|-
| '''+hostport <port>''' || Specifies the host port (Port specification before -port was added, but can still be used).
|-
| '''+clientport <port>''' || Specifies the client port (The port the server advertises to clients, the same as -port and clientport in console)
|-
| '''+sv_lan <0/1>''' || If set to 1, server is only available in Local Area Network (LAN).
|}
 


=== Linux Command Options in {{l4dseries|4}} ===
=== Linux Command Options in {{l4dseries|4}} ===
The Linux version of {{L4d|2}} and {{l4d2|2}} dedicated server added extra server commands.
The Linux version of {{L4d|2}} and {{l4d2|2}} dedicated server added extra server commands.


As part of the forking functionality mentioned below, the server parameters support substitution.  For instance, if you specify <code>+exec autoexec##.cfg</code>, then the first server will execute <code>autoexec01.cfg</code>, the second <code>autoexec02.cfg</code>, and so on.
As part of the forking functionality mentioned below, the server parameters support substitution.  For instance, if you specify <code>+exec autoexec##.cfg</code>, then the first server will execute <code>autoexec01.cfg</code>, the second <code>autoexec02.cfg</code>, and so on.


* <code>-netconport <number></code> - Creates a remotely accessible server console on the specified port.  This can be connected to with telnet or similar applications, and allows controlling of the server as if the commands were being typed in at the console
* <code>-netconport <number></code> - Creates a remotely accessible server console on the specified port.  This can be connected to with telnet or similar applications, and allows controlling of the server as if the commands were being typed in at the console
* <code>-netconpassword "password"</code> - It set, users must type PASS "password" to use the remote console described above
* <code>-netconpassword "password"</code> - It set, users must type PASS "password" to use the remote console described above
* <code>-fork <number></code> - Starts up the specified number of instances as subprocesses at once.  They will each use the first available port number at 27015 or above.
* <code>-fork <number></code> - Starts up the specified number of instances as subprocesses at once.  They will each use the first available port number at 27015 or above.


== GoldSrc / ''Half-Life'' Dedicated Server ==
== GoldSrc / ''Half-Life'' Dedicated Server ==
These command-line parameters are used with <code>hlds.exe</code> for [[Goldsource]] (Half-Life) games.
These command-line parameters are used with <code>hlds.exe</code> for [[Goldsource]] (Half-Life) games.


{{syntax|hlds.exe <parameter1> <parameter2> <cvar1> <cvar2>}}
{{syntax|hlds.exe <parameter1> <parameter2> <cvar1> <cvar2>}}


=== Examples ===
=== Examples ===
* <code>hlds.exe -console -game cstrike +sv_lan 0 +maxplayers 22 +map de_dust2</code>
* <code>hlds.exe -console -game cstrike +sv_lan 0 +maxplayers 22 +map de_dust2</code>
* <code>./hlds_run -game cstrike -autoupdate -pingboost 2 -port 27016 +maxplayers 20 +map de_dust2</code>
* <code>./hlds_run -game cstrike -autoupdate -pingboost 2 -port 27016 +maxplayers 20 +map de_dust2</code>


=== Command-Line Parameters ===
=== Command-Line Parameters ===
* '''-condebug''' - Stores console output to "Half-Life\qconsole.log".{{Note|Can be toggled with '''condebug''' console command.}}
{| class="wikitable sortable"
* '''-dev''' - Enables developer mode.
! Argument !! Description
* '''-autoupdate''' - Autoupdate the game. Requires -steam_dir and -steamcmd_script to be set (Linux/Unix only)
|-
* '''-console''' - HLDS will run in console mode (Windows only).
| '''-condebug''' || Stores console output to "Half-Life\qconsole.log".{{Note|Can be toggled with '''condebug''' console command.}}
* '''-game [[Game Name Abbreviations|<game>]]''' - Specifies which game/mod to run. Default is "valve".
|-
* '''-dll <name.dll>''' - Specifies which DLL to use. Ex: <code>-dll addons\metamod\dlls\metamod.dll</code>.
| '''-dev''' || Enables developer mode.
* '''-nomaster''' - Disable communication with Master server. Use this parameter if you do not want your server to be listed in Server Browser.{{Note|Also disables [[server queries]].}}
|-
* '''-insecure''' - Disables Valve Anti-Cheat technology.
| '''-autoupdate''' || Autoupdate the game. Requires -steam_dir and -steamcmd_script to be set (Linux/Unix only)
* '''-port <port>''' - Specifies which port to use for client connections. Default is 27015.{{Note|Can do the same with '''port''' console variable.}}
|-
* '''-sport <port>''' - Specifies the VAC port the server should use. Default is 26900.{{Note|You only need to change -sport if VAC connections fail through the primary port.}}
| '''-console''' || HLDS will run in console mode (Windows only).
* '''-noip''' - Disables network support.
|-
* '''-noipx''' - Disables IPX support.
| '''-game [[Game Name Abbreviations|<game>]]''' || Specifies which game/mod to run. Default is "valve".
* '''-tos''' - Enables the LOWDELAY TOS header in the udp/ip packets the server generates. (Linux only)
|-
* '''-nobreakpad''' - Let plugin authors still get old style minidumps if they need it (win32 only)
| '''-dll <name.dll>''' || Specifies which DLL to use. Ex: <code>-dll addons\metamod\dlls\metamod.dll</code>.
* '''-num_edicts <variable>''' - Sets the entity limit for map/game entities (not temporary entities, which is still locked to 500). 900 is default. 4096 is a good limit, beyond that seems to cause hunk_alloc errors{{confirm}}. Both clients and servers need matching values for best compatibility{{confirm}}.
|-
* '''-heapsize <kilobytes>''' - Specifies the amount of heap(or free store - cache, an area of memory used for dynamic memory allocation) the engine will use. Minimum value is 14336(14 MB). Maximum value is 131072(128 MB). By default this is set to 40960 (40 MB) and automatically adjusted to suit your system.{{Note|Low value causes "Unable to allocate X.X MB" exit error.}}
| '''-nomaster''' || Disable communication with Master server. Use this parameter if you do not want your server to be listed in Server Browser.{{Note|Also disables [[server queries]].}}
* '''-zone <bytes>''' - Specifies the amount of Bytes of memory for use with the console system.{{Note|Low value causes [[Z_malloc|Z_Malloc]] exit error.}}
|-
* '''-maxplayers <number>''' - Sets the maximum number of players that will be able to join your server.{{Note|Can do the same with '''maxplayers''' console variable.}}
| '''-insecure''' || Disables Valve Anti-Cheat technology.
* '''-sys_ticrate''' - Overrides sys_ticrate cvar.
|-
* '''-exec <file>''' - Execute specific config file immediately after the engine is loaded.
| '''-port <port>''' || Specifies which port to use for client connections. Default is 27015.{{Note|Can do the same with '''port''' console variable.}}
* '''+<console variable> <arg>''' - Sets the Cvar (or [[console variable]]) to the specified setting.
|-
| '''-sport <port>''' || Specifies the VAC port the server should use. Default is 26900.{{Note|You only need to change -sport if VAC connections fail through the primary port.}}
|-
| '''-noip''' || Disables network support.
|-
| '''-noipx''' || Disables IPX support.
|-
| '''-tos''' || Enables the LOWDELAY TOS header in the udp/ip packets the server generates. (Linux only)
|-
| '''-nobreakpad''' || Let plugin authors still get old style minidumps if they need it (win32 only)
|-
| '''-num_edicts <variable>''' || Sets the entity limit for map/game entities (not temporary entities, which is still locked to 500). 900 is default. 4096 is a good limit, beyond that seems to cause hunk_alloc errors{{confirm}}. Both clients and servers need matching values for best compatibility{{confirm}}.
|-
| '''-heapsize <kilobytes>''' || Specifies the amount of heap(or free store--cache, an area of memory used for dynamic memory allocation) the engine will use. Minimum value is 14336 (14 MB). Maximum value is 131072 (128 MB). By default this is set to 40960 (40 MB) and automatically adjusted to suit your system.{{Note|Low value causes "Unable to allocate X.X MB" exit error.}}
|-
| '''-zone <bytes>''' || Specifies the amount of Bytes of memory for use with the console system.{{Note|Low value causes [[Z_malloc|Z_Malloc]] exit error.}}
|-
| '''-maxplayers <number>''' || Sets the maximum number of players that will be able to join your server.{{Note|Can do the same with '''maxplayers''' console variable.}}
|-
| '''-sys_ticrate''' || Overrides sys_ticrate cvar.
|-
| '''-exec <file>''' || Execute specific config file immediately after the engine is loaded.
|-
| '''+<console variable> <arg>''' || Sets the Cvar (or [[console variable]]) to the specified setting.
|}
 


=== Useful Console Variables ===
=== Useful Console Variables ===
Line 1,132: Line 1,406:
* '''+mapchangecfgfile <file>''' - Like Server.cfg, ran after every round change, before Plugins are started.
* '''+mapchangecfgfile <file>''' - Like Server.cfg, ran after every round change, before Plugins are started.
* '''-pingboost <1/2/3>''' - Selects between optimized HLDS network code stack. Set this on 2 usually reduces latency toward 1ms without loss of activity input packets.
* '''-pingboost <1/2/3>''' - Selects between optimized HLDS network code stack. Set this on 2 usually reduces latency toward 1ms without loss of activity input packets.


== Troubleshooting the Server Console ==
== Troubleshooting the Server Console ==
Specifying a map is necessary, otherwise the server is not ready to accept connections from players to your server. You may wish to specify the "ip" and "port" parameters if you are experiencing problems.
Specifying a map is necessary, otherwise the server is not ready to accept connections from players to your server. You may wish to specify the "ip" and "port" parameters if you are experiencing problems.
{{note|This only applies to dedicated servers.}}
{{note|This only applies to dedicated servers.}}


== See Also ==
== See Also ==
[[Developer Console]]
[[Developer Console]]


[[Category:Steam]]
[[Category:Steam]]
[[Category:Source SDK FAQ]]
[[Category:Source SDK FAQ]]
[[Category:Dedicated Server]]
[[Category:Dedicated Server]]

Revision as of 23:27, 2 December 2022

English (en)日本語 (ja)Русский (ru)Translate (Translate)

Source Source Games

These command-line parameters will work with any Source engine games (Half-Life 2 Half-Life 2, Counter-Strike: Source Counter-Strike: Source, etc.).


Syntax: hl2.exe <parameter1> <parameter2> <cvar1> <cvar2>


Usage

These options can be used with:

  • Hammer editor Run Map dialog.
  • Windows shortcuts pointing to hl2.exe directly.
  • Windows shortcuts pointing to steam.exe with the proper -applaunch <AppID> specified (see Steam section below).
  • Command-line batch script files launching these applications.
  • Linux shell scripts pointing to the application with launch options. executable -command


Examples

  • steam.exe -applaunch 280 -dev -console -sw +sv_lan 1 +map MyMap
  • hl2.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust


Command-Line Parameters

Argument Description
-32bit Forces the engine to start in 32-bit mode. Only useful on 64-bit Operating Systems.
-NoLoadPluginsForClient
-NoQueuedPacketThread (Linux) No queued packet thread will be created.
-NoVConfig Prevents the filesystem library from running VConfig if it encounters a filesystem error where it cannot find the game content.
-adapter Sets the GL graphics adapter. Default is 0.
-all_languages Loads all language files.
-allowdebug Fakes a debugger for phonehome, and is the same as -dev, unless -nodev is specified.
-allowstalezip Suppresses console warnings from stale.txt existing.
-autoconfig Restores video and performance settings to default for the current hardware detected. Ignores settings inside any .cfg files until this parameter is removed.
-basedir Sets the base directory for the game files. On Xbox 360 RFS, this is forced to smb://hostname/game.
-bi Defines the build identifier ID which is used in phonehome
-bugbait
Todo: Is it for Bugbait E3 2003 demo? This lets IsLoadingBugBaitReport return true.
-bugreporterdll Name of the bug reporter DLL to use
-buildcubemaps Builds cubemaps when fully loaded into a map, then quits the game.
-ccsyntax Spew details about the localized strings we load.
-clientport Sets the client port. Default is 27002.
-collate Skips everything, just merges the reslist from temp folders to the final folder again.
-conclearlog Clears the console.log text file on start. Only works if -condebug set.
-condebug Logs all console output into the console.log text file.
-console Starts the game with the developer console enabled. Same as having con_enable enabled.
-d3d9ex Reduce CPU memory about %40. "csgo" only.
-deathsonly Supposed to only count deaths while parsing tf2 gamestats, but actually pointless because there is only code for deaths.
-debugdxsupport Writes debug DirectX information as keyvalues to the console as shader devices are loading configuration.
-defaultgamedir Fallback directory if "-game" is not set. Default is "hl2".
-demo Enters the game into demo mode. Only works for "hl2" and "portal"
-dev Enables developer mode. Also disables the automatic loading of menu background maps and stops the quit dialog from appearing on exit.
-disallowhwmorph Same as mat_disablehwmorph 1. Disables HW morphing for particular mods.
-dti Prints the datatable when being sent
-dumpvidmemstats Spews video memory statistics to vidmemstats.txt. This forces CModelLoader to quit.
-dvd Enables strict DVD mode. Allows loading files from DVD only. Xbox 360 only.
-dvddev Enables developer DVD mode. Allows loading files from a remote path as a fallback as well as the DVD. Xbox 360 only.
-dxlevel <level> Forces the game to start using specified DirectX API version. Officially supported values are: 60, 70, 80, 81, 90, 91, 95 (recommended), 98 (Xbox 360 only), and 100. After starting the game with this launch parameter, the selected value will be saved for future start ups and video settings will be temporarily reset (but not saved), so it is highly recommended to remove this launch parameter after first launch with it. See mat_dxlevel.
-edit According to comments, intended to replace -tools. Does nothing except disable all file logging for building reslists.
-enablefakeip
-endgamevid If specified startup videos will not be skipped, and EndGameVids.txt will be used instead of StartupVids.txt. This can also be invoked by the command "startupmenu playendgamevid", which bails back to the menu and plays the end game video.
-exit Quits the game after fully loading into a map.
-filmgrain Enables the filmgrain screen space effect.
-floathdr Forces HDR to use float values.
-flushlog Causes log files to be flushed to disk once per second (rather than after every 4kbytes of log data).
-forcenovsync Forces vsync to be disabled.
-forcestartupmenu Forces the background menu map to always load, even if developer mode is active or the game is loading straight to a level.
-forcexboxreconfig Forces default config settings to be loaded on Xbox 360.
-forever When you get to the end of the maplist, start over from the top
-freq <rate> Same as -refresh
-fs_log Starts creating a batch file to copy files at the specified filename. This works on the latest engine branch.
-fs_logbins Logs binaries to the batch file from -fs_log.
-fs_nopreloaddata Loads in the precompiled keyvalues data for each type. Works only with dedicated servers.
-fs_target Sets the target game directory to copy files to, used with -fs_log.
-full_memory_dumps
-fullscreen or -full Forces the engine to start in fullscreen mode.
-g15 Enables Logitech G15 support. G15 is only supported in SiN Episodes: Emergence. [confirm]
-game Sets game or mod directory to load the game from. Usually is set by default if not user specified. Default is "-defaultgamedir"'s setting. If -defaultgamedir is not set, "hl2" is used.
-gamepadui (only in Half-Life 2Portal) Enables the controller-oriented UI used on Steam Deck, and also enables the Vulkan renderer.
-gamestatslogging Enables game stats logging.
-gamestatsloggingtofile Enables game stats logging out to a file, gamestats.log. Passing this parameter automatically forces -gamestatslogging.
-gamestatstag <tag> Tags each map reported with the specified tag.
-gl_enablesamplerobjects (Linux) Use OpenGL Sampler Objects for better texture preloading
-gl_texclientstorage (MacOS) Reduce memory usage by relying on GPU memory instead of a host copy
-heapcheck (Windows only) Check if the heap isn't damaged or empty at the initiation of the game and every frame
-heapsize <kilobytes> Specifies the heapsize (in kilobyte) the game will use. This no longer exists on Source 2009 Source 2009.
Confirm:what about Source MP?
-height <height>, -h Forces the engine to start with resolution set to <height>. Ex: -h 768
-hideconsole Forces the console hidden, whatever parameters are passed. This overrides -console, -dev, and all others.
-high Sets the game's priority to High
-hijack Take control of an existing instance of the game, if any, instead of complaining about already running.
-host Sets hostname. On Xbox 360, this sets the host computer name to be used for RFS. Xbox name must be <HostPC>_360.
-hushasserts Disables a number of asserts in core Source libraries, skipping some error checks and messages.
-hushsteam
-ignoredxsupportcfg Skips reading DirectX support file, dxsupport.cfg.
-insecure Disable Valve Anti Cheat (VAC).
-interactivecaster (only in Counter-Strike: Global Offensive) Starting your client with this will switch it into camera man mode (reference tv_allow_camera_man_steamid/tv_allow_camera_man_steamid2)
-internalbuild Causes the bug reporter panel to be drawn as internal
-ip Does the same as the ipname Cvar
-language %l Sets the game language to the one specified. (Examples: "english", "german").
-leakcheck Dumps statistics about memory leaks.
-limitvsconst Limits the number of vertex shaders to a maximum of 256.
-localcser Sets a custom gamestats CSER other than the Steam-provided public one (default is steambeta1:27013)
-low Sets the game's priority to Low
-lowmemworkshop (only in Counter-Strike: Global Offensive) Allow updating very large map files on Steam Workshop.
-makedevshots Used for taking screenshots, causing entities to not fade. Enables the use of the devshots_nextmap concommand
-makereslists Makes reslists. Need to run with -textmode. Passing a parameter here uses a script file to control more complex makereslists operations (multiple passes, etc.)
-mat_aaquality Set MSAA quality level, does the same as the Convar mat_aaquality
-mat_antialias Antialiasing. Can be set to 8, amount past 8 won't sharpen the edges of game world.
-mat_softwaretl Enables software vertex processing.
-mat_vsync Enables Vertical Sync
-maxdownloadfilesizemb CS:GO 5/1/2014, client launch option -maxdownloadfilesizemb N if clients needs to download even larger files from community servers.
-maxdxlevel Limits the maximum dxlevel to use. Default is 0.
-maxplayers Set the maximum players allowed to join the server. This does the same as the maxplayers convar, the maximum you can set it to is limited by the game/mod
-minmemory Set startup memory to mem_min_heapsize ?*1024 * 1024?
-monitorTextureSize Set the size of the texture used to render point_cameras.
-multirun (only in Source 2013) Allows the game to run even if another Source game is already open.
Note.pngNote:While only implemented in Source 2013, using this while a non-2013 game is already running will work.
-navanalyze Used for developer purposes when launching a map. Immediately analyzes the navagation map of the loaded map to provide data about hiding spots and other data. Nav Mesh Commands
-navforceanalyze Used for developer purposes when launching a map. Forces an immediate navagation analyze even if the action is not necessary to perform.
-netspike Sets the trace threshold to the specified value (the limit of the number of records that will be written to netspike.txt before all records are removed).
-newdialogs Forces new Steam dialog to be used.
-no_compressed_verts Disables vertex compression for shaders.
-no_compressed_vvds Enables thin VVD data, even if the client is not an Xbox 360.
-noassert Allows attaching to a debugger instead of directly asserting.
-noasync Disables asynchronous filesystem access.
-noborder When used with the game set to windowed mode, will make the game act as if in fullscreen mode (no window border).
-nobots Allows Counter-Strike server hosts to force bots disabled to enforce CPU limits.
-nobreakpad
-noclearsave Skips clearing the save directory after restoring a save.
-noconvert (xbox360) "No conversions during retail"
-nocrashdialog Stop some windows crash message boxes from showing up.
-nodefaultmap (Linux only[confirm]) Supresses the addition of -map
-nodev Disables -dev and -allowdebug during startup so sv_cheats and developer mode dosent get set.
-nodns Disable DNS requests and resolving DNS adresses.
-nodttest Skips datatable testing.
-noff Disables force feedback for controllers.
-noforcemaccel Use the Windows mouse acceleration settings. Only works if -useforcedmparms is set.
-noforcemspd Use the Windows mouse speed settings. Only works if -useforcedmparms is set.
-nogamedll Do not load the Game DLL, this most likely will cause your game/server to crash
-nogamestats
-nohltv Disable SourceTV
-noip Do not bind to an ip and disables all multiplayer support
-nojoy Disables joystick support.
-nomaster Hides server from master serverlist.
-nomessagebox Stop various windows error message boxes from showing up
-nominidumps Dont write minidumps
-nomouse Disables in-game mouse support.
-nop4 Forces the Engine to bypass Perforce Integration
-nopreload Forces models to not be preloaded. Takes priority over cl_forcepreload and -preload.
-nopreloadmodels Same as -nopreload
-nops2b Disables Pixel Shader 2b support.
-noqueuedload Disables queued loading of map resources.
-norebuildaudio Opposite of and overrides -rebuildaudio for the map reslist generator.
-norfs Forces Remote Filesystem disabled. Xbox 360 only.
-noshaderapi Loads a non-existent shader API dll, shaderapiempty.dll. Effectively disables shader and texture loading completely. May be useful with -textmode to load the game quickly since a GUI is not required.
-nosound Disables sound support
-nosrgb Disables support for SRGB.
-nostartupsound Disables menu music (sound/ui/gamestartup*.mp3) to play on startup.
-nosteamcontroller Disables Steam controller system
-nouserclip Uses software clipping instead of hardware user clip planes
-novid When loading a game with this parameter, the intro video will not play.
-olddialogs Forces old Windows dialogs instead of new Steam ones.
-override_vpk Forces actual files to override VPK.
-particles Sets the number of beam trails to allow (2048 by default, minimum is 512).
-phonehome If debug mode is also enabled, forces the init of phonehome ?which handles some build information and sends them via netmessages to steam?
-pidfile <pidfile> Use the specified <pidfile> to store the server pid. Default is srcds.pid[confirm] (Unix/Linux only).
-pixel_offset_x Sets the pixel offset to translate on the X axis in MatSystemSurface.
-pixel_offset_y Sets the pixel offset to translate on the Y axis in MatSystemSurface.
-pme Activate the performance monitoring events code, this again only works on Intel processors newer then PENTIUM4
-port <variable> Sets port for a listen server. Default is 27015.
-preload Does the same as the sv_forcepreload Cvar. If -nopreload or -nopreloadmodels, this behaviour is disabled
-primarysound If surround sound isn't enabled, forces the use of the primary sound buffer
-profile If using Xbox360 or enabling this, additional debugging information are logged like the map startup time and similar
-publicbuild Is this build a public one? If not, phonehome will not post information of this build to steam
-r_emulate_gl Emulates OpenGL on Windows, provides a framerate boost for most GPUs
-random_invariant Forces the game's random number generator value to be invariant.
-rebuildaudio Forces rebuild of _other_rebuild.cache (metacache) file at exit for the map reslist generator.
-recapvid RecapVids.txt will be used instead of EndGameVids.txt. This can also be invoked by the command "startupmenu playrecapvid", which bails to the mainmenu and plays the recap video.
-ref Sets MATERIAL_INIT_REFERENCE_RASTERIZER on the shader material adapter.
-reflectionTextureSize Set the size of the texture used to render the Water shader's real-time reflection and refraction.
-refresh <rate> Force a specific refresh rate. Ex: -refresh 60
-refreshrate <rate> Same as -refresh
-remote Sets the remote file path to be used with -dvddev.
-replay Increases maxplayers by 1 at startup and automatically executes replay.cfg for the server.
-requirecubemaps If a map dosen't have cubemaps, the game will promt up with "Map X does not have cubemaps!"
-resizing Allows resizing the window lower than a specific resolution.
-reslistdir Default is "reslists", use this to override. Reslist generator only.
-reuse Reuse network sockets
-rpt Same as having -condebug, -conclearlog, and -console enabled
-safe Enables video safe mode, which sets the game to windowed, the width to 640, the height to 480, refresh rate to default, and disables antialiasing.
-shader Loads a specific shader library instead of depending on hardware. Debug only.
-shaderdll Loads a different shader dll. Default is shaderapidx9.dll.
Todo: Is this the same as -shader?
-shadersondemand Creates shaders on access, helps reduce D3D memory for tools, but causes I/O hitches.
-sillygibs (Goldsource only) Forces more gibs like skull and others to be spawned all time on NPC's death.
-skiploadingworkshopaddons (only in Alien Swarm: Reactive Drop) Only load addons from the addons folder, not subscriptions on the Steam Workshop.
-small Allow window sizing smaller then 640x480
-sndcachedebug Prints sound cache debug messages (developer must be enabled to see)
-snoforceformat Skips sound buffer creation
-soft Enables Software hardware rendering mode.
-softparticlesdefaultoff Sets particles to be rendered without feathering (scene depth blending) by default.
-softparticlesdefaulton Opposite of -softparticlesdefaultoff.
-spewsentences Spew out vox sentence names during reslist generation
-startmap Restarts devshot generation at the specified map if resuming from a crash.
-startstage When running from script file, this starts at specified stage, and sets current work item (default is 0). Reslist generator only.
-startwindowed, -windowed, -window, -sw Forces the engine to start in Windowed mode.
-steam Enables Steam support (if the game is launched from Steam, this is enabled by default). Working directory must be Steam directory. Works only for singleplayer games.
-steamlocal Similar to -steam. Runs Steam in local filesystem mode (all content off HDD), as opposed to remote filesystem mode (requiring Steam backend).
-steamport Master server updater port. Steam authentication port is this port + 1. (default is 26900)
-storeambientcache (only in Counter-Strike: Global Offensive) Stores an ambient cache file in every loaded BSP.
Todo: What is ambient cache?
-strictportbind If you launch the game with this option it will quit with an error message if it can't bind to the default or specified port.
-sv_benchmark Enables benchmarking through sv_benchmark_force_start.
-swapcores Swaps threads for the particle and material systems each init
-tempcontent Searches for game content in a folder called "_tempcontent" relative to the absolute game path. This option is enabled by default for Portal 1
-testscript <filename> Loads a .vtest file.
-testshaders Loads the shader_test library. Debug only.
-testsub
-textmessagedebug Spews client text messages to console.
-textmode (not in Counter-Strike: Global Offensive) Runs the game without graphics
-threads Number of threads to allocate for the thread pool, default is 3
-tickrate Sets the game tick interval. Disabled in code for TF2 because "server ops are abusing it".
-timedemoloop
-toconsole Starts the engine directly in the console, unless a map is specified with +map.
-tools Enables engine tools.
-trackdeletions Logs what files are marked for deletion in Reslist Generator.
-tvmasteronly Only one person allowed in HLTV.
-untrusted CS:GO ONLY, allows the game to launch in "Untrusted Mode".
-usedevshotsfile Get map list from specified file, default is to build for maps/*.bsp
-useforcedmparms Allows the use of -noforcemspd and -noforcemaccel.
-usegh Loads ghostinj.dll to allow support for third party dlls (gamehost)
-uselogdir Logs various data to logs/(mapname)/*
-usercon Enable RCON for Counter-Strike: Global Offensive servers
-usereslistfile Get map list from specified file, default is to build for maps/*.bsp. Reslist generator only.
-usetcp Disable TCP support
-vcrplayback Plays back a VCR recording. Nothing is simulated on the server, but all server packets are recorded. Note: VCR recording and playback only fully working on a leaked HLS build, other games and versions crash
-vcrrecord Records a client's game and allows you to play it back and reproduce it exactly. Requires -nosound See this video on how it is different.
-vguifocus Enables debug VGUI messages related to input focus.
-vguimessages Enables debug VGUI messages.
-vproject Manually sets the VProject directory to load game content for tools.
-vulkan Forces the engine to use the Vulkan renderer.
-vxconsole Waits for Valve Xbox console to initialise. Xbox 360 only.
-wavonly Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
-x <x position> In borderless windowed mode, determines where the window should be horizontally. Ex: -x 0. Note: Setting this to 0 will make it align with the left side of your main monitor, rather than its center. Negative values also aren't accepted.
-xnet_bypass_security Disables Xbox 360 secure networking, to allow cross-platform testing.
-y <y position> In borderless windowed mode, determines where the window should be vertically. Ex: -y 0. Note: Setting this to 0 will make it align with the top side of your main monitor, rather than its center. Negative values also aren't accepted.
-width <width>, -w Forces the engine to start with resolution set to <width>. Ex: -w 1024


Console Variables

  • +<console variable> <arg> - Sets the Cvar (or console variable) to the specified setting when the game launches.


Some Useful Console Variables

Console Variable Description
+cl_showfps <0/1/2/3> When set to 2, shows the framerate and map name.
+connect Immediately connects to a server address.
+load Console Command
+map <map-name[.bsp]> Immediately loads the map specified after the engine starts.
+map_background <map name> Forces a specified background map to be used. Useful for testing custom background maps. To avoid loading standard background maps for speed reasons, use the -dev command-line parameter.
+mat_hdr_level Sets HDR level before the background map loads. HDR Lighting Basics
+maxplayers Sets maxplayers. This will set maxplayers before the background map loads. To change when running, run <disconnect> to escape the currently map, including background maps.
+physcannon_mega_enabled <0/1> Makes Gravity gun a super gravity gun.
+playdemo <demo> Immediately plays a demo file.
+port Console Command
+sv_cheats <0/1> When set to 1, starts the game with cheats enabled.
+sv_lan <0/1> When set to 1, launches the game in LAN mode. Useful to stop players from joining your game from the Internet.
+timedemo Console Command
+timedemoquit Console Command


GoldSrc GoldSrc Games

These command-line parameters will work with any GoldSource engine games (Half-Life Half-Life, Counter-Strike Counter-Strike, etc.).


Syntax: hl.exe <parameter1> <parameter2> <cvar1> <cvar2>


Usage

These options can be used with:

  • Hammer editor Run Map dialog.
  • Windows shortcuts pointing to hl.exe directly.
  • Windows shortcuts pointing to steam.exe with the proper -applaunch <AppID> specified (see Steam section below).
  • Command-line batch script files launching these applications.
  • Game launch options from Steam's Library.
  • Linux shell scripts pointing to the application with launch options. executable -command


Examples

  • steam.exe -applaunch 70 -dev -console -sw +sv_lan 1 +map MyMap
  • hl.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust


Command-Line Parameters

Argument Description
-game <game> Specifies which game/mod to run. Default is "valve".
-dll <name.dll> Specifies which game DLL to use. Ex: -dll dlls/zbotcz.dll.
-condebug Stores console output to "Half-Life\qconsole.log".
Note.pngNote:Can be toggled with condebug console command.
-dev Enables developer mode.
-glext When paired with "-dev" setting, outputs all OpenGL extensions supported by your graphics card.
Note.pngNote:Can do the same with gl_dump console command.
-gl Sets the rendered to OpenGL.
-soft Sets the rendered to Software.
-full Forces the engine to start in fullscreen mode.
-window or -sw or -startwindowed or -windowed Forces the engine to start in windowed mode.
-w <width> or -width <width> Forces the engine to start with resolution set to <width>. Ex: -w 1024.
-h <height> or -height <height> Forces the engine to start with resolution set to <height>. Ex: -h 768.
-stretchaspect The game by default adds black bars based on your game screen resolution. Use -stretchaspect on your command line if you want the old behavior back (just always fill the screen). Setting "-nofbo" also implies "-stretchaspect".
-freq <variable> Force a specific refresh rate when running in fullscreen AND your monitor supports the frequency in question.
Note.pngNote:If you don't have a CRT monitor chances are you can't use this option.
-mousethread If set we poll the mouse position in another thread running at 100hz by default, to get better movement accuracy. Set the "m_mousethread_sleep" cvar to the number of seconds to sleep between mouse polls to change this rate.
-joy_advanced Use advanced joystick options (allows for multiple axes).
-joy_advr, -joy_advu, -joy_advv, -joy_advx, -joy_advy, -joy_advz Forces specific axis to use advanced joystick options. [confirm]
-nosound Disables sound support.
Note.pngNote:Can do the same with nosound <0 or 1> console command.
-nocdaudio Disables mp3 support. Also disallows cd console command to load mp3 tracks.
-wavonly Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
-nointro Disables intro movies.
-noip Disables network support. Not the same as Steam Offline mode.
-noipx Disables IPX support.
-nojoy Disables joystick support.
-nomouse Disables in-game mouse support.
-noforcemparms Forces the engine to use operating system mouse parameters.
-noforcemaccel Forces the engine to use operating system mouse acceleration.
-noforcemspd Forces the engine to use operating system mouse speed.
-nofbo Disables using the new method for rendering.
-nomsaa Disables MSAA (Anti-Aliasing), setting "-nofbo" also implies "-nomsaa".
-noborder When used with the game set to windowed mode, will make the game act as if in fullscreen mode (no window border).
Icon-Bug.pngBug:Doesn't hide window border, only control buttons.  [todo tested in ?]
-nodirectblit Disables direct blitting (Blit is shorthand for "block image transfer" or bit blit).
-nobots Disables bots.
-port <port> Specifies which port to use for client connections for a listen server. Default is 27015.
Note.pngNote:Can do the same with port console command.
-demoedit Enables hidden Demo editor.
Note.pngNote:Use viewdemo console command to get access.
-num_edicts <variable> Sets the entity limit for map/game entities (not temporary entities, which is still locked to 500). 900 is default. 4096 is a good limit, beyond that seems to cause hunk_alloc errors[confirm]. Both clients and servers need matching values for best compatibility[confirm].
-heapsize <kilobytes> Specifies the amount of heap(or free store - cache, an area of memory used for dynamic memory allocation) the engine will use. Minimum value is 14336(14 MB). Maximum value is 131072(128 MB). By default this is set to 40960 (40 MB) and automatically adjusted to suit your system.
Note.pngNote:Low value causes "Unable to allocate X.X MB" exit error.
-zone <bytes> Specifies the amount of Bytes of memory for use with the console system.
Note.pngNote:Low or very high value causes Z_Malloc exit error.
-exec <file> Executes specific config file immediately after the engine is loaded.
+<console variable> <arg> Sets the Cvar (or console variable) to the specified setting.


Useful Console Variables

Console Variable Description
+_setgamedir <game> Specifies which game/mod to run.
+_setrenderer <variable> Sets the rendering mode. Available parameters are opengl and software.
Note.pngNote:Parameter D3D is deprecated.
+_setvideomode [Todo]
+_set_vid_level <0 or 1> Toogles "Low video quality".
+_setaddons_folder <0 or 1> Toogles "Allow custom addon content".
+_sethdmodels <0 or 1> Toogles "Enable HD models if available".
+clientport <port> Specifies which port to use to communicate with a server. Default is 27005.
+gg <demoname> or +cl_gg 1 +playdemo <demoname> Runs the demo in Game Gauge mode. This is a benchmark utility that runs through a demo as fast as possible and stores the framerate in the file fps.txt in the GameMod directory.
+log on or +log off Toogles logging before the engine loads config files.


Deprecated Command-Line Parameters

  • -console - Enables console. Can be opened either from menu (button in top-left corner in old Half-Life builds or button in main menu in new builds), or by pressing tilde (~) in-game.
    Note.pngNote:Always enabled by default.
  • -toconsole - Opens the console right when the game is launched.
    Note.pngNote:No longer works.
  • -gldrv <driver name> - Selects the GL Driver. The two choices are "Default" and "3dfxgl.dll".
    Note.pngNote:No longer works.
  • -d3d - Sets the rendered to Direct3D.
    Note.pngNote:Removed.[1]
  • -vid_mode <variable> or -vt <variable> - Sets the rendering mode. Available parameters are gl and software.
    Note.pngNote:No logner works. Use -gl, -soft or -d3d(see above) instead.
  • -16bpp - Forces 16-bit color mode (bit depth).
    Note.pngNote:Not allowed.
  • -32bpp - Forces 32-bit color mode (bit depth).
    Note.pngNote:Enabled by default.
  • -nowinmouse - Don't capture mouse in-game.
    Note.pngNote:Renamed to -nomouse.
  • -gamegauge <demoname> - Runs the demo in Game Gauge mode. This is a benchmark utility that runs through a demo as fast as possible and stores the framerate in the file fps.txt in the GameMod directory.
    Note.pngNote:Use console commands instead.
  • -numericping - Displays ping in server browsers in milliseconds instead of dots.
    Note.pngNote:Enabled by default.
  • -particles <variable> - The number of particles for which to set aside buffer space.
    Note.pngNote:No longer works.
  • -nosierra - Disables Sierra logo on GoldSrc games that have it.
    Note.pngNote:Only works on retail editions of Half-Life; removed when it was transferred to Steam.
  • -noaff - Disables setting of thread affinity.
    Note.pngNote:No longer works.


Source 2 Source 2 Games

Todo: Fill this out. Confirm if launch options are HLA specific.

Command-Line Parameters

Argument Description
-allowmultiple Allows multiple Source 2 instances to run at the same time. Only works if a VPROJECT environment variable is set. (only in Half-Life: Alyx)[confirm]
-vrdebug Allows the game to run without a VR headset. (only in Half-Life: Alyx)[confirm]


Steam

These command-line parameters work when launching the Steam application.


Command-Line Parameters

Argument Description
-applaunch <appID> [launch parameters] Launches an Game or Application through Steam.
-cafeapplaunch Launch apps in a cyber cafe context (Forces apps to be verified / validated before launch).
-clearbeta Opts out of beta participation (in case for some reason it can't be done via settings).
-complete_install_via_http Run installation completion over HTTP by default.
-console Enables the Steam debug console tab.
-ccsyntax Spew details about the localized strings we load.
-debug_steamapi Enables logging of Steam API functions.
-dev Sets the 'developer' variable to 1. Can be used to open the VGUI editor by pressing F6 or VGUI zoo by pressing F7. Intended for skin development, also enables the debug console tab.
-fs_log Log file system accesses.
-fs_target Set target syntax.
-fs_logbins Log the binaries we load during operation.
-forceservice Run Steam Client Service even if Steam has admin rights.
-gameoverlayinject Sets the method how GameOverlay is injected.
-install <path> Install a product from a specified path (e.g. "D:" for the DVD-ROM drive if D: is one).
-installer_test Changes installing a retail game to emit all files to install_validate/ folder instead of to the steam cache.
-language <language> Sets the Steam language to the one specified. (Examples: "english", "german").
-login <[username]|anonymous> [password] Logs into Steam with the specified Username and Password combination. Note: Steam must be off for this to work.
-lognetapi Logs all P2P networking info to log/netapi_log.txt.
-log_voice Writes voice chat data to the logs/voice_log.txt file.
-noasync Don't use async file operations, run them synchronous instead.
-nocache Starts steam with no cache (Steam must be off for this to work properly).
-nofriendsui Prevents the friends list window from showing automatically upon start.
-noverifyfiles Prevents from the client from checking files integrity, especially useful when testing localization.
-no-browser Steam's description for this parameter says it "unconditionally disables CEF". CEF stands for Chromium Embedded Framework, which Steam uses for its built-in web browser components (including the in-game overlay browser), and also for WebViews used by the new Panorama-based friends/chat UI, and Library. Using this option will —among other things— disable the new Library UI, and restore the old friends list and chat UI. However, it won't restore the old Library UI.
-no-dwrite Forces vgui to use GDI text even if DWrite support is available.
-script <file name> Runs a Steam script. All scripts must be in a subdirectory of the Steam folder called test scripts (Steam must be off for this to work).
-shutdown Shuts down (exits) Steam.
-silent Suppresses the dialog box that opens when you start steam. It is used when you have Steam set to auto-start when your computer turns on. (Steam must be off for this to work).
-single_core Force Steam to run on your primary CPU only.
-tcp Forces connection to Steam backend to be via TCP.
-voice_quality Sets audio quality, range [1,3].
-voicerelay Only allow 'relay' connections for voice (testing).
-tenfoot Start Steam in Big Picture Mode.
-gamepadui Enables the Big Picture Mode Steam Deck UI.


HldsUpdateTool (Windows), Steam (Linux)

Syntax: hldsupdatetool -command <command> [parameters] [flags]


Commands

  • -command update - Install or update HLDS.
  • -command version - View installed versions.
  • -command list - View available games.


Parameters for the Update Command

  • -beta <betaname> - Name of the beta (optional parameter for taking part in a beta test)
  • -game <game> - The name of the game to install (see enumeration).
  • -dir <installdir> - HLDS Install directory (if dir not specified, will use value from last run of tool).

The following parameters are only needed to access limited content.

  • -username <username> - Steam account username
  • -password <password> - Steam account password


Flags for the Update Command

  • -verify_all - Verify all HLDS files are up to date.
  • -retry - Automatically retry every 30 seconds if the Steam Network is busy.
  • -remember_password - Remember password (if a username is supplied).


Optional Parameters for All Commands

  • -nobootstrapupdate - Do not check for updates to the update tool


SteamCMD

The Steam Console Client or SteamCMD is a new tool to install and update dedicated servers using a command line interface. It only works with games that have switched over to the SteamPipe content system. Eventually all Steam games will switch from HLDSUpdateTool to this.


Syntax: steamcmd.exe <parameter1> <parameter2> <cvar1> <cvar2>


To view the most up to date version of SteamCMD commands visit this GitHub repo: https://github.com/dgibbs64/SteamCMD-Commands-List


Usage

  • steamcmd.exe +COMMAND1 [ARG] +COMMAND2 [ARG]
  • steamcmd.exe +runscript SCRIPTFILE


Command-Line Parameters

[Todo]

Commands

Argument Parameter(s) Description
api_logging <enabled> <verbose> Enable/disable verbose API logging in SteamCMD
app_build_all_depots [-desc <text>] -depotconfigpath <folder> -contentroot <folder> -buildoutput <folder> <appid> Build all depots for one app
app_dlc_status app_status <appId> <dlcId>
app_info_print None Dumps app info for appID
app_info_print None Dumps app info for appID
app_info_request <AppID> Issue an appinfo request for the given appid. Does not wait for results from the server.
app_info_update [0|1] Trigger app info update, optionally for update all
app_license_request <AppID> Requests a free licenses for this app if not already owned.
app_run <AppID> Launches the app.
app_set_config <AppID> <key> <value> Sets a config value for given app.
app_set_update_flag <appId>
app_status <appId>
app_stop <appid> [force:0|1] Stop this running app
app_uninstall [-complete] <appId>
app_update <appid> [-validate] [-language <lang>] [-beta <betaname>] [-betapassword <pwd>] Make sure a Steam application is up-to-date
app_update_cancel <EAppUpdateError>
apps_installed [Todo]
Todo: Fill description.
apps_running None Displays information about running games tracked by Steam
async_disconnect None Async disconnect
build_installer <project file> <target folder> [beta key] [beta pwd]
ceg_wrap <appid> <orig filename> <stripped filename> <strips filename> Upload executable to back end for CEG wrapping
cm_force_change None Change CM List
device_authorize_status None Prints device authorization status
download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>] Download a single depot
download_sources None Dumps list of download sources
drm_wrap <appid> <input filename> <output filename> <toolname> <flags> Upload executable to back end for DRM wrapping
dump_scheduled_functions None Displays internal Steam function callback timers
exit None Stops Steam client console
find None Find substrings in console commands
force_install_dir <directory> Sets the directory to install the server in
get_download_throttle [Todo]
Todo: Fill description.
help None Show help information
info None Dump various Steam info
install_folder_list None List all mounted Steam volumes
licenses_for_app <appid> Shows active licenses for appid
licenses_print None Display users's Steam3 licenses
log_callbacks <first callbackID> [last callbackID]
log_ipc [verbose] <filter> Enables IPC logging. Specifying "counts" or "verbose" is optional, defaulting to counts.
login [<password>|anonymous] [<Steam guard code>] Login to Steam
logon None See "login"
logoff None Disconnect from Steam
logout None See "logoff"
manifest_dump <filename>
mem_stats None Dump memory stats
net_msgdump None Dumps list of sent net messages
net_msgspew None Spews sent net messages
p2p_info None Displays the current state of the P2P networking subsystem.
package_info_print None Dumps package info for packageID
quit None Stops & close Steam client console
render_ipc_connections [Todo]
Todo: Fill description.
run_app_build [-preview] [-desc <text>] <appbuildfile> Run app depot build as specified in appbuildfile
run_app_build_http None Alias for run_app_build
runscript <script file, such as TXT> Runs a console command script
set_download_throttle <Kb/s> <bPersistent = false>
set_spew <group> <level> <logLevel> Set spew levels for the given group
set_spew_level <SpewLevel LogLevel> Sets spew and log level for all groups
set_steam_guard_code None Authorize this computer by adding the Steam Guard email code
sign_install_script <appid> <input filename> <output filename> Upload install script to back end for signing
test_dropcon None Tests dropping a connection
test_failnextconnect None Tests failing the next connection
upload_controller_config <appid> <filename> Upload controller config to cloud
user_friends None Dumps list of friends
verify_chunk_store <appid> <depotid> <datafile> Run app depot build as specified in appbuildfile
verify_vpk <datafile> Verifies content of given VPK
voice_game_usage None Displays information about the game's use of Steam voice
workshop_build_item <build config filename> Build a workshop item
workshop_create_legacy_item <appid> <workshop file> Build a legacy workshop item
workshop_download_item <appid> <PublishedFileId> Download a workshop item
workshop_status <appId>
Todo: Fill description.


ConVars

Argument Default Parameter Description
app_info_http_min 0
Todo: Fill description.
app_info_http_num_sockets 8
Todo: Fill description.
AsyncFileIODisableWrite 0
Todo: Fill description.
AsyncFileIOExpectOutstandingIO 16
Todo: Fill description.
AsyncFileIOForceGenericIO 1
Todo: Fill description.
AsyncFileIOMaxPending 128
Todo: Fill description.
AsyncFileIOReadHandleCache 32
Todo: Fill description.
AsyncFileIOWriteHandleCache 32
Todo: Fill description.
batterypercent 0
Todo: Fill description.
batterytime 0
Todo: Fill description.
bCheckForFreeGamesOnLogin 0
Todo: Fill description.
bCheckUGCIntegrity 1
Todo: Fill description.
@bContentManifestUseProtobufs 1
Todo: Fill description.
@bCSClientRateLimitUseDelays 0
Todo: Fill description.
@bCSForceNoCache 0
Todo: Fill description.
@bDepotBuilderReadBufferSizeKB 8192
Todo: Fill description.
@bDepotBuilderUnbufferedReads 1
Todo: Fill description.
bDisableTenFootOverlay 0
Todo: Fill description.
@bEnableMovieRecording 0
Todo: Fill description.
@bEnableOfflineLogonTicket 1 If true, an offline logon ticket will be requested during logon if none is cached
@bEnableSpewThrottle 1
Todo: Fill description.
bEnableSubscribedFileListCache 1
Todo: Fill description.
bFinishStagedDepotVersions 1
Todo: Fill description.
@bForceStreamUnsupportedApp 0
Todo: Fill description.
@bLANPeerConnectionTimeoutSec 5
Todo: Fill description.
bLogLegacyDiskDetails 0
Todo: Fill description.
@bMsgErrorDump 0
Todo: Fill description.
@bRequireOfflineLogonTicket 0 If true, a valid offline logon ticket is required when logging in in offline or no connection mode
@bRequireSignedParentalSettings 1 If true, a valid set of signed parental settings is required when logging in in offline or no connection mode
broadcast_upload_drop_sec 6
Todo: Fill description.
broadcast_upload_update_sec 3
Todo: Fill description.
bSteam3LimitedUserEnable 1
Todo: Fill description.
bSteamLoaderEnable 1
Todo: Fill description.
bSubscribedFilesDecompressOnClient 1
Todo: Fill description.
bSubscribedFilesPollForUpdates 0
Todo: Fill description.
bSubscribedFilesUseRangeRequests 0
Todo: Fill description.
bVerifyAllDownloads 0
Todo: Fill description.
cAppUpdateWorkingSetMB 128
Todo: Fill description.
@cbPartnerUploadChunkSize 1000000 Chunk size to use for POSTing partner uploads
@cCSClientMaxNumSocketsPerHost 8
Todo: Fill description.
@cDepotBuilderFileChunkingThreads 4
Todo: Fill description.
cFileValidationMaxLog 100
Todo: Fill description.
ClientStatsUploadRateSeconds 10
Todo: Fill description.
@cMaxContentServersToRequest 20
Todo: Fill description.
@cMaxInitialDownloadSources -1
Todo: Fill description.
@cNetEncryptionHandshakeWorkMax_HighPri 8000
Todo: Fill description.
@cNetEncryptionHandshakeWorkMax_LowPri 2000
Todo: Fill description.
@cNetEncryptionHandshakeWorkMax_MedPri 4000
Todo: Fill description.
countrycode Empty
Todo: Supply Information
Todo: Fill description.
cPreallocateMinimumSizeKB 256
Todo: Fill description.
@csecCSRequestProcessorTimeOut 300
Todo: Fill description.
@csecFavoriteGameAccountCacheTime 86400 Control how often we refresh the account IDs in the game server favorites list
@csecIncomingDataRatePeriod 1
Todo: Fill description.
csecManifestDownloadTimeout 120
Todo: Fill description.
@csecUpdateTargetNumConnectionsEpoch 10
Todo: Fill description.
@cSecUploadDownloadRates 300
Todo: Fill description.
@CSInterfaceProxyPassword Empty
Todo: Supply Information
Todo: Fill description.
@CSInterfaceProxyUsername Empty
Todo: Supply Information
Todo: Fill description.
@cUDPSendRetries 8
Todo: Fill description.
@CustomBinaryRequestRetryTimes 20
Todo: Fill description.
@DepotBuilderAppInfoTimeout 120
Todo: Fill description.
@DepotBuilderConfigRoot "./depotscripts"
Todo: Fill description.
@DepotBuilderContentRoot Empty
Todo: Supply Information
Todo: Fill description.
@DepotBuilderMaxParallelUploadChunks 24
Todo: Fill description.
@DepotBuilderNoReslist 0
Todo: Fill description.
@DepotBuilderNumHTTPSocketsToMDS 12
Todo: Fill description.
@DepotBuilderOutputRoot Empty
Todo: Supply Information
Todo: Fill description.
@DepotBuilderParallelUploadChunks 6
Todo: Fill description.
@DepotBuilderProgressTimeout 1000
Todo: Fill description.
DepotDownloadProgressTimeout 120
Todo: Fill description.
DepotReconstructionLowPrio 1
Todo: Fill description.
DepotReconstructionNumIOThreads 1
Todo: Fill description.
DepotUseAlternatingReadWrite 1
Todo: Fill description.
developer 0
Todo: Fill description.
@EnableUDPHistory 0
Todo: Fill description.
@fDownloadRateImprovementToAddAnotherConnection 1.2
Todo: Fill description.
findbestcellstartupdelay 600
Todo: Fill description.
@fMinDataRateToAttemptTwoConnectionsMbps 0.5
Todo: Fill description.
@GCNameOverride Empty
Todo: Supply Information
Todo: Fill description.
@IOCPGetCompletionBatchSize 1
Todo: Fill description.
@LocalContentServer Empty
Todo: Supply Information
Todo: Fill description.
log_files_always_flush 0
Todo: Fill description.
log_matchmaking_callbacks 0
Todo: Fill description.
@MaxOutstandingSendThreadItem 1000
Todo: Fill description.
mic_autogain 16000 Automatic gain control level for microphone input
mic_inputfile Empty
Todo: Supply Information
Causes voice data to be read from the specified file instead of from the microphone
mic_outputfile Empty
Todo: Supply Information
Causes microphone data to be written out to the specified file
musiclogging 0
Todo: Fill description.
nBroadcastSessionHearbeatSec 120
Todo: Fill description.
nBroadcastSessionMaxDropFrames 100
Todo: Fill description.
nClientBackgroundAutoUpdateTimeSpreadMinutes 0
Todo: Fill description.
nClientCMUDPPingTimeGoodEnoughThresholdMS 50
Todo: Fill description.
nClientCMUDPPingTimeoutUseGoodEnoughMS 250
Todo: Fill description.
nCloudDownloadMinIntervalSec 60
Todo: Fill description.
nCloudFileCompressionMinFileSizeKB 16
Todo: Fill description.
nCloudFileCompressionMinFileSizeKBSharedFile 128
Todo: Fill description.
nCloudFileCompressionPercentageMin 10
Todo: Fill description.
nCloudFileCompressionPercentageMinSharedFile 50
Todo: Fill description.
nCloudSyncIntervalSec 30
Todo: Fill description.
nCloudUploadMinIntervalSec 1800
Todo: Fill description.
nContentStatsReportInterval 72 In Hours
Todo: Complete description.
@nCSClientRateLimitKbps 0
Todo: Fill description.
@nDownloadLANChunkCacheSizeMB 128
Todo: Fill description.
@nDownloadLANPeerGroup 0
Todo: Fill description.
@net_backlog_bytes_allowed 12000000
Todo: Fill description.
@net_backlog_time_allowed_sec 5
Todo: Fill description.
@NetConnectionBufferMsgLimit 1000 Max # of message that will be buffered into a single zipped packet
@NetConnectionBufferThreaded 1
Todo: Fill description.
net_incomingcheck 1
Todo: Fill description.
@net_loopback 1
Todo: Fill description.
net_maxresendsperframe 32
Todo: Fill description.
@nLANPeerRateLimitKbps 0
Todo: Fill description.
@nNetConnectionBufferZipLevel 1
Todo: Fill description.
@NoPromptForPassword 0
Todo: Fill description.
@nParentalSettingsLogLevel 4 Control the amount of spew written to the parental log file
nProductInfoUpdateInterval 900
Todo: Fill description.
@nSpewThrottleNagFrequencyMs 5000
Todo: Fill description.
n@SpewThrottlePeriodMs 1000
Todo: Fill description.
@nSpewThrottleResumeThreshold 3
Todo: Fill description.
@nSpewThrottleTriggerThreshold 10
Todo: Fill description.
@nSpewThrottleUnconditionalResumeMs 5000
Todo: Fill description.
@nSpewThrottleUnconditionalTriggerCount 50
Todo: Fill description.
nSubscribedAutoDownloadMaxSimultaneous 8
Todo: Fill description.
@nTCPLargeSendBufSizeMB 16
Todo: Fill description.
p2p_connecttimeout 15
Todo: Fill description.
p2p_unusedtimeout 120
Todo: Fill description.
rtime32EarliestSubscribedFileToDownload 1348857570[confirm]
Todo: Fill description.
@sCSDSVirtualHostHeader Empty
Todo: Supply Information
Todo: Fill description.
ServerBrowserPingSurveySubmitPct 5
Todo: Fill description.
@ShutdownOnFailedCommand 1 Exit steamcmd immediately upon any failed build-related command
spew_controller_loss 0
Todo: Fill description.
@sSteamCmdForcePlatformBitness Empty
Todo: Supply Information
Must be one of: <32, 64>
Todo: Complete description.
@sSteamCmdForcePlatformType Empty
Todo: Supply Information
Must be one of: <windows, macos, linux>
Todo: Complete description.
@strCSNoCacheHeader no-cache
Todo: Fill description.
@StreamClientArgs Empty
Todo: Supply Information
Todo: Fill description.
testappcloudpaths 0
Todo: Fill description.
uForcePreloadApp 0
Todo: Fill description.
UGCCDNReportPct 100
Todo: Fill description.
voice_autogain 0
Todo: Fill description.
voice_minabs 0.15
Todo: Fill description.
voice_minavg 1.0
Todo: Fill description.
voice_outputdevice 0 0=>Miles 1=>XAudio2
Todo: Complete description.
voice_outputfile Empty
Todo: Supply Information
Causes output from voice system to be written out to the specified file
voice_preprocess 1 Enables voice cleanup on incoming microphone data
voice_quality 4
Todo: Fill description.
workshop_items_cache_days 14
Todo: Fill description.
workshop_items_update_interval 900
Todo: Fill description.

Examples

  • steamcmd(dot)exe +login <username> <password> +force_install_dir <path> +app_update <appid> -validate


Source Dedicated Server

Command-line arguments for the Source Dedicated Server executable (srcds.exe, srcds_run)


Command-Line Parameters

Argument Description
-allowdebug (Same as -debug ?)
-autoupdate Autoupdate the game. Requires -steam_dir and -steamcmd_script to be set (Linux/Unix only).
-binary <binary> Use the specified binary (no auto detection) (Linux/Unix only).
-console SrcDS will run in console mode (Windows only).
-debug Run debugging on failed servers if possible. Requires -gdb to be set [confirm]
-debuglog <logname> Log debug output to this file (Linux/Unix only).
-dev Show developer messages.
-fake_stale_server Counter-Strike: Global OffensiveSkip check game version from steam and goes straight to out-of-date state
-game <game or path> Specifies which game/mod to run. Accepts either a path to a gameinfo.txt, or one of these pre-set values.
-gdb <gdb> Use <dbg> as the debugger of failed servers (Linux/Unix only).
-help ? (Linux/Unix only).
-insecure Will start the server without Valve Anti-Cheat.
-ignoresigint (Linux/Unix only) Ignore signal INT (prevents CTRL+C quitting).
-ip Specifies the address to use for the bind(2) syscall, which controls on which IP addresses the program is reachable on. It must either be a local address (an addresses of the host it runs on) or 0.0.0.0 (the wildcard). This has nothing to do with externally-visible addresses in NAT setups.
-maxplayers <number> Specifies how many player slots the server can contain. (CSGO Maxplayers is deprecated, set it in gamemodes_server.txt or use -maxplayers_override instead.)
-nobots Disable bots.
-nohltv Disables SourceTV and closes its port (usually 27020).
-norestart Won't attempt to restart failed servers.
-notrap (Linux/Unix only) Don't use trap. This prevents automatic removal of old lock files.
-port The port the server advertises to clients.
-steam Use this (along with -console) when you are running the version of SRCDS downloaded through Steam[confirm]. Original Description "Quit on steam update failure"
-steamcmd_script <path> Path to the steam script to execute. Example: ~/Steam/csgo_ds.txt (Linux/Unix only[confirm])
-steamerr Quit on steam update failure (Linux/Unix only).
-steamuser Steam user ID? (Linux/Unix only).
-steampass Steam Login Password? (Linux/Unix only).
-steam_dir <path> Dir that steam.sh resides in. Example: ~/Steam (Linux/Unix only)
-tickrate <number> Specifies Server-Tickrate (for more info see Source Multiplayer Networking). This doesn't exist on TF2, CSS, L4D, and L4D2.
-timeout <number> Sleep for <number> seconds before restarting a failed server.
-dumplongticks Generate minidumps when there are long server frame
-usercon Enables RCON for CS:GO Servers


Console Variables

  • +<console variable> <arg> - Sets the Cvar (or console variable) to the specified setting.


Some Useful Console Variables

Argument Description
+hostname "Hostname" Specifies the name of the server (Spaces between words won't work here!).
+ip Specifies the IP when multiple network cards are installed (Old, but still works).
+map <map> Specifies which map to start.
+maxplayers <number> Specifies how many player slots the server can contain (Old, but still works).
+hostport <port> Specifies the host port (Port specification before -port was added, but can still be used).
+clientport <port> Specifies the client port (The port the server advertises to clients, the same as -port and clientport in console)
+sv_lan <0/1> If set to 1, server is only available in Local Area Network (LAN).


Linux Command Options in Left 4 Dead seriesLeft 4 Dead series Left 4 Dead series

The Linux version of Left 4 Dead Left 4 Dead and Left 4 Dead 2 Left 4 Dead 2 dedicated server added extra server commands.


As part of the forking functionality mentioned below, the server parameters support substitution. For instance, if you specify +exec autoexec##.cfg, then the first server will execute autoexec01.cfg, the second autoexec02.cfg, and so on.


  • -netconport <number> - Creates a remotely accessible server console on the specified port. This can be connected to with telnet or similar applications, and allows controlling of the server as if the commands were being typed in at the console
  • -netconpassword "password" - It set, users must type PASS "password" to use the remote console described above
  • -fork <number> - Starts up the specified number of instances as subprocesses at once. They will each use the first available port number at 27015 or above.


GoldSrc / Half-Life Dedicated Server

These command-line parameters are used with hlds.exe for Goldsource (Half-Life) games.


Syntax: hlds.exe <parameter1> <parameter2> <cvar1> <cvar2>


Examples

  • hlds.exe -console -game cstrike +sv_lan 0 +maxplayers 22 +map de_dust2
  • ./hlds_run -game cstrike -autoupdate -pingboost 2 -port 27016 +maxplayers 20 +map de_dust2


Command-Line Parameters

Argument Description
-condebug Stores console output to "Half-Life\qconsole.log".
Note.pngNote:Can be toggled with condebug console command.
-dev Enables developer mode.
-autoupdate Autoupdate the game. Requires -steam_dir and -steamcmd_script to be set (Linux/Unix only)
-console HLDS will run in console mode (Windows only).
-game <game> Specifies which game/mod to run. Default is "valve".
-dll <name.dll> Specifies which DLL to use. Ex: -dll addons\metamod\dlls\metamod.dll.
-nomaster Disable communication with Master server. Use this parameter if you do not want your server to be listed in Server Browser.
Note.pngNote:Also disables server queries.
-insecure Disables Valve Anti-Cheat technology.
-port <port> Specifies which port to use for client connections. Default is 27015.
Note.pngNote:Can do the same with port console variable.
-sport <port> Specifies the VAC port the server should use. Default is 26900.
Note.pngNote:You only need to change -sport if VAC connections fail through the primary port.
-noip Disables network support.
-noipx Disables IPX support.
-tos Enables the LOWDELAY TOS header in the udp/ip packets the server generates. (Linux only)
-nobreakpad Let plugin authors still get old style minidumps if they need it (win32 only)
-num_edicts <variable> Sets the entity limit for map/game entities (not temporary entities, which is still locked to 500). 900 is default. 4096 is a good limit, beyond that seems to cause hunk_alloc errors[confirm]. Both clients and servers need matching values for best compatibility[confirm].
-heapsize <kilobytes> Specifies the amount of heap(or free store--cache, an area of memory used for dynamic memory allocation) the engine will use. Minimum value is 14336 (14 MB). Maximum value is 131072 (128 MB). By default this is set to 40960 (40 MB) and automatically adjusted to suit your system.
Note.pngNote:Low value causes "Unable to allocate X.X MB" exit error.
-zone <bytes> Specifies the amount of Bytes of memory for use with the console system.
Note.pngNote:Low value causes Z_Malloc exit error.
-maxplayers <number> Sets the maximum number of players that will be able to join your server.
Note.pngNote:Can do the same with maxplayers console variable.
-sys_ticrate Overrides sys_ticrate cvar.
-exec <file> Execute specific config file immediately after the engine is loaded.
+<console variable> <arg> Sets the Cvar (or console variable) to the specified setting.


Useful Console Variables

  • +hostname "Server Name" - Specifies the name of the server.
  • +ip <address> - Specifies the IP when multiple network cards are installed. Required for VAC2 operation.
    Note.pngNote:Usually you do not need to specify this.
  • +map <map> - Specifies which map to start with.
  • +sv_lan <0/1> - If set to 1, server is only available in Local Area Network (LAN).
  • +mapchangecfgfile <file> - Like Server.cfg, ran after every round change, before Plugins are started.
  • -pingboost <1/2/3> - Selects between optimized HLDS network code stack. Set this on 2 usually reduces latency toward 1ms without loss of activity input packets.


Troubleshooting the Server Console

Specifying a map is necessary, otherwise the server is not ready to accept connections from players to your server. You may wish to specify the "ip" and "port" parameters if you are experiencing problems.

Note.pngNote:This only applies to dedicated servers.


See Also

Developer Console