Skip to content

Instantly share code, notes, and snippets.

@davispuh
Last active October 7, 2024 08:15
Show Gist options
  • Save davispuh/6600880 to your computer and use it in GitHub Desktop.
Save davispuh/6600880 to your computer and use it in GitHub Desktop.
Steam client parameters, consoles commands and variables
-480p - Run tenfoot in 480p rather than 1080p
-720p - Run tenfoot in 720p rather than 1080p
-accesscode -
-all_languages - show longest loc string from any language
-batterytestmode - rapidly cycle battery percentages for testing
-bigpicture - Start in Steam Big Picture mode
-blefw -
-cafeapplaunch - Launch apps in a cyber cafe context
-candidates - Show libjingle candidates for local connection as they are processed
-ccsyntax - Spew details about the localized strings we load
-cef-delaypageload - Enable early-out for known page loads
-cef-disable-breakpad - disables breakpad in crash dumps
-cef-disable-d3d11 - disable D3D11 usage in CEF
-cef-disable-delaypageload - Disable early-out for known page loads
-cef-disable-gpu-compositing - Disable GPU accelerated compositing in browsers
-cef-disable-gpu - Disable GPU usage in CEF (force software rendering/compositing)
-cef-disable-hang-timeouts - disables GPU and renderer hang timeouts
-cef-disable-js-logging - disables console and log file logging of JS console events
-cef-disable-occlusion - disables Chromium window occlusion testing on Windows
-cef-disable-renderer-restart - Disable auto-restart of renderer process for existing browsers
-cef-disable-sandbox - disables sandboxing in CEF
-cef-disable-seccomp-sandbox - disables CEF seccomp-bpf sandbox on Linux
-cef-enable-debugging - enables Chromium remote debugging, defaulting to localhost:8080
-cef-enable-gpu-debugging - Enable GPU debugging in Chromium, costs a glGetError() call after every command
-cef-enable-samesite-by-default-cookies - Treat unspecified samesite as samesite=lax
-cef-force-32bit - forces usage of 32-bit steamwebhelper when available
-cef-force-gpu - Force enable GPU acceleration
-cef-force-sandbox - force sandboxing in CEF
-cef-full-memory-crash-report - enables full crash dumps
-cef-ignore-certificate-errors - allow self-signed certificates
-cef-in-process-gpu - runs CEF GPU processing as thread of browser process
-cef-no-linux-angle - Don't use ANGLE for rendering backend on Linux
-cef-single-process - runs CEF processes in single process
-cef-use-shell-exec - Launch CEF process via sub-shell
-cef-verbose-js-logging - enables verbose logging of JS console events
-cef-verbose-logging - enables verbose logging from CEF
-cef-winxp - force running the WinXP compatible CEF browser
-clientui -
-community - Set the community URL
-complete_install_via_http - Run installation completion over HTTP by default
-console -
-controllertypeoverride -
-debugbutton - Show debug button in content frame header
-debug_steamapi - enables logging of Steam API functions
-dev -
-disable-winh264 - disables loading winh264.dll
-disablehighdpi - disables high-DPI support in CEF
-disablepartnerlicenses - disable automatically granted partner licenses
-dumpvideostream - Dump the game stream as an elementary video file
-enable-desktop-gl-fallback -
-enable-keyring - enables CEF usage of the Chromium keyring
-enablealloobesteps -
-fasthtml - Enable fast child html for any platform
-flushconfig -
-forcecontrollerappid - Force a Specific AppID for Steam Controller Config - Prevents context/app switching from changing configuration
-forcedeckcontroller -
-forcedesktopscaling - Scale the desktop UI
-forceservice - Run Steam Client Service even if Steam has admin rights
-forcevgui -
-friendsui -
-fs_log - Log file system accesses
-fs_logbins - Log the binaries we load during operation
-fs_target - Set target syntax
-fulldesktopres - Run tenfoot in full desktop resolution rather than 1080p, overrides -720p as well.
-fullscreen - Set BPM to fullscreen
-fullscreenopengl - Use the full screen OpenGL render for the UI
-gamepadui - Start in gamepadui mode
-help - Set the help/support URL
-hidelibmenu -
-html-perf-monitor - Draws html perf data
-init_universe -
-language - Set Steam client UI language
-login - Automatically logs in user
-lognetapi - logs all P2P networking info to log/netapi_log.txt
-log_voice - writes voice chat data to the logs/voice_log.txt file
-master_ipc_name_override -
-musiccrawltrack - Add menu to crawl track and print result to console
-musicdbforcerebuild - Forces a rebuild and recrawl of the music database
-net_fake_state - Set initial value for net_fake_state
-net_start_wifi_disabled - Set the initial value for wifi enabled to false. (Useful when emulating SteamDeck)
-no-cef-sandbox - disables sandboxing in CEF
-no-dwrite - forces CEF to use GDI text even if DWrite support is available
-no-shared-textures - forces overlay to avoid sharing texture handles with game process
-nobigpicture - Start in regular mode (force Big Picture mode off)
-noconsole -
-nocrashmonitor -
-nofasthtml - Disables new fast child hwnd direct in vgui hwnd rendering path
-nofriendsui -
-nointro - Skip intro movie
-noshaders - Disable the shader manager
-offlinemode - Always attempt to start in offline mode
-oldtraymenu - use old tray menu instead of browser-based menu
-openalldevtools - Open Chrome devtools on launch for every HTML window
-opendevtools - Open Chrome devtools for shared JS context (offscreen window) on launch
-opengl - Use the OpenGL render for the UI
-openoverlaydevtools - Open Chrome devtools on creation of any overlay browsers
-overlaytestmode - Forces overlay testmode mode for debugging
-perfectworld - Identifies processes that were launched by the Perfect world launcher
-pid - Pid that we should be watching for
-private_ip_override -
-quicklogin - Set the base used to construct quick login URLs
-rememberpassword - If logging in user with credentials specified on the command line, proceed as if 'remember my password' had been enabled
-showallbetas - Disable client beta filtering
-silent - Silent startup mode (tray mode only)
-single_core - Force Steam to run on your primary CPU only
-skipstreamingdrivers - Skip streaming driver checks
-steamos -
-store - Set the store URL
-storebeta - 0
-system-composer - Force the use of the system browser composer
-tcp - forces connection to Steam backend to be via TCP - deprecated, will be replaced by websockets only for TCP soon
-tenfoot - Start in Steam Big Picture mode
-testbutton - Show test button on main menu
-testssa - force display of SSA
-teststoragedata - Enable test storage data
-toggle-overlay-html-mode - Disables new faster overlay HTML path (or enables if on a branch it's not on by default for)
-udpforce - forces connection to Steam backend to be via UDP - deprecated, won't exist for too long
-unhidefriendsui -
-userchooser - Sends the user to the User Chooser even if they have 0 or 1 accounts
-vgui - Start in vgui mode
-vguifocus - Print out details of which panel has keyboard focus
-vguimessages - set to see debug vgiui2 messages
-voicerelay - Only allow 'relay' connections for voice (testing).
-vrdisable - Disable VR - never even try to load OpenVR DLLs
-vrforce - Always perform Hmd status check even if we crashed the last time we tried
-vronly -
-vrskip - Skip VR initialization entirely no matter who asks for it
-websocket - forces connection to Steam backend to be via WebSocket
-websocketignorecertissues - says it's ok to ignore cert validation issues if using WebSocket connections, for dev use only
-windowed - Run Steam tenfoot mode in a window rather than a fullscreen borderless window
@AllowSkipGameUpdate = "0" -
@AppMRUSize = "20" -
@bCallerDeadlineAbortJobDisableWhenHTTPReqStart = "1" -
@bCheckMsgProtobufOnJobStackForArenaAlloc = "1" - Should we only use the arena allocator if the protobuf is on the job stack
@bClientDownloadUseHTTPS = "0" - Set this to use HTTPS on supported download servers
@bClientOpenCacheStickyRedirects = "1" -
@bClientTryRequestManifestWithoutCode = "0" - If set, client will try to get a manifest even without a manifest request code
@bContentManifestUseProtobufs = "1" -
@bCSForceNoCache = "0" -
@bDepotBuilderReadBufferSizeKB = "8192" -
@bDepotBuilderUnbufferedReads = "1" -
@bDisableDualStackDownloads = "0" -
@bDownloadThrottleDuringCloudSync = "0" -
@bEnableFrameFuncOverageWarnings = "0" - This turns on the spew in SPEW_MISC at level 4, still need to adjust spew levels to see it.
@bEnableHTTP2OnAllCHTTPClients = "0" - Enable HTTP/2 on all CHTTPClients automatically for SSL connections
@bEnableLogTearOff = "1" -
@bEnableMovieRecording = "0" -
@bEnableNetworkJobsOwnStartList = "1" -
@bEnableOfflineLogonTicket = "1" - If true, an offline logon ticket will be requested during logon if none is cached
@bEnableProtobufArenaAllocation = "0" - Kill switch for arena allocation globally
@bEnableSiteLicenseConnect = "1" -
@bEnableSiteLicenseConsoleLogging = "0" -
@bEnableSpewThrottle = "1" -
@bEnforceValidEmailDomains = "1" - Enable valid email domains in BIsValidEmailAddress
@bForceAbsoluteMouseCoordinates = "0" -
@bForceLaunchEula = "0" -
@bForceStreamUnsupportedApp = "0" -
@bFreeCNetPacketOnThread = "1" - Should we move freeing netpackets to a threaded workitem
@bHttpClientRecordHostnameDimension = "0" - Group HTTP metrics by hostname. Careful, the cardinality of your in-memory map might be large.
@bLANPeerConnectionTimeoutSec = "5" -
@bLogMessageToProtobufClass = "1" - We we first discover the protobuf class used for a particular EMsg, log it
@bMetricsEnabled = "1" - Enabling allows jobs to collect and report metrics through IMetricsReporters.
@bMsgErrorDump = "0" -
@bPartnerUploadUseCloud = "-1" - set to request to use or not use cloud storage for legacy DRM uploads: 1 = yes, 0 = no, -1 = let server decide
@bRequireOfflineLogonTicket = "1" - If true, a valid offline logon ticket is required when logging in in offline or no connection mode
@bScreenshotsLegacyCloudUpload = "0" - If set, use the legacy Steam Cloud upload path for screenshot uploads
@bShaderClientGetBucketManifestUseWebAPI = "1" -
@bSiteLicenseAllowCachedClientCredentials = "0" - Allow Steam clients that associate to this site to save username and auth credentials locally
@bSiteLicenseProxyCacheIsExternalProcess = "0" - If set, the caching content proxy will be handled by some process other than steamcmd. You probably also should set @sSiteLicenseProxyExplicitIP.
@bSiteLicenseProxyEnableIPv6 = "0" - If set, we will enable ipv6 communications to the Steam servers
@bSiteLicenseServer = "0" -
@cbPartnerUploadChunkSize = "1000000" - Chunk size to use for POSTing partner uploads
@cCSClientMaxNumSocketsPerHost = "8" -
@cCSClientMaxNumSocketsPerHostForCachingProxy = "32" -
@cDepotBuilderFileChunkingThreads = "4" -
@cloud_testdynamicsyncapp = "0" -
@cMaxContentServersToRequest = "20" -
@cMaxInitialDownloadSources = "-1" -
@cMinimumJobTimeoutsToCheckPerFrame = "100" -
@cNetEncryptionHandshakeWorkMax_HighPri = "8000" -
@cNetEncryptionHandshakeWorkMax_LowPri = "2000" -
@cNetEncryptionHandshakeWorkMax_MedPri = "4000" -
@csecCSJobSuccessfulRequestTimeWindow = "60" -
@csecCSRequestProcessorTimeOut = "300" -
@csecDurationControlPeriod = "" - Override default duration-control / anti-indulgence time period. If nonzero, initial playtime threshold is this value in seconds
@csecDurationControlPeriod = - Override default duration-control / anti-indulgence time period. If nonzero, initial playtime threshold is this value in seconds
@csecDurationControlPeriodToday = "" - Override default duration-control / anti-indulgence time period. If nonzero, per-day playtime threshold is this value in seconds
@csecDurationControlPeriodToday = - Override default duration-control / anti-indulgence time period. If nonzero, per-day playtime threshold is this value in seconds
@csecDurationControlSimulated = "" - Simulate having already played this many seconds of playtime.
@csecDurationControlSimulated = - Simulate having already played this many seconds of playtime.
@csecDurationControlSimulatedNonRecent = "" - Simulate having already played this many seconds of playtime today, but not recently.
@csecDurationControlSimulatedNonRecent = - Simulate having already played this many seconds of playtime today, but not recently.
@csecFavoriteGameAccountCacheTime = "86400" - Control how often we refresh the account IDs in the game server favorites list
@csecIncomingDataRatePeriod = "1" -
@csecSiteLicenseProxyStatsLog = "60" - Log proxy stats this often
@csecSiteLicenseProxyStatsUpdate = "1" - update proxy stats internally this often
@csecUpdateTargetNumConnectionsEpoch = "10" -
@cSecUploadDownloadRates = "300" -
@CSInterfaceProxyPassword = "" -
@CSInterfaceProxyPassword = -
@CSInterfaceProxyUsername = "" -
@CSInterfaceProxyUsername = -
@cUDPSendRetries = "8" -
@CustomBinaryRequestRetryTimes = "20" -
@DepotBuilderDeltaMaxChunks = "20000" -
@DepotBuilderEnableVZd = "1" -
@DepotBuilderMaxParallelUploadChunks = "96" -
@DepotBuilderNumHTTPSocketsToMDS = "48" -
@DepotBuilderParallelUploadChunks = "6" -
@DepotBuilderProgressTimeout = "1000" -
@DepotBuilderVZdMinRatio = "0.4" -
@DepotBuilderXORMatchPercent = "95" -
@durationControlNightCheck = "1" - Time of day check for duration-control feature. 1 = normal. 2 = force night-time. 0 = disable checks, only enabled for age verified accounts
@EnableUDPHistory = "0" -
@fDownloadRateImprovementToAddAnotherConnection = "1.2" -
@fMinDataRateToAttemptTwoConnectionsMbps = "1.5" -
@ForceContentServer = "" -
@ForceContentServer = -
@ForceContentServerHTTPS = "0" -
@ForceContentServerType = "" -
@ForceContentServerType = -
@GCNameOverride = "" -
@GCNameOverride = -
@LocalContentServer = "" -
@LocalContentServer = -
@MaxOutstandingSendThreadItem = "10000" -
@metricsDisabledCatalogs = "" - Comma separated list of metrics catalogs to disable. This is the last check.
@metricsDisabledCatalogs = - Comma separated list of metrics catalogs to disable. This is the last check.
@metricsDisabledOperations = "" - Comma separated list of metrics operations that are disabled. This setting has highest priority
@metricsDisabledOperations = - Comma separated list of metrics operations that are disabled. This setting has highest priority
@metricsEnabledOperations = "" - Comma separated list of metrics operations. Overrides disabled catalogs
@metricsEnabledOperations = - Comma separated list of metrics operations. Overrides disabled catalogs
@nCallerDeadlineHopLatencyMS = "10" - When we send a message expecting a reply from a job with a deadline, set the timeout on the message to [current time remaining in this job] - N ms. A negative value prevents propagating caller deadlines down the chain
@nClientCloudMaxMBParallelDownloads = "64" -
@nClientCloudMaxMBParallelUploads = "64" -
@nClientCloudMaxNumParallelDeletes = "10" -
@nClientCloudMaxNumParallelDownloads = "10" -
@nClientCloudMaxNumParallelUploads = "10" -
@nClientCMDirectoryResultLoadPercentDither = "10" - Dither to apply to CM server loads received by CMDirectory query
@nClientCMUDPPingTimeGoodEnoughThresholdMS = "50" -
@nClientCMUDPPingTimeoutUseGoodEnoughMS = "250" -
@nClientDownloadEnableHTTP2PlatformLinux = "1" - Enable HTTP/2 connections on Linux clients
@nClientDownloadEnableHTTP2PlatformWindows = "1" - Enable HTTP/2 connections on Windows clients
@nClientDownloadEnableHTTP2RelBranch = "1" - Only enable HTTP/2 on enabled platforms on rel branch client if this is set
@nClientDownloadInitWindowSizeHTTP2Connection = "10000000" - Init per-connection window size for HTTP/2.
@nClientDownloadInitWindowSizeHTTP2Stream = "2000000" - Init per-stream window size for HTTP/2.
@nClientDownloadPreferredServerMaxLoad = "85" - Once preferred servers reach this load, we'll continue to use non-preferred servers in the list after them
@nClientEnableHTTP2PlatformLinux = "0" - Enable HTTP/2 connections on Linux clients
@nClientEnableHTTP2PlatformWindows = "0" - Enable HTTP/2 connections on Windows clients
@nClientQueryCMDirectoryBeforeConnect = "1" - Use CMDirectory webapi to get fresh CM list on connect - 0=disabled, 1=enabled, 2=main/dev/beta clients only
@nClientServiceMethodForDownloadListPercent = "100" -
@nCloudClientUseGetAppFileChangelist = "1" - Should the client use the new GetAppFileChangelist API - 0 = no, 1 = yes, 2 = beta clients
@nContentDeltaChunkAppendChunksAfterProtobufSizeThresholdMB = "33" -
@nContentUpdateAutoVerifyCleanBytesThresholdMB = "2048" - How many clean MB must we verify before backing off on auto-verifies
@nContentUpdateAutoVerifyEnable = "1" - 0 = disabled; 1 = enabled all clients; 2 = enabled public Beta clients only
@nContentUpdateAutoVerifyPostThresholdOdds = "10" - 1 in X chance we auto-verify this update even if you've reached the clean-data threshold
@nCSClientRateLimitKbps = "0" -
@nCSJob5xyResponseLimit = "10" -
@nCSJob404ResponseLimit = "100" -
@nDownloadLANChunkCacheSizeMB = "128" -
@nDownloadLANPeerGroup = "0" -
@NetConnectionBufferMsgLimit = "1000" - Max # of message that will be buffered into a single zipped packet
@NetConnectionBufferThreaded = "1" -
@net_backlog_bytes_allowed = "18000000" -
@net_backlog_time_allowed_sec = "8" -
@net_loopback = "1" -
@nFreeCNetPacketOnThreadMaxBatch = "2048" - How many max packets to free per-workitem
@nHTPPServerLogLevelAccessLine200 = "3" - Log level to use for one-line access-log-style for each http server request returning 200
@nHTPPServerLogLevelAccessLineNon200 = "2" - Log level to use for one-line access-log-style for each http server request that returns != 200
@nHTPPServerLogLevelDetails200 = "4" - Log level to use for full details of any http server request returning 200. This will probably fill up the log if you leave it on.
@nHTPPServerLogLevelDetailsNon200 = "4" - Log level to use for full details of any http server request returning != 200
@nIOCPThreadCount = "1" -
@nJobInteryieldMillisecondsAlertThreshold = "200" -
@nJobInteryieldMillisecondsLogThreshold = "100" -
@nJobNetSendsInsaneThreshold = "15000" -
@nLANPeerGroupRateLimitKbps = "0" -
@nLANPeerMaxConnections = "24" -
@nLANPeerRateLimitKbps = "0" -
@nLegalDictionaryUpdateRateInSeconds = "600" -
@nNetConnectionBufferZipLevel = "1" -
@nParentalSettingsLogLevel = "4" - Control the amount of spew written to the parental log file
@nRoamingConfigReconnectCloudSyncWindowSec = "7200" -
@nScreenshotSaveMaxWidth = "9999" -
@nSiteLicenseProxyCacheMaxGB = "100" - If local content cache is enabled, use up to this much disk space
@nSiteLicenseProxyEnableP2P = "0" - If set, will have all connected clients join the same P2P download group
@nSiteLicenseProxyPort = "0" - Local content cache: set > 0 to enable, will listen on this port
@nSpewThrottleNagFrequencyMs = "5000" -
@nSpewThrottlePeriodMs = "1000" -
@nSpewThrottleResumeThreshold = "3" -
@nSpewThrottleTriggerThreshold = "10" -
@nSpewThrottleUnconditionalResumeMs = "5000" -
@nSpewThrottleUnconditionalTriggerCount = "50" -
@nStatsMonitorScale = "1" -
@nStatsMonitorSecs = "300" -
@OSJumpListMRUSize = "5" -
@panorama_backstack_focus_restore = "1" -
@panorama_daisy_wheel = "ABXY" - Daisy wheel input mode: RS | ABXY
@panorama_debug_movies = "0" -
@panorama_defaultinput = "dualtouch" -
@panorama_dragscroll_maxflickvelocity = "8000" - Maximum velocity for a drag scroll flick
@panorama_dragscroll_maxflickvelocity_vr = "8000" - Maximum velocity for a drag scroll flick in VR
@panorama_dragscroll_minflickvelocity = "60" - Minimum velocity that the mouse must be moving as mouse up time to qualify as a drag scroll flick
@panorama_dragscroll_minflickvelocity_vr = "240" - Minimum velocity that the mouse must be moving as mouse up time to qualify as a drag scroll flick in VR
@panorama_html_shared_surface = "1" -
@panorama_mainmenu_web = "0" -
@panorama_suggestions_view = "0" - 0 - default, 1 - no games or friends, 2 - just games no friends, 3 - some games and friends, 4 - some friends no games
@panorama_suggestions_web = "1" -
@panorama_trailerslideshow = "1" -
@panorama_transform_parents_no_layer_if_no_perspective = "0" -
@PeerContentClientMaxJobs = "1" - number of peer sources used at the same time
@PeerContentServerMaxClients = "8" - limit number of peers connected
@PeerContentServerPort = "27040" - If peer content server, will listen on this port for TCP connections from peers
@PeerContentServerRetryDelay = "60" - seconds before retrying peer content server
@RunAdminInstallScriptsFromService = "0" -
@sBroadcastPreset = "" -
@sBroadcastPreset = -
@sBroadcastTune = "film" -
@sCSDSVirtualHostHeader = "" -
@sCSDSVirtualHostHeader = -
@sForceLocalContentCache = "" -
@sForceLocalContentCache = -
@sSiteLicenseProxyCacheDirectory = "appcache/slscache" - If local content cache is enabled, use this path for disk cache
@sSiteLicenseProxyExplicitIP = "" - Local content cache: if not blank, will instruct clients to go to this IP for the content cache.
@sSiteLicenseProxyExplicitIP = " - Local content cache: if not blank, will instruct clients to go to this IP for the content cache.
@sSiteLicenseProxyExplicitIP = - Local content cache: if not blank, will instruct clients to go to this IP for the content cache.
@sSteamCmdForcePlatformBitness = "" - Must be one of: [32 | 64]
@sSteamCmdForcePlatformBitness = - Must be one of: [32 | 64]
@sSteamCmdForcePlatformType = "" - Must be one of: [windows | macos | linux | android]
@sSteamCmdForcePlatformType = - Must be one of: [windows | macos | linux | android]
@steam_alienfx_settings = "0" -
@steam_alienware_hdmi_input = "0" -
@steam_controller_settings = "0" -
@sticky_tooltips = "0" - Don't ever hide tooltips. Helpful when debugging complicated tooltip layouts.
@store_beta_mode = "0" -
@store_country_code = "" -
@store_country_code = -
@strCSNoCacheHeader = "no-cache" -
@StreamClientArgs = "" -
@StreamClientArgs = -
@StreamTransportICEPenalty = "0" - Add penalty (ms) to ICE for streaming transport selection
@StreamTransportSDRPenalty = "0" - Add penalty (ms) to SDR for streaming transport selection
@sTrustedLocalContentCacheName = "" - Set this to the machine name where a trusted local Steam download cache is hosted, and we'll use it if available.
@sTrustedLocalContentCacheName = - Set this to the machine name where a trusted local Steam download cache is hosted, and we'll use it if available.
@test_bCloudForceSyncConflict = "0" - If @test_nCloudForceSyncFailureAppID is set, then set this so that the failure case is 'file conflict' instead of generic failure
@test_nCloudForceSyncFailureAppID = "0" - Set this to a non-zero App ID to test cloud sync failure. The next sync request will fail.
@uDownloadLANPeerPort = "27038" - If LAN p2p download enabled, will listen on this port for TCP connections from peers. Must be set consistently across all members of the group!
@unMinimumShaderDownloadSizeInUI = "33554432" -
@uRemoteDiscoveryPortOverride = "0" - If non-zero, will listen on this port for broadcasts instead of k_nBroadcastPort
@uRemoteDiscoveryPortTransmit = "0" - If non-zero, will transmit outgoing broadcasts on this port instead of on the listen port
achievement_clear - Clears an achievement
AlwaysCustomizeOnBadExit = "0" -
appcloudsessions = "all" -
apps_installed -
apps_per_overview_chunk = "5000" -
apps_running - displays information about running games tracked by Steam
app_backup - <appId> <target folder> [max folder size MB]
app_change_compat_tool - <appid> <name> [config=]
app_delay_update - <appid> <seconds> force delay update
app_dlc_status - app_status <appId> <dlcId>
app_download_enable - <0|1>
app_force_preload = "0" - force this app into preload mode
app_info_find - Find apps with a certain appinfo value set, eg 'common/type media'. * is any.
app_info_http_min = "0" -
app_info_http_num_sockets = "8" -
app_info_print - app_info_print <appid> [section] : print app info for appID
app_info_update - [0|1] : trigger app info update, optionally for update all
app_install - <appId> [volumeindex]
app_license_request - <AppID> - Requests a free licenses for this app if not already owned.
app_mark_validation - <appId> <0|1:full>
app_move - <appId> <volumeindex>
app_set_config - <AppID> <key> <value> - sets a config value for given app.
app_start_validation - <appId>
app_status - app_status <appId>
app_stop - <appid> [force:0|1] stop this running app
app_uninstall - <appId>
app_update_cancel - <EAppUpdateError>
AsyncFileIOAlternateReadWrite = "0" -
AsyncFileIODisableWrite = "0" -
AsyncFileIOExpectOutstandingIO = "6" -
AsyncFileIOForceGenericIO = "0" -
AsyncFileIOMaxPendingWin32 = "256" -
AsyncFileIOReadHandleCache = "64" -
AsyncFileIOWriteHandleCache = "64" -
async_disconnect - async disconnect
batterycharging = "0" -
batterypercent = "0" -
batterytime = "0" -
bBroadcastAlwaysUploadThumbnails = "1" -
bBroadcastUploadGameDataIntervalSeconds = "5" -
bCheckUGCIntegrity = "1" -
bClientConvar601DEACE = "1" -
bClientPingCSesForCellID = "0" -
bCloudAcceptUnexpectedAutoCloudFileChanges = "0" -
bDelayGameUpdatesOnBeta = "0" - Should we do scheduling of updates on Steam Beta? If not, they'll all be ASAP
bDepotDeltaPatchUseAPI = "1" -
bDisableTenFootOverlay = "0" -
bEnableHomeTestOverlay = "0" -
bEnableLoginUsersErrorUpload = "0" - Set to enable uploading log files if there is an error loading login user info
bEnableMHRCAsyncFileReadLog = "0" -
bEnableSubscribedFileListCache = "1" -
bEnableTradeInviteBarInLaunchers = "1" -
betaalwaysrebuild = "0" -
bExternalProcessForVOD = "0" -
bFinishStagedDepotVersions = "1" -
bigpicturetips_enableinvisibletips = "0" -
bigpicturetips_enableseentips = "0" -
bInstallscriptReports = "1" - send reports about broken install scripts
bPrefetchDownloadDetails = "1" - Prefetch download size before actual update happens
bRedeemWalletVoucherEnabled = "1" -
broadcast_adjust_bitrate = "200" -
broadcast_upload_drop_sec = "6" -
broadcast_upload_update_sec = "3" -
bShaderAllowReplay = "1" -
bShaderAllowReplayOnNVIDIA = "1" -
bShaderAlwaysProcessWhenRunningGame = "0" -
bShaderCacheDownloads = "1" - Allow to download shader cache depots
bShaderDepotNative = "1" -
bShaderEnableCacheManagement = "1" -
bShaderEnableFossilizeLayer = "1" -
bShaderEnableUpload = "1" -
bShaderFossilizeFastMerge = "1" -
bShaderPrecompiledCache = "1" -
bShaderVerboseLogs = "0" -
bSingleFileUpdateMode = "1" -
bSteam3LimitedUserEnable = "1" -
bSteamLoaderEnable = "1" -
bSubscribedFilesDecompressOnClient = "1" -
bSubscribedFilesPollForUpdates = "0" -
bSubscribedFilesUseRangeRequests = "0" -
build_installer - <project file> <target folder> [beta key] [beta pwd]
bUseSystemBrowserFor2DVOD = "1" -
bVerifyAllDownloads = "0" - Verify all files after downloading an update
cAppUpdateWorkingSetMB = "256" -
cChunkValidationMaxLog = "100" -
cFileValidationMaxLog = "100" -
clear_console - Clears console text
clear_marketing_message_views - Refetches & displays all marketing messages, ignoring the list of those already seen
ClientConnectTokenBucketEnable = "1" -
ClientStatsUploadRateSeconds = "10" -
clientuistats_batchsize = "0" - Control how many events can be queued up for ClientUI stats before the batch is committed. 0 will commit every row.
clientui_overlay_fps = "60" -
cloud_file_exists - <appid> <root> <file>
cloud_get_file_info - <appid> <index> [bExternalAPI=1]
cloud_get_num_files - <appid> [bExternalAPI=1]
cloud_sync_app - <appid> Manually triggers background cloud sync of app
cloud_sync_down - <appid> Manually triggers on-launch cloud sync for the given app.
cloud_sync_up - <appid> Manually triggers after-game cloud sync for the given app.
cMaxDecryptThreadsOverride = "0" -
cm_force_change - Change CM List
compute_file_sha - Compute and print SHA of file on disk
config_refresh - Refresh client configuration
connect_remote - <ip:port>
controller_base_rotation_angle = "0" -
controller_edge_cutoff = "0" -
controller_gyro_x_scale = "16000" -
controller_min_activation_time = "0.0333" -
controller_momentum_min_vel = "0" -
controller_momentum_num_excluded_samples = "1" -
controller_momentum_num_included_samples = "5" -
controller_momentum_smooth = "0" -
controller_newpoll = "1" -
controller_rate = "2000" -
controller_spew_level = "3" -
countrycode = -
cPreallocateMinimumSizeKB = "256" -
csecManifestDownloadTimeout = "120" -
debugLaunchAppDelaySecs = "0" -
deck_mouse_haptic_tick_dist = "9000" -
deck_mouse_leftside_filter = "30500" -
DepotDeltaPatches = "2" -
DepotDownloadProgressTimeout = "900" -
DepotMinWriteGapSizeMB = "64" -
DepotReconstructionBadChunk = "0" -
DepotReconstructionLowPrio = "1" -
DepotReconstructionNumIOThreads = "32" -
DepotUseAlternatingReadWrite = "1" -
DepotUseSparseFiles = "1" -
developer = "0" -
device_authorize_local - <description> : authorize local device for authorized users
device_authorize_status - prints device authorization status
disable_license -
download_chunk - download_chunk <appid> <depotid> <sha>: download a single chunk from a depot
download_depot - download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>] : download a single depot
download_item - download_item <appid> <PublishedFileId> : download a workshop item
download_sources - Dumps list of download sources
dump_box_ips - dump the list of detected local box IP addresses
dump_offline_playtime - Dumps recorded playtime sessions
dump_scheduled_functions - usage: "dump_scheduled_functions" Displays internal Steam function callback timers
enable_license -
find - find substrings in console commands
get_download_throttle -
gyro_controller_update_ab_test = "0" -
gyro_drift_calibration_debug = "0" -
gyro_raw_deadzone = "6.0" -
gyro_stationary_calibration_debug = "0" -
g_pitchNudgeFromAccelerometer = "0.005" -
g_RumbleRepeatAfterDelaySeconds = "0.050" -
g_RumbleSustainTimeSeconds = "3" -
g_yawNudgeTowardMeanFactor = "0.0001" -
haptic_click_gain_modifier = "0" -
haptic_intensity = "8000" -
haptic_intensity_old = "2500" -
haptic_new = "0" -
haptic_off_divisor = "5.0f" -
haptic_tick_gain_modifier = "0" -
html_exit_fullscreen - If the web panel for the ui is currently fullscreen, undo that
httpclients - [cMaxPerCnx] Dump HTTP client stats, optionally limiting the # of in-flight requests to spew per connection
http_cache_clearall - Delete all data from internal HTTP client and CEF browser
http_test - <optional_url> test HTTP connectivity via specified URL
installmanagertimeout = "15" -
jobs - usage: jobs [group_by_attribute] Lists the currently active jobs running in this shell
kv_stats - Render KeyValues stats
library_asset_cache_app_check_interval_sec = "5" -
library_asset_cache_asset_file_min_sec = "30" -
library_asset_cache_full_recheck_min_hours = "1" -
library_asset_cache_max_app_checks_per_frame = "500" -
library_asset_cache_max_requests = "20" -
library_asset_cache_version = "3" -
library_folder_add - <path>
library_folder_list - list all mounted Steam volumes
library_sharing_account_max = "5" -
licenses_for_app - <appid> : shows active licenses for appid
licenses_print - display users's Steam3 licenses
log_callbacks - usage: log_callbacks <first callbackID> [last callbackID]
log_files_always_flush = "0" -
log_ipc - usage: "log_ipc [counts|verbose|#maxcount] <filter>" Enables IPC logging. Specifying "counts" or "verbose" is optional, defaulting to counts.
log_matchmaking_callbacks = "0" -
manifest_dump - <filename> [0|1: include chunks]
mem_stats - Dump memory stats
mem_validate - <dump|leaks> <threshold> : validates memory
mem_walk - [full] : validates memory
MergeCapReprocess_minutes = "480" -
mic_autogain = "16000" - automatic gain control level for microphone input
mic_inputfile = "" - causes voice data to be read from the specified file instead of from the microphone
mic_inputfile = - causes voice data to be read from the specified file instead of from the microphone
mic_outputfile = "" - causes microphone data to be written out to the specified file
mic_outputfile = - causes microphone data to be written out to the specified file
minidump_assert - generates an assert
minidump_crash - crashes the Steam client
musiclogging = "0" -
nBroadcastSessionMaxDropFrames = "100" -
nClientBackgroundAutoUpdateLessRecentlyPlayedThresholdHours = "192" - If you've played the game more recently than this, we'll schedule the background update sooner.
nClientBackgroundAutoUpdateNotPlayedTimeSpreadDays = "14" - If the user hasn't played this game in a while, pick a morning up to this many days out to update.
nClientBackgroundAutoUpdateRecentlyPlayedThresholdHours = "72" - If you've played the game more recently than this, we'll schedule the background update sooner.
nClientBackgroundAutoUpdateTargetHour = "4" - Target hour, in local time, for auto-scheduled app updates. Will be spread around this point via the convar below.
nClientBackgroundAutoUpdateTimeSpreadMinutes = "360" - Spread of time around the above target hour - this is the +/- 2-sigma window, so half this on either side.
nCloudFileCompressionMinFileSizeKB = "16" -
nCloudFileCompressionMinFileSizeKBSharedFile = "128" -
nCloudFileCompressionPercentageMin = "10" -
nCloudFileCompressionPercentageMinSharedFile = "50" -
nCloudUploadMinIntervalSec = "1800" -
nCloudUploadNetworkTimeoutSeconds = "400" -
nContentDownloadsToOtherDrive = "1" - Allow to download updates to other drives then install folder is on
nContentStatsReportInterval = "72" - In Hours
nDepotSaveCorruptChunks = "0" -
net_fake_state - {normal|NoLAN|CaptivePortal_Redirected|CaptivePortal_InPlace|NoInternet|NoSteam} Simulate network conditions
net_incomingcheck = "1" -
net_maxresendsperframe = "32" -
net_msgdump - Dumps list of sent net messages
net_msgspew - Spews sent and recv net messages
newcoplayui = "0" -
nPeerContentDefaultMode = "1" - 0 = off, 1 = only me, 2 = only friends, 3 = anyone
nProductInfoUpdateInterval = "900" -
nRichPresenceUploadThrottleSecs = "5" -
nSubscribedAutoDownloadMaxSimultaneous = "8" -
open - opens a main Steam navigation page to the specified internal URL
p2p_connecttimeout = "15" -
p2p_info - usage: "p2p_info" Displays the current state of the P2P networking subsystem.
p2p_unusedtimeout = "120" -
package_info_print - Dumps package info for packageID
panorama_upload_mappings = "0" -
patch_dump - <filename> <depotid>
peer_content_server_status - Dumps status of peer content server
prepare_for_suspend - test suspending all games
profile_dump - Tells vprof to dump the full profile of all threads (using the last profile data if vprof is off)
profile_off - Turns off vprof and halts profiling
profile_on - Turns on vprof and begins profiling
profile_on_dump_spikes - Turns on vprof, and enables automatic dumping of any single frame that contains spikes above the given threshold in milliseconds (use the regular profile_off to stop)
profile_show_gui - Tells UI to pop a profile dialog for each known thread, must use profile_on/off separately to actually enable/disable data gathering
PWIDVerificationThreshold = "1588032000" - Time threshold
quit - quit [force|now|system] : instructs the Steam client to do a safe or forced exit
remote_clients - dump remote client info
render_ipc_connections - usage: render_ipc_connections
reset_all_stats - Clears all stats and achievement
resume_suspended_games - test resuming all games
rtime32EarliestSubscribedFileToDownload = "1354389910" -
sCommunityShareScreenshotLink = "https://www.facebook.com/dialog/feed?app_id=105386699540688" -
sc_kalman_a_vel = "1.0" -
sc_kalman_fastq = "0" -
sc_kalman_h_vel = "1.0" -
sc_kalman_q_vel = "2.0" -
sc_kalman_r_vel = "2.0" -
sc_kalman_slowq = "0" -
service_findlock - Find process locking file
service_repair - Repair Steam service
service_restart - Restarts Steam Windows service
service_test - Test Steam service
set_download_throttle - set_download_throttle <kbps> <bPersistent = false>
set_spew - <group> <spewlevel> <loglevel> Sets spew and log levels for a given group
set_spew_level - <SpewLevel LogLevel> Sets spew and log levels for all groups
set_var - <name> <value>- Set the value of a Cvar
shader_build - shader_build <appId> <optionalThreadCount>
shader_process - shader_process <appId> <bucketID> <optionalOverrideBasePath>
shader_prune - shader_prune
shader_scan - shader_scan <appId> <optionalOverridePath>
spew_controller_loss = "0" -
stats_dump - stats_dump [filter] : dumps matching debug stats
stats_gui - stats_gui : show debug stats panel
stats_monitor - stats_monitor <stat name> [rate] [KB|MB] : monitor a debug stat value
stats_reset - stats_reset [filter] : set matching stats back to 0
steamcontroller_developer = "0" -
streaming_log_spikes = "0" -
tenfoot_forcelaunchgameid = "0" -
tenfoot_match - [prefix]: matches a string prefix
tenfoot_pickle_dictionaries - compiles daisy wheel input dictionaries to more performant form
tenfoot_pickle_single_dictionary - [language] compiles one daisy wheel input dictionary
tenfoot_text_hotspots - find text autosuggest hot spots
testappcloudpaths = "0" -
test_dropcon - Tests dropping a connection
test_failnextconnect - Tests failing the next connection
test_opus_voice_encode - test an opus voice encode
test_reconnect - Reconnect after using test_failnextconnect&test_dropcon
test_resume_from_suspend - test on resume from suspend
test_voice_encode - test a voice encode
timed_trial_add_playtime - timed_trial_add_playtime <appId> <seconds>: add trial app playtime (developer only)
timed_trial_reset_playtime - timed_trial_reset_playtime <appId> : reset trial app playtime (developer only)
timed_trial_status - timed_trial_status <appId> : show time trial app status
UGCCDNReportPct = "100" -
ugc_query_default_cache_time = "300" -
ugc_query_max_get_details = "1000" -
unShaderBackgroundProcessingThreads = "0" -
unShaderHighPriorityProcessingThreads = "0" -
unShaderHitCacheGeneration = "4" -
unShaderMaxHeadersPerMessage = "1024" -
unShaderMaxUploadMessageSizeKb = "256" -
user_friends - Dumps list of friends
user_info - Dump various Steam info
verifySignaturesBeforeLaunch = "1" -
verify_chunk_store - verify_chunk_store <appid> <depotid> <datafile> : run app depot build as specified in appbuildfile
vgui_autocomplete_new_style = "1" -
vgui_spewpanelstats - spew active panel stats
voice_api_optimalrate = "24000" -
voice_autogain = "0" -
voice_fakeloss = "0" -
voice_game_usage - displays information about the game's use of Steam voice
voice_minabs = "0.15" -
voice_minavg = "1.0" -
voice_outputdevice = "0" - 0=>Miles 1=>XAudio2
voice_outputfile = "" - causes output from voice system to be written out to the specified file
voice_outputfile = - causes output from voice system to be written out to the specified file
voice_preprocess = "0" - enables voice cleanup on incoming microphone data
voice_quality = "6" -
voice_resample_quality = "1" -
voice_silk_bitrate = "30000" -
windows_info - system_info : prints system information
workshop_download_item - workshop_download_item <appid> <PublishedFileId> : download a workshop item
workshop_items_cache_days = "14" -
workshop_items_update_interval = "900" -
workshop_status - workshop_status <appId>
@RokeJulianLockhart
Copy link

