← Back to Guides
Settings

CS2 Console Commands & Launch Options: Competitive Config Reference

No-bloat command reference for CS2: network rates, FPS commands, working launch options, dead CS:GO flags to remove, and a full practice config.

Copy-paste guides for CS2 console commands are everywhere. Most are recycled from CS:GO-era posts: half the values are broken, some commands no longer exist, and several launch flags do nothing or hurt performance under Source 2. This guide is organized by use-case, not alphabetically, and the dead-flags section exists specifically to give you a list to remove.

What Changed With CS2 (Sub-Tick, Source 2 Basics)

The biggest misconception carried over from CS:GO is tick rate. CS2’s live matchmaking servers run at a 64 Hz server tick. What changed is how your inputs are handled: sub-tick timestamps every input with sub-frame precision between those ticks, so your movement, shots, and peeks are no longer constrained to landing exactly on a tick boundary.

The practical result: -tickrate 128 does nothing on live servers. Valve’s servers set their own tick rate and your client cannot override it. The only place -tickrate 128 matters is offline or on a self-hosted server you control. Anyone who left this flag in after CS:GO is not getting 128-tick matchmaking, just a flag that gets ignored.

Two more carryovers worth knowing up front:

  • net_graph is gone. CS2 replaces it with cq_netgraph 1 (works in matches only, not the main menu).
  • cl_interp and cl_interp_ratio were removed. Interpolation is now hardcoded by the sub-tick system. Typing these does nothing. If a guide tells you to set cl_interp 0.0078, it is a CS:GO relic.

How to Open the Console & Where to Put Commands

Enable the developer console in Settings, Game, Enable Developer Console, Yes. Open it in-game with the tilde key (~). Commands typed in the console apply immediately but reset on restart unless saved elsewhere.

To make commands permanent, put them in an autoexec.cfg file. The folder still carries the legacy CS:GO path name:

...\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\autoexec.cfg

Then add +exec autoexec.cfg to your Steam launch options. For full setup, see the CS2 autoexec guide.

Network & Rate Commands (What Actually Matters)

These commands govern how your client communicates with the server. The interpolation tuning from CS:GO is dead, so the list is shorter than old guides suggest.

rate 786432                     // bandwidth ceiling the client requests from the server
mm_dedicated_search_maxping 50  // max ping for matchmaking server search

rate 786432 is the current default and the maximum the in-game menu exposes. It corresponds to roughly 6.2 Mbps and is the right value for almost everyone on a stable connection. You do not need to “set it high” as a tweak; you mainly need to make sure nothing in an old config dropped it. On a slow or unstable connection, lowering it to 524288 or 196608 (the older, lower default value) can reduce packet loss at the cost of update richness.

mm_dedicated_search_maxping caps the acceptable ping when searching for a match. 50 is reasonable for players in Europe and North America on good connections. If queue times are long, raise it.

There is no cl_interp recommendation here on purpose. Those commands no longer do anything in CS2.

Monitoring Network Health

cq_netgraph 1    // packet flow, loss, and latency overlay (in-match only)
cl_showfps 3     // FPS counter plus server tick and frame-drop data

cq_netgraph 1 is the CS2 replacement for the old net_graph and only renders during a match, not in the menu. cl_showfps has tiers: 1 is the plain FPS counter, 2 adds min/avg FPS, and 3 adds server tick and frame-drop data. Use 3 if you want the extra readout without the full graph.

FPS & Performance Commands

fps_max 0          // remove the engine frame cap entirely

fps_max 0 is the standard for competitive play. Some players cap slightly above their monitor’s refresh rate to reduce frame-time variance (fps_max 241 on a 240 Hz panel, for example). Both are valid; uncapped is the simpler default.

Skip mat_queue_mode. Source 2 runs multi-threaded rendering by default, so forcing it adds nothing on a modern CPU and is not worth carrying in your config.

Radar & HUD Visibility

cl_radar_always_centered 0   // scrolling radar, shows more of the map at once
cl_radar_scale 0.35          // zoom level; lower = more map visible
hud_scaling 0.95             // overall HUD element size

cl_radar_always_centered 0 switches from a player-centered radar to a scrolling one that keeps entire bombsite areas in view. This is the standard competitive setting; a centered radar hides half the map behind your character.

cl_radar_scale 0.35 shows more map context than the default. The usable range is 0.25 (zoomed out) to 1.0 (zoomed in), default 0.7. Most competitive players land between 0.3 and 0.45.

Crosshair Console Commands

Most players set their crosshair through the in-game menu now, but console commands still work and are required if you keep your crosshair in an autoexec.

cl_crosshairstyle 4      // Classic Static: fixed size, doesn't expand on movement
cl_crosshairsize 2       // line length
cl_crosshairgap -3       // gap between center and lines (negative = tighter)
cl_crosshairthickness 1  // line width
cl_crosshaircolor 5      // 5 = custom RGB
cl_crosshaircolor_r 0
cl_crosshaircolor_g 255
cl_crosshaircolor_b 0

cl_crosshairstyle 4 (Classic Static) is the dominant competitive choice because the crosshair stays put when you move or shoot, giving you a consistent reference. The other styles add movement and firing inaccuracy indicators that most competitive players find distracting.

To import a specific pro’s crosshair code, use the Crosshair section of Settings, Game rather than writing individual commands.

Launch Options: What Still Works in 2026

Open these in Steam: right-click CS2, Properties, General, Launch Options. Valve’s own advice is that for most players the best launch options are no launch options, because Source 2 auto-detects hardware. The genuinely useful list is short:

+exec autoexec.cfg   // run your autoexec on launch
-tickrate 128        // sets offline/local server tick only; does nothing on live servers

That is most of it. Source 2 stripped out the launch-option surface CS:GO exposed; many flags from old guides simply parse and get ignored.

+exec autoexec.cfg is technically a command, not a flag, but it belongs here: this is how you make your autoexec run on every launch.

Note that -novid is not on this list. CS2 has no intro video, so the flag does nothing. See the dead-flags table below.

Launch Options: Dead CS:GO Flags to Remove

These appeared in every CS:GO guide and still circulate in CS2 communities. Remove them.

FlagWhy it’s dead
-novidSkipped the CS:GO intro video. CS2 has no intro video, so it does nothing. Safe to delete.
-tickrate 128 (for matchmaking)Does nothing on official servers. Keep it only if you specifically run local servers.
-d3d9exDirectX 9 extension flag from CS:GO. CS2 uses DirectX 11/Vulkan. Irrelevant.
-nod3d9exSame as above; irrelevant in Source 2.
-processheapCS:GO memory allocator flag. Source 2 uses a different memory model. Does nothing.
-freq / -refreshCS:GO refresh-rate flags. CS2 reads your display settings directly; ignored.

A few CS:GO flags are not dead but are not worth carrying either:

  • -high still forces high process priority in CS2. On most systems Source 2 schedules fine on its own, and forcing high priority can starve background processes and introduce stutter. Leave it off unless you have tested a real benefit on a weak machine.
  • -threads 8 (or any number) still parses in CS2, but Source 2 detects and manages threading itself. Specifying a count gains nothing on a modern CPU and can override the engine’s own scheduling. Leave it off.
  • -nojoy disables controller polling. It still works in Source 2, but on a keyboard-and-mouse setup the impact is negligible. Not worth chasing.

Practice Server Config (sv_cheats Commands)

sv_cheats 1 only works on local servers you host yourself, never on VAC-secured matchmaking or Premier. To run a practice server, open the console and load a map locally with map de_mirage (or any map), or start an offline-with-bots lobby.

Save this as practice.cfg in your cfg folder and run it with exec practice.cfg:

bot_kick                                    // remove all bots
sv_cheats 1                                 // enable cheat commands
sv_infinite_ammo 1                          // infinite ammo, no reload
mp_maxmoney 60000                           // raise money cap
mp_startmoney 60000                         // start with full money
mp_buy_anywhere 1                           // buy from anywhere on the map
mp_freezetime 0                             // no freeze time at round start
mp_roundtime 60                             // 60-minute rounds
sv_showimpacts 1                            // show bullet impact markers
sv_grenade_trajectory_prac_pipreview 1      // grenade trajectory preview
mp_restartgame 1                            // restart to apply settings

For smoke lineups, sv_grenade_trajectory_prac_pipreview 1 draws a real-time arc as you cook a grenade so you can see the trajectory without throwing. Combined with sv_showimpacts, this is the standard practice setup for learning spots.

Essential Binds: Jump-Throw, Buy Binds, Inspect

Jump-Throw (Read This: It Changed in 2024)

The old one-key jump-throw bind no longer works. On August 19, 2024, Valve’s “Side-stepping Skill” update blocked any single key from automating more than one movement or attack action. That means the classic line below is dead on official servers and can get you kicked from a match:

// DO NOT USE - broken since Aug 2024:
alias "+jumpthrow" "+jump;-attack"

Jump-throws themselves are still legal and still used by pros; you just cannot automate the throw and the jump on one key anymore. The two methods that work in 2026:

  • Scroll-wheel jump bind (recommended). Bind jump to the scroll wheel, then hold your throw, and flick the wheel as you release. This is fully legal and the simplest reliable setup.
bind "mwheelup" "+jump"
bind "mwheeldown" "+jump"

Line up the smoke, hold left-click (or right-click for the underhand throw) to arm the grenade, release to throw, and roll the wheel at the same instant to jump.

  • Separate keys, simultaneous press. Keep jump on its normal key and the grenade on the mouse button, and press both together. No single key is automating two actions, so this stays within the rules.

Both methods keep one input per action, which is what the 2024 rule requires. Third-party platforms like FACEIT enforce their own anti-cheat on top of Valve’s, so if you compete there, check their current binding rules before relying on any setup.

Buy Binds

bind "kp_1" "buy ak47; buy m4a1"     // rifle: AK on T, M4 on CT
bind "kp_2" "buy awp"
bind "kp_3" "buy vesthelm"           // armor + helmet
bind "kp_4" "buy defuser"
bind "kp_5" "buy smokegrenade"
bind "kp_6" "buy flashbang"
bind "kp_7" "buy hegrenade"
bind "kp_8" "buy molotov; buy incgrenade"

The buy ak47; buy m4a1 pattern buys the AK47 if you are Terrorist and falls back to the M4 if you are CT, so one bind covers both sides. Buy commands are not affected by the 2024 single-key rule; that change only targets movement and attack actions.

Inspect Weapon

bind "f" "+lookatweapon"   // inspect animation (this is the default key)

This has no gameplay effect. The default bind is already f, so only add this line if you have cleared or reassigned that key.

How to Run Everything Automatically

Commands typed in the console apply for that session only. Put any command from this guide into an autoexec.cfg to apply it every time CS2 launches. For the full setup, including file location, the Steam launch option, and verifying the file loaded, see the CS2 autoexec guide.

The short version: create autoexec.cfg in your CS2 cfg folder, paste your commands one per line, and add +exec autoexec.cfg to your Steam launch options.