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
Source games
These command-line parameters will work with any Source engine games ( Half-Life 2,
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). - 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
Left 4 Dead 2 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 Counter-Strike: Source 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 de_dust.
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 (in all games since ![]() |
Allows multiple Source games to run at the same time. Only works if a VPROJECT environment variable is set. Use -multirun instead for ![]() ![]() -multirun ) can be run at the same time as a game that does, as long as the other game that doesn't support it was started first.![]() ![]() -allowmultiple and -multirun are supported, VPROJECT is not required, and using either will disable creating the Source mutex entirely, so any other game can still be started at the same time.![]() |
-allowstalezip | Suppresses console warnings from stale.txt existing. |
-allow_third_party_software (only in ![]() |
Previously -untrusted, this launches the game in "Untrusted Mode", which allow third-party programs to injecting its code into game executable. |
-anticheat_settings | (only in ![]() |
-audiolanguage (only in ![]() |
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 <n> (only in ![]() ![]() |
Forces the main menu background ID to the integer n 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 (only in ![]() ![]() |
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 Postal III, does not disable menu background maps, without using -nostartupmenu alongside it. |
-disable_d3d9ex | (only in ![]() |
-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 (only in ![]() ![]() ![]() ![]() ![]() ![]() |
Forces the game to never use DXVK, even in cases where it would be automatically enabled (such as when -gamepadui is passed in). Todo: What does this do on Linux, if anything? Does it revert to using ToGL or is that a separate launch option?
|
-dxlevel <level> (removed since ![]() |
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 Source games will always run on Direct3D 9 (or Direct3D 11/12 in some third-party games).
![]() Similarly, playing on maps that ship with custom models/props which only support dxlevel 90 or higher can cause the game to crash on dxlevel 81 or lower. |
-edit | According to comments, intended to replace -tools. Does nothing except disable all file logging for building reslists. |
-enablefakeip (only in ![]() |
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 | ![]() |
-filmgrain | Enables the filmgrain screen space effect. Crashes the game on ![]() ![]() |
-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 | (in all games since ![]() ![]() ![]() And -force_vendor_id 0x10DE -force_device_id 0x1088 will force the game to be recognized as GeForce GTX 590, which was listed in dxsupport.cfg (in most Source games, some may only recognizes older GPUs), and set most of the graphical settings to high by default. |
-force_vendor_id | |
-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 | ![]() ![]() ![]() ![]() ![]() When used, keyvalues in VGUI resource files tagged with $DECK will evaluate as true. This is used by default on ![]() ![]() -nogamepadui if the original UI is desired.This also automatically enables DXVK (except ![]() ![]() ![]() |
-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 ![]() ![]() |
-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 (only in ![]() |
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 <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 opened_files.txt 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 ![]() |
-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.![]() ![]() gamemodes_server.txt or with -maxplayers_override. |
-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 ![]() ![]() |
Allows the game to run even if another Source game is already open. ![]() -allowmultiple ) can be run at the same time as a game that does, as long as the other game is started first.![]() ![]() -allowmultiple and -multirun are supported, and using either will disable creating the Source mutex entirely, so any other game can still be started at the same time.![]() ![]() ![]() ![]() ![]() ![]() |
-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 ![]() ![]() ![]() ![]() ![]() 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[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 |
-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 (not in ![]() |
Disables joystick support. |
-nomaster | Hides server from master serverlist. |
-nomenuvid (only in ![]() ![]() ![]() |
Disables main menu background videos. In the ![]() ![]() |
-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 | (only in ![]() |
-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 | (only in ![]() |
-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. |
-nostartupmenu | (only in ![]() |
-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. Todo: Fix grammar.
|
-olddialogs | Forces old Windows dialogs instead of new Steam ones. Todo: Does it do anything nowadays?
|
-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. |
-playtest | Tells the engine to record the names of all sounds played via S_StartSound call without any of the sound flags SND_CHANGE_PITCH, SND_CHANGE_VOL, and SND_STOP. ![]() ![]() ![]() |
-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 | (only in ![]() |
-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 (only in ![]() |
Forces gibs to be spawned as random common objects. |
-skiploadingworkshopaddons (only in ![]() |
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 ![]() ![]() ![]() ![]() ![]() 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 (only in ![]() |
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 (only in ![]() ![]() ![]() ![]() ![]() ![]() |
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 ![]() A newer version of the respective games from 2021-2024 or later, and a graphics card that supports Vulkan (such as Nvidia 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.
|
-width <width>, -w | Forces the engine to start with resolution set to <width> . Ex: -w 1024
|
Deprecated Command-Line Parameters
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 |
GoldSrc Games
These command-line parameters will work with any GoldSource engine games ( Half-Life,
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 |
---|---|
-32bpp | Force 32-bit color mode (bit depth), enabled by default on Steam version of Half-Life 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. [confirm] |
-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 | (only in ![]() ![]() When loading a game with this parameter, the intro video will not play. ![]() ![]() ![]() CoFLaunchApp.exe executable, as applying it directly on ![]() cof.exe may crash the game. |
-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 | [Todo] |
+_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 Half-Life 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 ![]() |
-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. |
Source 2 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. (only in ![]() |
-allowmultiple | Allows multiple Source 2 instances to run at the same time. Only works if a VPROJECT environment variable is set. (only in ![]() |
-autoconfig | This command lets you restore config file settings to default. (only in ![]() |
-console | Starts the game with the developer console enabled. |
-dev | Starts the game with the DEV MENU enabled (only in ![]() |
-forcenovsync | Switches off Vsync technology. (only in ![]() |
-freq <refresh_rate> | Change the monitor refresh rate. (only in ![]() |
-full | The game will start in full-screen mode. (only in ![]() |
-fullscreen | The game will start in full-screen mode. (only in ![]() ![]() |
-gpuraytracing | (Confirmed with csgocfg.exe) 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 (only in ![]() |
-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. (only in ![]() ![]() |
-hlvr_workshop | Launches the Worshop Tools. (only in ![]() |
-insecure | Starts the server without Valve Anti-Cheat. |
-language <language> | Interface language customization. |
-limitvsconst | Limits number of vertex shaders up to 256. (only in ![]() |
-noborder | The game window won’t have edges. (only in ![]() |
-nohltv | Switches off all GOTV and Source TV opportunities. (only in ![]() |
-nojoy | Switching off joysticks, joystick support. (only in ![]() |
-nopreload | Cancels models, files and textures pre-loading. (only in ![]() |
-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. (only in ![]() |
-novr or -vr_enable_fake_vr_test | Launches the game in flat-screen mode. (only in ![]() |
-nowindow | Disables the spectator window. (only in ![]() |
-retail | Makes it so you cannot see certain items in the sdk, such as /characters/ and /econ/ (only in ![]() ![]() |
-softparticledefaultoff | Rendering particles settings. (only in ![]() |
-steam | Applied by default when launched through Steam, connects game to its 'network'. (only in ![]() ![]() |
-tools | Launches the Workshop Tools (only in ![]() ![]() |
-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 [confirm]. |
-vrdebug | Allows the game to run without a VR headset. (only in ![]() |
-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 (only in ![]() |
-window, -windowed, -startwindowed or -sw | The game will start in the regular window. |
-x <x position> | Window position along the axis X (only in ![]() |
-y <y position> | Window position along the axis Y (only in ![]() |
Deprecated Command-Line Parameters
Argument | Description |
---|---|
-tickrate <tickrate> | Sets the game tick interval. In ![]() ![]() |
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-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.
Note:Deprecated as of January 2023.
- -noreactlogin - Switches to the old login UI, but disables login confirmations via the mobile app and QR code logins.
Note:Deprecated as of January 2023.
- -oldbigpicture - Restores the old Big Picture Mode UI.
- -vgui - Start Steam with VGUI as the main window renderer instead of being Chromium.
Note:Deprecated as of January 2023.
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
- -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.
- web
- unknown
- android
- android6
- android7
- android8
- android9
- ps3os
- macos
- macos104
- macos105
- macos1058
- macos106_unused1
- macos106_unused2
- macos106_unused3
- macos106
- macos1063
- macos1064_slgu
- macos1067
- macos1067_unused
- macos107
- macos108
- macos109
- macos1010
- macos1011
- macos1012
- macos1013
- macos1014
- macos1015
- macos1016
- macos11
- macos11.1
- macos1017
- macos12
- macos1018
- macos13
- macos1019
- macos14
- macos1020
- macos15
- linux
- linux22
- linux24
- linux26
- linux32
- linux35
- linux36
- linux310
- linux316
- linux318
- linux3x
- linux4x
- linux5x
- linux41
- linux44
- linux49
- linux414
- linux419
- linux54
- linux6x
- linux7x
- linux510
- windows
- win311
- win95
- win98
- winME
- winNT
- win200
- winXP
- win2003
- winVista
- win7
- win2008
- win2012
- win8
- win8.1
- win2012R2
- win10
- win2016
- win2019
- win2022
- win11
- default
- pw_dota2
- nexon_dota2
- steamcmd
- pw_csgo
- clientui
- steamhdl
- steamchina
- singleapp
- gameserver
- -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 | [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. |
-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[confirm]. 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[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 cannot be altered on TF2 (except older versions), CSS (except older versions), L4D, and L4D2. |
-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
Left 4 Dead series
The Linux version of Left 4 Dead and
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".![]() |
-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[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.![]() |
-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.
Note: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.
Source compilers (VBSP, VVIS, VRAD)
Used in Expert compile mode, a batch file, or a frontend such as Compile Pal.
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.