Thanks, @LemmusLemmus. I wasn't able to find anything like that about that schema.

@TiberiumFusion
Copy link

Steam has many switches that find does not report, all of which are missing from this list. While I have not taking the time to compile an exhaustive list of the missing hidden switches, I would like to note two very important ones missing from this list:
-devtools-address 127.0.0.1
-devtools-port 8080
These directly map to chromium's --remote-debugging-address and --remote-debugging-port. They are useful when -cef-enable-debugging is set. When not specified by the user, they assume their default values as noted.

@God-damnit-all
Copy link

Recent Steam updates have broken a great number of these switches, unfortunately. If it's not too much trouble, I'd appreciate if you could update this list.

@TiberiumFusion What commands are you running to find them?

@TiberiumFusion
Copy link

TiberiumFusion commented Oct 3, 2023

@ImportTaste I am using IDA to inspect the steam binaries. The find command is highly neglected by Valve, certainly on purpose, and afaik there is no secondary mechanism which accurately reports all switches to the user. If you want to find the switches that find omits, you have to look at the PEs yourself.

This was a tangential discovery while working on a specific project, so my research is limited to inspecting steam.exe, steamclient.dll, SteamUI.dll, steamwebhelper.exe, friendsui.dll, and Valve's modified libcef.dll in the context of said project. Perhaps there is a buried secondary mechanism for reporting all switches, but I did not find such a thing.

