Command line options

Command line arguments (or Launch options on Steam) are additional arguments specified before the program starts, these functionally change the behavior of the program in some way, such as launching the game and start the game with the specified map directly, or play a demo for example.
Some Microsoft docs refer to them as options, parameters and flags. They use command to describe exactly one command line argument without values.WT
== games==
These command-line parameters will work with any Source engine games (, , etc.).
=== 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).
* Launch options on the game's properties in Steam library.
* Command-line batch script files launching these applications. For example: A bat file containing only "left4dead2.exe -dev -tools -nop4" to launch in tools mode.
* Linux shell scripts pointing to the application with launch options. executable -command
===Examples===
* steam.exe -applaunch 240 -dev -console -sw +sv_lan 1 +map MyMap - this will launch with the specified map.
* hl2.exe -game cstrike -dev -console -fullscreen +sv_lan 1 +map de_dust - same as above but launched from the game executable directly, with the map .
===Command-Line Parameters===
Argument 	Description
-adapter 	Sets the GL graphics adapter. Default is 0.
-all_languages 	Loads all language files.
-allowdebug 	Allows for debug modules to be loaded in games that disable them and fakes a debugger for phonehome, and is the same as -dev, unless -nodev is specified.
-allowmultiple 	Allows multiple Source games to run at the same time. Only works if a VPROJECT environment variable is set. Use -multirun instead for .
-allowstalezip 	Suppresses console warnings from stale.txt existing.
-allow_third_party_software 	Previously , this launches the game in "Untrusted Mode", which allow third-party programs to injecting its code into game executable.
-anticheat_settings 	This command are most likely used to change Epic Games Launcher/Easy Anti-Cheat settings for the game. It was also used to enable Direct3D 12 (DX12), using . Previously .
-audiolanguage 	Changes the audio (spoken) language. Due to the way it works, only -audiolanguage english works. However, it is possible to make other languages to work.
-autoconfig 	Restores video and performance settings to default for the current hardware detected. Ignores settings inside any .cfg files until this parameter is removed.
-background 	Forces the main menu background ID to the integer for the current session.
-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 	Used internally to tell the game it is loading a Bugbait (the name of the bug reporting system) bug report.
-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.
-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.
-debugsteam2wrapper 	Writes debug information for files accessed through the Steam 2 Wrapper to the debugger. Includes creation and deletion of file handles. See Fixing VPK mounting for older Source SDK Bases for more information.
-defaultgamedir 	Fallback directory if "-game" is not set. Default is "hl2".
-demo 	Enters the game into demo mode. Only works for Half-Life 2 and Portal
-dev 	Enables developer mode. Also disables the automatic loading of menu background maps and stops the quit dialog from appearing on exit.In , does not disable menu background maps, without using alongside it.
-disable_d3d9ex 	Forcefully disables Direct3D 9Ex.
-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.
-dx9 	Forces the game to never use DXVK, even in cases where it would be automatically enabled (such as when is passed in).
-dxlevel <level> 	Forces the game to start using specified DirectX feature levels. 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.Please note that changing DirectX levels does not change the Direct3D renderer to use any other versions of Direct3D. All games will always run on Direct3D 9 (or Direct3D 11/12 in some third-party games).
;Supported values
:60 (DX6, Source 2004 only)
:70 (DX7, Source 2006 or RTX Remix games only)
:80 (DX8)
:81 (DX8.1)
:90 (DX9.0 / SM 2.0)
:92 (equivalent to both "90" and "95". Mac/Linux only, translates DirectX to OpenGL using ToGL). Has partial SM 3.0 support.
:95 (DX9.0+ / SM 3.0, default on modern hardware)
:98 ( only, always enabled)
:100 ( and pre-Reborn only, always enabled)
-edit 	According to comments, intended to replace -tools. Does nothing except disable all file logging for building reslists.
-enablefakeip 	Tells Steam Datagram Relay to use a "FakeIP" and an anonymous server ID when local server hosting.
-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.
-fake_stale_server 	Skip check game version from Steam and goes straight to out-of-date state
-filmgrain 	Enables the screen space effect. Crashes the game on . In effect works and enabled by default
-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).
-forceallmips 	Always load mipmaps below 32x32, regardless of if the "no minimum mipmap" VTF flag is enabled.
-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.
-force_device_id 	Forces the GPU to be recognized as a different graphics card depending on the vendor set. This is used for either debugging purposes or for graphical workarounds, such as avoiding an Intel crash in L4D2 when both Shaders and Memory Pool are set to high, aswell as forcing the "High" shadows setting to be shown on systems with Intel GPUs.
-force_vendor_id 	Forces the GPU to be recognized as a different graphics card depending on the vendor set. This is used for either debugging purposes or for graphical workarounds, such as avoiding an Intel crash in L4D2 when both Shaders and Memory Pool are set to high, aswell as forcing the "High" shadows setting to be shown on systems with Intel GPUs.
-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 .
-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 	Enables the alternate controller-friendly UI used on Steam Deck. Makes various UI elements larger.When used, keyvalues in VGUI resource files tagged with will evaluate as true. This is used by default on and in ; use -nogamepadui if the original UI is desired.This also automatically enables DXVK (except since 20th anniversary); use to prevent this. Only present with updates released since 2020 - 2022 in any of those games.
-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 has been since deprecated on later version of and , but can still be changed through console commands ( and )
-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).
-internalbuild 	Causes the bug reporter panel to be drawn as internal
-interactivecaster 	Starting your client with this will switch it into camera man mode (reference tv_allow_camera_man_steamid/tv_allow_camera_man_steamid2)
-ip 	Does the same as the ipname Cvar
-language 	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)
-log_opened_files 	Logs all opened files to file. (useful for debugging which files are failing to load)
-low 	Sets the game's priority to Low
-lv 	Short for low violence. Enables German censorship like -sillygibs in with blood/gore disabled.
-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_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 	Allows the game to run even if another Source game is already open.
-navanalyze 	Used for developer purposes when launching a map. Immediately analyzes the navigation 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 navigation 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), commonly refers to Borderless Windowed mode. This will allows you to switching between application and the game (Alt+Tabbing) without a 2-3 seconds delay. It is only supported in and above, and can be changed in menu starting with , later available in , some games (such as with Steam Deck update) and some third-party Source games.For games that does not support borderless windowed mode, you can use third-party software such as Borderless Gaming, or .
-nobots 	Allows Counter-Strike server hosts to force bots disabled to enforce CPU limits.
-nobreakpad 	Disable the Breakpad crash handler.
-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) 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
-nogamepadui 	Overrides -gamepadui, forcibly disabling its effects when they would otherwise be automatically turned on (such as on Steam Deck or in ).
-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.
-nomenuvid 	Disables main menu background videos. In the , it will render the game startup image instead. In , it will render a static image corresponding to the video that would have been used.
-nomessagebox 	Stop various windows error message boxes from showing up
-nominidumps 	Dont write minidumps
-nomouse 	Disables in-game mouse support.
-NoLoadPluginsForClient 	
-nop4 	Forces the Engine to bypass Perforce Integration
-nophysx 	Completely disable NVIDIA PhysX physics engine, used for cloth simulation on Postal Dude's coat, but also prevent entities (which uses PhysX) from displaying.
-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.
-NoQueuedPacketThread 	(Linux) No queued packet thread will be created.
-norebuildaudio 	Opposite of and overrides -rebuildaudio for the map reslist generator.
-norfs 	Forces Remote Filesystem disabled. Xbox 360 only.
-norussian 	Preventing the game from switching to Russian language (Russian retail copies only).
-noshaderapi 	Loads a non-existent shader API 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.
-nostartupmenu 	Prevent the game from loading the main menu map if used alongside .
-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.
-NoVConfig 	Prevents the filesystem you nexem library from running VConfig if it encounters a filesystem error where it cannot find the game content.
-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 (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.
-playtest 	Tells the engine to record the names of all sounds played via call without any of the sound flags , , and .
-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 	Remote perf testing. Same as having -condebug, -conclearlog, and -console enabled
-ru 	Set the game language to Russian.
-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.
-shadersondemand 	Creates shaders on access, helps reduce D3D memory for tools, but causes I/O hitches.
-sillygibs 	Forces gibs to be spawned as random common objects.
-skiploadingworkshopaddons 	Only load addons from the addons folder, not subscriptions on the Steam Workshop.
-small 	Allow window sizing smaller than 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)
-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 	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 because "server ops are abusing it". Also disabled in , , and .In older versions on some of those games, or using server plugins, or by enabling it in the code, it can be changed.
-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.
-unrestricted_maxplayers 	Set the maximum players allowed to join the server. Unlike -maxplayers, this can allow for up to 100 players in a single server.
-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 	Enables the use of the DXVK library to translate Direct3D graphics calls to the Vulkan API. On Windows, where Direct3D itself is supported, this is of little use and should usually not be enabled (except in , where it can be used to work around some specific rendering bugs). On Linux, it is usually recommended for games which support it, due to providing better performance and less graphical issues compared to the OpenGL translation layer usually used on this platform. A newer version of the respective games from 2021-2024 or later, and a graphics card that supports Vulkan (such as GeForce 600-series/Kepler-based, AMD GCN 1.0 (or later) and Intel Skylake) are required in order to enable DXVK.
-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.
==== Deprecated Command-Line Parameters ====
Argument 	Description
-lowmemworkshop	Allow updating very large map files on Steam Workshop. While the option still works, Valve most likely no longer allow users to upload CS:GO items to Workshop in favor of CS2.
-mat_aaquality 	Set CSAA quality level, does the same as the Convar mat_aaquality. This no longer works on most modern GPUs (starting with NVIDIA GeForce 750Ti/800M/900 series).
-mat_antialias 	Antialiasing. Can be set to 8, amount past 8 won't sharpen the edges of game world.
===Console Variables===
* +<console variable> <arg> - Sets the Cvar (or console variable) to the specified setting when the game launches.
====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 current 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
== Games==
These command-line parameters will work with any GoldSource engine games (, , etc.).
===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
-32bpp 	Force 32-bit color mode (bit depth), enabled by default on Steam version of and other GoldSrc games.
+<console variable> <arg> 	Sets the Cvar (or console variable) to the specified setting.
-game <game> 	Specifies which game/mod to run. Default is "valve".
-dll <name.dll> 	Specifies which server DLL to use. Ex: -dll dlls\zbotcz.dll.Also works with linux, ex: -dll dlls/zbotcz.so.
-condebug 	Stores console output to "Half-Life\qconsole.log".
-dev 	Enables developer mode.
-glext 	When paired with "-dev" setting, outputs all OpenGL extensions supported by your graphics card.
-gl 	Sets the renderer to OpenGL.
-soft 	Sets the renderer to Software.
-full or -fullscreen 	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.
-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.
-nosound 	Disables sound support.
-nocdaudio 	Disables MP3 support, and CD Audio in previous/retail (WON) version. Also disallows cd console command to load mp3 tracks.
-wavonly 	Disables DirectSound and makes the engine attempt to play all sounds in PCM format.
-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 (allowing the game to render other aspect ratio/resolutions with black bar instead of stretching it). This will also disable the built-in MSAA.
-nomsaa 	Disables MSAA (Anti-Aliasing).
-noborder 	When used with the game set to windowed mode, will make the game act as if in fullscreen mode (no window border).
-nodirectblit 	Disables direct .
-nobots 	Disables bots.
-novid 	When loading a game with this parameter, the intro video will not play.
-port <port> 	Specifies which port to use for client connections for a listen server. Default is 27015.
-sillygibs 	Forces more gibs like skull and others to be spawned all time on NPC's death.
-demoedit 	Enables hidden Demo editor.
-num_edicts <variable> 	Sets the edict limit. Default 900, max 2048.
Both clients and servers need matching values for best compatibility; as such, this should be set in liblist.gam instead.
-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.
-zone <bytes> 	Specifies the amount of Bytes of memory for use with the console system.
-exec <file> 	Executes specific config file immediately after the engine is loaded.
-steam 	Show Steam server browser button on bottom-right corner of main menu. Running without this command does not disable the ability to connect to Steam servers.Enabled by default when launching from Steam library.
==== 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.
+_setvideomode 	
+_set_vid_level <0 or 1> 	Toggles "Low video quality".
+_setaddons_folder <0 or 1> 	Toggles "Allow custom addon content".
+_sethdmodels <0 or 1> 	Toggles "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 	Toggles logging before the engine loads config files.
==== Deprecated Command-Line Parameters ====
Argument 	Description
-16bpp 	Not allowed for use; would've forced 16-bit color mode (bit depth). Enabled by default in WON/Retail version of and other GoldSrc games.
-console 	Enabled by default in Steam versions; it can be accessible by either pressing tilde (~) in-game or it will appear automatically.
-d3d 	Removed since 2013 SteamPipe update. This will set the renderer to Direct3D 6.
-gamegauge <demoname> 	Use console commands instead. 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.
-gldrv <driver name> 	Was for selecting the GL Driver to use from two choices: "Default" and "3dfxgl.dll" (for 3dfx Voodoo cards).
-noaff 	Would've disabled setting of thread affinity.
-noextracds 	Retail/WON version only. Prevent the game from switching to 800x600 resolution when loading the menu.
-nointro 	Intro video support was already removed when the games were transferred to Steam. Intro video support was eventually restored in as part of it's 25th anniversary, but instead uses the command in order to disable the intro.
-notopmost 	Doesn't mark the game's windows as topmost (Always on Top) in fullscreen mode.
-nosierra 	On retail editions (also known as WON version) of Half-Life, disables Sierra intro video on GoldSrc games that have it. Removed when Half-Life was transferred to Steam.
-nowinmouse 	Renamed to -nomouse in newer versions.
-numericping 	Enabled by default; displays ping in server browsers in milliseconds instead of dots.
-particles <variable> 	Would've set the number of particles for which is set aside buffer space.
-toconsole 	Would've shown the console when the game launched.
-vid_mode <variable> / -vt <variable>	Use -gl or -soft instead; would've set the rendering mode to either one of two choices: gl or software.
== Games ==
=== Command-Line Parameters ===
Argument 	Description
-addon <addon_name> 	Starts the game mounting <addon_name>.
-allow_third_party_software 	Launches the game in "Untrusted Mode", which allow third-party programs to injecting its code into game executable.
-allowmultiple 	Allows multiple Source 2 instances to run at the same time. Only works if a VPROJECT environment variable is set.
-autoconfig 	This command lets you restore config file settings to default.
-console 	Starts the game with the developer console enabled.
-dev 	Starts the game with the DEV MENU enabled .
-forcenovsync 	Switches off Vsync technology.
-freq <refresh_rate> 	Change the monitor refresh rate.
-full 	The game will start in full-screen mode. .
-fullscreen 	The game will start in full-screen mode. .
-gpuraytracing 	(Confirmed with ) Enable ray-tracing feature support for Hammer Editor. Without it, Hammer ray-tracing related option such as GPU Path Tracing preview and GPU Ray Tracing Visualization will be disabled and hidden. Usually enabled when launching CS2 Workshop Tools from Steam .
-h <height> or -height <height> 	Forces the engine to start with resolution set to <height>. Ex: -h 1920
-high 	Sets the game's priority to High.
-hlvr_workshop 	Launches the Worshop Tools.
-insecure 	Starts the server without Valve Anti-Cheat.
-language <language> 	Interface language customization.
-limitvsconst 	Limits number of vertex shaders up to 256.
-noborder 	The game window won’t have edges. .
-nohltv 	Switches off all GOTV and Source TV opportunities.
-nojoy 	Switching off joysticks, joystick support.
-nopreload 	Cancels models, files and textures pre-loading.
-nostyle 	Disables some custom Windows UI styling. Can be used to force the tools into light mode, when Windows is set to light mode.
-novid 	Intro video is disabled.
-novr or -vr_enable_fake_vr_test 	Launches the game in flat-screen mode.
-nowindow 	Disables the spectator window.
-retail 	Makes it so you cannot see certain items in the sdk, such as /characters/ and /econ/
-softparticledefaultoff 	Rendering particles settings.
-steam 	Applied by default when launched through Steam, connects game to its 'network'.
-tools 	Launches the Workshop Tools .
-vconsole 	Allows for using the VConsole program that comes with certain games like Aperture Desk Job which does not provide a way of accessing the console in-game .
-vrdebug 	Allows the game to run without a VR headset.
-vulkan 	Forces the engine to use the Vulkan renderer.
-width <width>, -w 	Forces the engine to start with resolution set to <width>. Ex: -w 1080
-window, -windowed, -startwindowed or -sw	The game will start in the regular window.
-x <x position> 	Window position along the axis X
-y <y position> 	Window position along the axis Y
==== Deprecated Command-Line Parameters ====
Argument 	Description
-tickrate <tickrate>	Sets the game tick interval. In at launch, Valve hardcoded the game to use 64 tickrate with subticks, so this does nothing.
== 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").
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-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 	Same as -tenfoot.
==== Deprecated Command-Line Parameters ====
* -no-browser - Disables all instances of 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, requiring the use of Small Mode to view the list of games. 
* -noreactlogin - Switches to the old login UI, but disables login confirmations via the mobile app and QR code logins. 
* -oldbigpicture - Restores the old Big Picture Mode UI.
* -vgui - Start Steam with VGUI as the main window renderer instead of being Chromium. 
== 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.
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 ===
* -allosvers - Unknown: "Allow Servers"
* -allosarches - Unknown: "Allow Searches"
* -chromeos - Pretend to be Chrome OS.
* -clearbeta - Presumably clears the beta client opt-in.
* -clientbeta - Unknown
* -debugbreak - Break on assertions in a debugger, also hides the assertion dialogs
* -download - Intended to do something, but the condition to reach the code is not possible.
* -forceosver [os] - Forces an operating system. 
* -forcesteamupdate - Unknown
* -forcepackagedownload - Unknown
* -holo - Unknown
* -hometest - Unknown
* -inhibitbootstrap - Skips auto-updating on startup, but it appears theres more unknown functionality to this
* -noassert - Disables assertions
* -nobootstrapperupdate - Unknown
* -nocrashdialog - Disables assertions
* -noiocp - Disables IOCP connection
* -norepairfiles - Don't repair files
* -noverifyfiles - Don't verify files
* -overridepackageurl [url] - Force a specific URL address for packages
* -promptdebugattach - Shows a debug prompt box on startup, presumably used to allow convenient debugger attaching.
* -silent - Unknown
* -simulatedownloaderrors - Pretend there is errors when downloading
* -simulatefatalerror - Simulates a fatal error on startup
* -skipinitialbootstrap - Skips auto-updating on startup
* -singleapp - Unknown: changes launcher type to 3 (the default is 8).
* -steamchina - Unknown: changes launcher type to 3 (the default is 8).
* -steamconsole - Pretend to be Steam Console.
* -steamdeck - Pretend to be Steam Deck.
* -steamos - Pretend to be Steam OS.
* -steamos3 - Pretend to be Steam OS 3 (?).
* -timingtestflushdiskcache - Unknown, does something with a file
* -verifyfiles - Force verification of files
=== 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 	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 	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 	 	
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 	 	
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 	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 	 	
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> 	
=== ConVars ===
Argument 	Default Parameter	Description
app_info_http_min 	0 	
app_info_http_num_sockets 	8 	
AsyncFileIODisableWrite 	0 	
AsyncFileIOExpectOutstandingIO 	16 	
AsyncFileIOForceGenericIO 	1 	
AsyncFileIOMaxPending 	128 	
AsyncFileIOReadHandleCache 	32 	
AsyncFileIOWriteHandleCache 	32 	
batterypercent 	0 	
batterytime 	0 	
bCheckForFreeGamesOnLogin 	0 	
bCheckUGCIntegrity 	1 	
@bContentManifestUseProtobufs 	1 	
@bCSClientRateLimitUseDelays 	0 	
@bCSForceNoCache 	0 	
@bDepotBuilderReadBufferSizeKB 	8192 	
@bDepotBuilderUnbufferedReads 	1 	
bDisableTenFootOverlay 	0 	
@bEnableMovieRecording 	0 	
@bEnableOfflineLogonTicket 	1 	If true, an offline logon ticket will be requested during logon if none is cached
@bEnableSpewThrottle 	1 	
bEnableSubscribedFileListCache 	1 	
bFinishStagedDepotVersions 	1 	
@bForceStreamUnsupportedApp 	0 	
@bLANPeerConnectionTimeoutSec 	5 	
bLogLegacyDiskDetails 	0 	
@bMsgErrorDump 	0 	
@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 	
broadcast_upload_update_sec 	3 	
bSteam3LimitedUserEnable 	1 	
bSteamLoaderEnable 	1 	
bSubscribedFilesDecompressOnClient 	1 	
bSubscribedFilesPollForUpdates 	0 	
bSubscribedFilesUseRangeRequests 	0 	
bVerifyAllDownloads 	0 	
cAppUpdateWorkingSetMB 	128 	
@cbPartnerUploadChunkSize 	1000000 	Chunk size to use for POSTing partner uploads
@cCSClientMaxNumSocketsPerHost 	8 	
@cDepotBuilderFileChunkingThreads 	4 	
cFileValidationMaxLog 	100 	
ClientStatsUploadRateSeconds 	10 	
@cMaxContentServersToRequest 	20 	
@cMaxInitialDownloadSources 	-1 	
@cNetEncryptionHandshakeWorkMax_HighPri 	8000 	
@cNetEncryptionHandshakeWorkMax_LowPri 	2000 	
@cNetEncryptionHandshakeWorkMax_MedPri 	4000 	
countrycode 	Empty 	
cPreallocateMinimumSizeKB 	256 	
@csecCSRequestProcessorTimeOut 	300 	
@csecFavoriteGameAccountCacheTime 	86400 	Control how often we refresh the account IDs in the game server favorites list
@csecIncomingDataRatePeriod 	1 	
csecManifestDownloadTimeout 	120 	
@csecUpdateTargetNumConnectionsEpoch 	10 	
@cSecUploadDownloadRates 	300 	
@CSInterfaceProxyPassword 	Empty 	
@CSInterfaceProxyUsername 	Empty 	
@cUDPSendRetries 	8 	
@CustomBinaryRequestRetryTimes 	20 	
@DepotBuilderAppInfoTimeout 	120 	
@DepotBuilderConfigRoot 	"./depotscripts" 	
@DepotBuilderContentRoot 	Empty 	
@DepotBuilderMaxParallelUploadChunks 	24 	
@DepotBuilderNoReslist 	0 	
@DepotBuilderNumHTTPSocketsToMDS 	12 	
@DepotBuilderOutputRoot 	Empty 	
@DepotBuilderParallelUploadChunks 	6 	
@DepotBuilderProgressTimeout 	1000 	
DepotDownloadProgressTimeout 	120 	
DepotReconstructionLowPrio 	1 	
DepotReconstructionNumIOThreads 	1 	
DepotUseAlternatingReadWrite 	1 	
developer 	0 	
@EnableUDPHistory 	0 	
@fDownloadRateImprovementToAddAnotherConnection	1.2 	
findbestcellstartupdelay 	600 	
@fMinDataRateToAttemptTwoConnectionsMbps 	0.5 	
@GCNameOverride 	Empty 	
@IOCPGetCompletionBatchSize 	1 	
@LocalContentServer 	Empty 	
log_files_always_flush 	0 	
log_matchmaking_callbacks 	0 	
@MaxOutstandingSendThreadItem 	1000 	
mic_autogain 	16000 	Automatic gain control level for microphone input
mic_inputfile 	Empty 	Causes voice data to be read from the specified file instead of from the microphone
mic_outputfile 	Empty 	Causes microphone data to be written out to the specified file
musiclogging 	0 	
nBroadcastSessionHearbeatSec 	120 	
nBroadcastSessionMaxDropFrames 	100 	
nClientBackgroundAutoUpdateTimeSpreadMinutes 	0 	
nClientCMUDPPingTimeGoodEnoughThresholdMS 	50 	
nClientCMUDPPingTimeoutUseGoodEnoughMS 	250 	
nCloudDownloadMinIntervalSec 	60 	
nCloudFileCompressionMinFileSizeKB 	16 	
nCloudFileCompressionMinFileSizeKBSharedFile 	128 	
nCloudFileCompressionPercentageMin 	10 	
nCloudFileCompressionPercentageMinSharedFile 	50 	
nCloudSyncIntervalSec 	30 	
nCloudUploadMinIntervalSec 	1800 	
nContentStatsReportInterval 	72 	In Hours
@nCSClientRateLimitKbps 	0 	
@nDownloadLANChunkCacheSizeMB 	128 	
@nDownloadLANPeerGroup 	0 	
@net_backlog_bytes_allowed 	12000000 	
@net_backlog_time_allowed_sec 	5 	
@NetConnectionBufferMsgLimit 	1000 	Max # of message that will be buffered into a single zipped packet
@NetConnectionBufferThreaded 	1 	
net_incomingcheck 	1 	
@net_loopback 	1 	
net_maxresendsperframe 	32 	
@nLANPeerRateLimitKbps 	0 	
@nNetConnectionBufferZipLevel 	1 	
@NoPromptForPassword 	0 	
@nParentalSettingsLogLevel 	4 	Control the amount of spew written to the parental log file
nProductInfoUpdateInterval 	900 	
@nSpewThrottleNagFrequencyMs 	5000 	
n@SpewThrottlePeriodMs 	1000 	
@nSpewThrottleResumeThreshold 	3 	
@nSpewThrottleTriggerThreshold 	10 	
@nSpewThrottleUnconditionalResumeMs 	5000 	
@nSpewThrottleUnconditionalTriggerCount 	50 	
nSubscribedAutoDownloadMaxSimultaneous 	8 	
@nTCPLargeSendBufSizeMB 	16 	
p2p_connecttimeout 	15 	
p2p_unusedtimeout 	120 	
rtime32EarliestSubscribedFileToDownload 	1348857570 	
@sCSDSVirtualHostHeader 	Empty 	
ServerBrowserPingSurveySubmitPct 	5 	
@ShutdownOnFailedCommand 	1 	Exit steamcmd immediately upon any failed build-related command
spew_controller_loss 	0 	
@sSteamCmdForcePlatformBitness 	Empty 	Must be one of: <32, 64>
@sSteamCmdForcePlatformType 	Empty 	Must be one of: <windows, macos, linux>
@strCSNoCacheHeader 	no-cache 	
@StreamClientArgs 	Empty 	
testappcloudpaths 	0 	
uForcePreloadApp 	0 	
UGCCDNReportPct 	100 	
voice_autogain 	0 	
voice_minabs 	0.15 	
voice_minavg 	1.0 	
voice_outputdevice 	0 	0=>Miles 1=>XAudio2
voice_outputfile 	Empty 	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 	
workshop_items_cache_days 	14 	
workshop_items_update_interval 	900 	
=== 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
-debuglog <logname> 	Log debug output to this file (Linux/Unix only).
-dev 	Show developer messages.
-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 	Starts 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.
-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. Original Description "Quit on steam update failure"
-steamcmd_script <path>	Path to the steam script to execute. Example: ~/Steam/hl2_ds.txt (Linux/Unix only)
-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 cannot be altered on (except older versions), (except older versions), , and .
-timeout <number> 	Sleep for <number> seconds before restarting a failed server.
-dumplongticks 	Generate minidumps when there are long server frame
=== 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 ===
The Linux version of and 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.
=== 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".
-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.
-insecure 	Starts the server without Valve Anti-Cheat.
-port <port> 	Specifies which port to use for client connections. Default is 27015.
-sport <port> 	Specifies the VAC port the server should use. Default is 26900.
-noip 	Disables network support. Not the same as Steam offline mode.
-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. Both clients and servers need matching values for best compatibility.
-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.
-zone <bytes> 	Specifies the amount of Bytes of memory for use with the console system.
-maxplayers <number> 	Sets the maximum number of players that will be able to join your server.
-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.
* +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.
==Source compilers (VBSP, VVIS, VRAD) ==
Used in Expert compile mode, a batch file, or a frontend such as .
See VBSP, VVIS, VRAD page for more info.
==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.
==See Also==
*Developer Console
Category:GoldSrc
Category:Source
Category:Source 2
Category:Steam
Category:Source SDK FAQ
Category:Dedicated Server