@God-damnit-all
Copy link

@davispuh Apologizes for badgering you about something off-topic, but I simply can't figure out how gist determines the "Last active" timestamp. It says this gist was "Last active" 8 hours ago. Did you do something? Was it just you viewing your own gist that made this timestamp change?

@ImportTaste I am using IDA to inspect the steam binaries. The find command is highly neglected by Valve, certainly on purpose, and afaik there is no secondary mechanism which accurately reports all switches to the user. If you want to find the switches that find omits, you have to look at the PEs yourself.

This was a tangential discovery while working on a specific project, so my research is limited to inspecting steam.exe, steamclient.dll, SteamUI.dll, steamwebhelper.exe, friendsui.dll, and Valve's modified libcef.dll in the context of said project. Perhaps there is a buried secondary mechanism for reporting all switches, but I did not find such a thing.

Thanks for the info. I'd like to hear of any other useful undocumented switches you know of, doesn't have to be exhaustive.

As an aside, I'm still mourning the loss of -oldtraymenu. The new tray menu has an awful delay. Why does everything have to be wrapped in a browser UI now?

@TiberiumFusion
Copy link

TiberiumFusion commented Oct 9, 2023

@ImportTaste

As an aside, I'm still mourning the loss of -oldtraymenu. The new tray menu has an awful delay. Why does everything have to be wrapped in a browser UI now?

The chief reason is that it's extremely cheap in capital and manhours. After all, money doesn't grow on trees. How is Gaben supposed to buy his new ikea-sized knife forge on a meager 10000% profit margin?

You may have a better Steam experience by installing a prior version of the Steam client, if you are inclined to that kind of thing. To get superior popup windows, including the popup context menu on tray icon right click, choose a version that retains vgui-based controls (8.22.60.19 or prior).

I'd like to hear of any other useful undocumented switches you know of, doesn't have to be exhaustive.

Here's the few that I spent more than 5 seconds looking at while working on various other things.

-desktopui
Use desktopui (100% cef) for the entire Steam client. Essentially the opposite of -vgui, which uses the half-vgui half-cef mode that was made standard after 5.38.94.53 and completely removed in 8.33.9.23.
-steamuisharedjscontext -nosteamuisharedjscontext
Related; controls how much of the client runs either component-based or assimilated into the sharedjscontext from hell. Some interop with steampal.

-oldbigpicture
Use tenfoot instead of steampal for Big Picture mode. Removed along with all tenfoot files around 8.18.16.37.
-newbigpicture
Use steampal instead of tenfoot for Big Picture mode. Removed around 8.18.16.37 now that the only supported Big Picture mode is steampal.
-tenfoottest
Use beta tenfoot files? Not present in normal client releases afaik. Removed sometime after 8.9.11.89.

-pretendeol-xp -pretendeol-w7 -pretendeol-w8 -pretendeol-w10 -pretendeol-mac-7 -pretendeol-mac-11 -pretendeol-mac-13
List of platforms Valve intends to abandon in the nearish future (or already has). Pick a switch and it will make the client use Valve's chosen end of support date for the chosen platform and show/hide any obnoxious "you're getting screwed soon" banners accordingly. Notably, if your platform is currently on the chopping block and the client is nagging you about Valve abandoning your platform, you can use a -pretendeol-xxx switch for a platform that is not on the chopping block, and the nag messages will go away.

@davispuh
Copy link
Author

davispuh commented Oct 9, 2023

@davispuh Apologizes for badgering you about something off-topic, but I simply can't figure out how gist determines the "Last active" timestamp. It says this gist was "Last active" 8 hours ago. Did you do something? Was it just you viewing your own gist that made this timestamp change?

That "Last active" is about this thread, whenever someone comments anything or maybe even stars? then timestamp is updated. If you want to know about content changes then click on "Revisions" tab, there you can see diff and time when it was updated.

@God-damnit-all
Copy link

That "Last active" is about this thread, whenever someone comments anything or maybe even stars? then timestamp is updated. If you want to know about content changes then click on "Revisions" tab, there you can see diff and time when it was updated.

Actually, I seem to have solved the mystery. It seems people forking it also causes the Last active timestamp to update, which makes it fairly useless, honestly.

@God-damnit-all
Copy link

God-damnit-all commented Oct 10, 2023

The chief reason is that it's extremely cheap in capital and manhours. After all, money doesn't grow on trees. How is Gaben supposed to buy his new ikea-sized knife forge on a meager 10000% profit margin?

No doubt it's all being funneled into their development budget for Half-Life 3, right?

Here's the few that I spent more than 5 seconds looking at while working on various other things.

Interesting, thanks for posting them!

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Oct 10, 2023

To get superior popup windows, including the popup context menu on tray icon right click, choose a version that retains vgui-based controls (8.22.60.19 or prior).

image

@TiberiumFusion, what's possibly superior to native?

@TiberiumFusion
Copy link

@RokeJulianLockhart
Who are you and where did you come from? I was offering advice to ImportTaste regarding his experience with cef frame popups on Windows.

steam tray context menu

Your setup is clearly different and your comment is nothing but incendiary.

Either you genuinely misbelieve the Steam client behaves and appears identically on wildly different platforms, or my internet troll detector indicates you are looking to relish in starting a pointless and time wasting argument. Your bizarre github profile strongly suggests the latter.

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Oct 14, 2023

Your setup is clearly different and your comment is nothing but incendiary.

Either you genuinely misbelieve the Steam client behaves and appears identically on wildly different platforms, or my internet troll detector indicates you are looking to relish in starting a pointless and time wasting argument. Your bizarre github profile strongly suggests the latter.

What argument, @TiberiumFusion? What the hell are you talking about? I wanted to contribute to a discussion that I was interested in. As I'm sure you hope, I seriously regret it now.

Who are you and where did you come from?

https://gist.github.com/davispuh/6600880?permalink_comment_id=4674182#gistcomment-4674182. Happy now?

@xXFreeFunXx
Copy link

Is there a way to find the installation directory of the app?

@LemmusLemmus
Copy link

LemmusLemmus commented Oct 16, 2023

Is there a way to find the installation directory of the app?

You can find the path to the Steam app in the registry: HKEY_CURRENT_USER\SOFTWARE\Valve\Steam. Read either SteamExe or SteamPath.

EDIT: I thought you were referring to the path to the Steam launcher (steam.exe)...

@xXFreeFunXx
Copy link

You can find the path to the Steam app in the registry: HKEY_CURRENT_USER\SOFTWARE\Valve\Steam. Read either SteamExe or SteamPath.

No, I can't find it via that, I've always found all installed apps from Steam here: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App <AppID>
DisplayName gives me the game name
InstallLocation gives me the installed location.

@God-damnit-all
Copy link

God-damnit-all commented Nov 10, 2023

Apparently @AllowSkipGameUpdate got removed. That explains why one of my games updated itself today and broke my setup. Wonderful.

@AAAleksandr009
Copy link

AAAleksandr009 commented Nov 27, 2023

Hello! Please tell me the launch command for Steam to disable file checking. I changed the CSS file and I need Steam not to update this file on startup. Previously I had this command, but I removed the shortcut with it. And now I can't find her again.

@GeniusBroccoli
Copy link

is it possible to disable steam web cache?

@K4sum1
Copy link

K4sum1 commented Jan 2, 2024

What does -forcevgui do? Is this the same as -vgui but working in newer clients?

@shupershuff
Copy link

Is it possible to launch steam.exe and force check updates on a particular AppID?

@He0820
Copy link

He0820 commented Feb 8, 2024

is it possible to choose a specific mounted volume-index or path when using commands such as download_depot?

@dizietsma
Copy link

Assuming that steam is running in the backgound i.e. in Windows startup; is there a command line that will select a particular steam controller config? I know non-steam games and programs can be added to steam and I have done this, but this would also be useful for me.

diziet

@Ryu-kun
Copy link

Ryu-kun commented Apr 5, 2024

Hi, does anyone know how to persist the variable change? For example i want bVerifyAllDownloads to always be 1, but no idea how. I suspect maybe it can be put somewhere into \Steam\userdata\{USERID}\config\localconfig.vdf but there are several sections and i don’t know which might be it.

@Ryu-kun
Copy link

Ryu-kun commented Apr 5, 2024

Is it possible to launch steam.exe and force check updates on a particular AppID?

steam://validate/{APPID}

@Ryu-kun
Copy link

Ryu-kun commented Apr 5, 2024

You can find the path to the Steam app in the registry: HKEY_CURRENT_USER\SOFTWARE\Valve\Steam. Read either SteamExe or SteamPath.

No, I can't find it via that, I've always found all installed apps from Steam here: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App <AppID> DisplayName gives me the game name InstallLocation gives me the installed location.

Note that if the game was moved using Steam those paths were not be updated, check if it’s fixed yet or not. The sure way would be only through reading VDF-files like Steam does.

@dev-rfc
Copy link

dev-rfc commented Jul 11, 2024

How do you guys find all those switches?

@dev-rfc
Copy link

dev-rfc commented Jul 11, 2024

I'm looking for these ones:

  • -gamepadui -steamos3 -steampal -steamdeck -pipewire-dmabuf

Since I use those with gamescope. But I can't find them documented anywhere.

@Alextremerus
Copy link

Hi all,
Maybe someone knows how can I add to SteamCMD timestamp for every output line? Any command for that?
I have randomly connectivity events on my Steam server and I want to determine when its happening, but I didn't see any timestamps in the logs and no in steamcmd output. So I want to configure steamcmd to timestamp every output line.
But dident find any relevant workaround for that. Any idea?
And sorry me if it's wrong place to ask.

@RokeJulianLockhart
Copy link

https://gist.github.com/davispuh/6600880?permalink_comment_id=5161902#gistcomment-5161902

@AAAleksandr009, why not instead merely pipe your shell's output through a program designed to do so, or modify your shell's prompt to include such functionality? I can't see why having Steam do that would be of particular use.

@Truth-Unknown
Copy link

Truth-Unknown commented Sep 3, 2024

Anyone familiar with how -nofriendsui works and was there a -udp command?
I'm trying to verify if a remedy for Monster Hunter World's multiplayer disconnections is valid and actually doing something, found here: https://www.reddit.com/r/MonsterHunter/comments/96h8w5/a_potential_solution_for_constant_disconnections/ Looking at what's here, -udp isn't a real command so far, I guess may have been assumed based on -tcp. As for -nofirendsui, the reddit post claims it forces the client to use an older networking protocol, but according to https://developer.valvesoftware.com/wiki/Command_line_options#Command-Line_Parameters_4 it just keeps the friends window from opening automatically. So clarification would be helpful.
I did somewhat verify that -tcp is publicly suggested as an option to try by Valve: https://help.steampowered.com/en/faqs/view/0188-6BB7-D467-08E1 but I have no idea how it would affect multiplayer, if at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment