Most useful CS:GO console commands, launch options and configs

Like with many of Valve’s other games, Counter-Strike: Global Offensive can exploit the power of the Source engine console to give you more options and better settings. It’s just as important for improving at the game as knowing where to aim guns and grenades - plus it can even make practicing that easier and more efficient. Being a Steam game, it also has launch options that can be configured to customise stuff before you’re even loaded in.

Just want to have a play? Try the finest FPS games on PC.

Below we’ll break down all the best console commands and launch options, and even recommend what you should change in your config files to give you the biggest advantage possible.

What are the best CS:GO launch options?

To input launch options, head over to Steam, right click on CSGO and go to properties. Hit ‘Set Launch Options...’ and a box will pop up. The syntax for commands put into this box is -[command] and then a space before the next one or any additional values that might be required. We’ll get into specifics with each command as we go.

Load console on game start
-console
This will enable the console as soon as you get into the game. It’s useful for making sure your config files have loaded properly, but unlike with Counter-Strike: Source isn’t required to make the console show up when you press its hotkey (more on this later).

Disable intro videos
-novid
Turns off the Valve intros, saving you precious seconds every time you boot into the game

High CPU priority
-high
Gives the game high priority in your CPU, meaning background tasks won’t slow it down as much. Useful for keeping web browsers running on a second monitor while playing. Messing with CPU priority isn’t a risk free operation, but is unlikely to damage anything permanently. Try disabling this command if you’re getting bluescreens.

Govern CPU core usage
-threads [number]
Tells the game how many CPU cores it has access to. Recommended to set this to however many cores your computer has (probably 4). Exactly whether this will improve or decrease your performance is specific to your computer, so enable or disable this command as necessary.

Set offline server tickrate
-tickrate [number]
The tickrate is the number of times per second a server updates the status of everything on it. Most matchmaking servers run at a tickrate of 64, which is the default for local games you host offline. If you want to change to the competitive server tickrate of 128, change to that with this command.

Graphics options
-fullscreen
Loads the game in fullscreen

-windowed
Loads the game in a window. These commands set the width, height and position:

-w [width] -h [height] -x [horizontal position] -y [vertical position]

So if you wish to have a window that fills a second 1080p monitor, you would use this string of commands: -h 1920 -w 1080 -x 1921 -y 0.

-noborder
Removes the border around a window.

Change client language
-language [language]
This forces the client into a certain language. Useful if you want it in English but have a non-English Steam client, or vice versa.

What are the best CS:GO console commands?

Now we’ll move onto console commands. These come in a couple of flavours - ones that you want running every time the game starts, and ones that are useful to just pop into the console when you want a specific effect. All of them are best implemented using config files to keep them in order and let you change settings on the fly.

What is a CSGO config file?

Config files are located in [your Steam directory]\SteamApps\common\Counter-Strike Global Offensive\csgo\cfg. If you haven’t already set Windows up to open these files with Notepad, try to open config.cfg and tell it to do so (or an equivalent simple text editor that won’t give weird formatting).

In here are all your in-game options stored as console commands that are ran every time you load the game. You can edit them from here if you like, but it also lets you change things not in the options menu, or copy-paste settings from outside the game, as we’re about to do. However, it’s much safer to use an autoexec.cfg file to do this, as it means you know all your changed settings are in one place that can easily be transferred between machines.

The other thing config files are good for is as lists of commands that can be executed with a single line from inside the game. This is very useful for setting up configurations for different sorts of match or specifically for practicing against bots with server side cheats on. The autoexec config file mentioned above automatically runs whenever you start the game.

So, what should be in my CSGO autoexec?

In your autoexec you want the settings that are global for any time you’re playing CSGO. This means your keybindings, graphics settings and so on. We’ll divide this into groups of commands to explain. To create one, simply make a new notepad document in the cfg folder, go to Save As, change file type to All Files and name it autoexec.cfg. As with all Source engine games, console commands in a config file require quotes around values.

Graphics settings

In general you want the lowest settings possible when playing CSGO competitively because it maximises your FPS and removes flashy effects that get in the way of seeing enemy heads to click on. You can set all those in the options menu. Here’s some extra vital ones.

View brightness
mat_monitorgamma “[value]”
This alters how bright the game world is. Most autoexecs I’ve seen have it set to between 1.6 and 2.1. Useful for picking enemies out of darker corners, like dust_2 tunnels.

Multi-core rendering
mat_queue_mode "-1"
Tells your computer how to deal with CSGO. Do not change this from “-1” unless you know what you’re doing more than I do.

Maximum FPS lock
fps_max [value]
Sets the in-game maximum FPS. 0 will remove the lock, which some players prefer it to sit at 145 for consistency. Naturally, you want this as high as possible, and over the server’s tickrate at the very least (again that’s 64 for matchmaking, 128 for custom competitive). fps_max_menu does the same for, surprisingly, menus.

Disable dynamic lighting
r_dynamic “0”
Turns off dynamic lighting, which some players find distracting.

Disable particles
r_drawparticles “0”
Turns off engine particles.

Disable tracer fire
r_drawtracers_firstperson "0"
Removes the light tracers from your weapons when firing. AKA the worst thing in CS:GO. If someone had told me about this command when the game launched I’d probably be on NiP by now.

Save graphics options
mat_savechanges
This saves your graphics options so they will be the same the next time you start up the game. Important.

HUD settings

This section covers some vital components - the radar, the rest of the HUD and how to reduce weapon bob in CSGO.

The Radar

Adding this set of commands to your autoexec file will make the whole map appear on the radar the entire time, making it easier to spot enemies.

cl_radar_always_centered "0"
cl_radar_scale "0.3"
cl_hud_radar_scale "1.15"
cl_radar_icon_scale_min "1"
cl_radar_rotate "1"

This will also make the radar a bit bigger, make icons appear larger on it and decenter it so it no longer moves with you. This means less space is wasted if you’re close to the edge of the map.

The Crosshair

Perhaps the most important part of CS:GO’s HUD is the crosshair. You’re going to be staring at it for about a billion hours and it’s vital you can always pick it out from the background. There are tonnes of options in game for setting up what it looks like, plus loads more console modifactions that can be made. Rather than listing all the possible options here, we recommend using a crosshair customiser that will spit out the correct commands you can copy and paste in.

As for the rest of the HUD, you can customise it with the following commands.

HUD Scale
hud_scaling "[value]"
Changes the size of the HUD as a whole. 0.8 seems to be the accepted best standard.

Toggle target names
hud_showtargetid “[value]”
Controls whether names show up when hovering over players.

Adjust HUD Alpha
cl_hud_background_alpha "[value]"
Changes the opacity of the HUD background. 0.1 is standard.

Position bomb display
cl_hud_bomb_under_radar "[value]"
Changes the position of the bomb indicator for when you have the bomb. 1 is under the radar, 0 is in inventory.

Adjust HUD colour
cl_hud_color "[value]"
Corresponds to the menu in-game that selects your HUD’s colour. 0 through 10.

Toggle avatars on mini-scoreboard
cl_hud_playercount_showcount "0"
Whether to simply show the number of players or all of their avatars as well on the top of screen scoreboard.

Move View Model

This set of commands will move the model of your weapon a little out of your way and disable the bob that occurs while running.

cl_righthand "1"
viewmodel_offset_x "0"
viewmodel_offset_y "-2"
viewmodel_offset_z "-2"
viewmodel_fov "54"
cl_bobamt_lat "0.1"
cl_bobamt_vert "0.1"
cl_bobcycle "0.1"
cl_viewmodel_shift_left_amt "0.5"
cl_viewmodel_shift_right_amt "0.5"

You can change the first command here to “0” if you prefer a left handed weapon. This set is super useful for maximising your viewing area and removing distracting animation. Both are vital for edging out those tiny advantages that make the difference between an AK bullet to the skull and victory in the round.

Performance Improvements

The holy grail of config edits, these are what you’re here for. You won’t notice a massive boost from enabling this set of commands, but it will smooth things out, particularly on 128 tick servers.

rate "128000"
cl_cmdrate "128"
cl_updaterate "128"
cl_interp "0"
cl_interp_ratio "1"
cl_lagcompensation "1"

All six of these are about making sure your computer is communicating with the server as efficiently and often as possible. It minimises the number of times where your computer will think something has happened and the server corrects it a moment later, usually leading to that sweet headshot being flip-turned on you in the worst way possible.

Sound

Sound is ludicrously important to not getting snuck up on in Counter-Strike, no matter how many rounds I played muted while watching StarGate. Here’s what the console lets you do in that area.

Adjust main volume
volume “[value]”
Scales from 0 to 1 with a couple of decimal places. 

Toggle voice chat
voice_enable “[value]”
0 for off, 1 for on. Some bind a button to toggle between the two for when they want quick access to not hearing their team-mates any more:

bind “[key]” “toggle voice_enable 1 0”

Voice receive volume
voice_scale “[value]”
Adjusts the volume at which you receive voice communication from other players. Works on the same scale as normal volume.

Adjust speaker configuration
windows_speaker_config “[value]”
Corresponds to the menu in-game that lets you select between headphones, 5.1 surround and so on. -1 will auto-pick, while 1 is headset, 3 is four speakers, 4 is two speakers and 5 is surround.

Adjust music volume
snd_musicvolume “[value]”
Changes the music volume. Many set this to 0 to avoid distractions.

Sound delay
snd_mixahead “[value]”
Determines how much sound is buffered by the engine. The default is 0.1, while many players prefer 0.05 or lower. This can come with serious performance issues but it’s worth putting it as low as possible to get more instant reactions.

Adjust volume of distant sound
snd_headphone_pan_exponent “[value]”
Changes how loud further away sounds are. Higher means more distant map awareness, but makes it more difficult to tell when enemies are closer. Scales 0-100.

Adjust centered sound radius
snd_headphone_pan_radial_weight “[value]”
Changes how close to the crosshair a sound source has to be before it is centered in your headphones. Scales 1-100.

Bindings

You can also use the autoexec file to set your bindings. Beyond the obvious shootin’ ‘n’ jumpin’ it’s good for setting up buttons that will quickly buy the most common items required - the various sorts of grenade, the most common guns and armour/defusers. Here’s how the command works:

bind “[key]” “[action]”

Rather than run you through all the different possible permutations of this, there’s a number of helpful tools that will customise this section of your autoexec for you. This one even has a nice GUI where you click buttons to select which key and gun you want to match. A majority of better players use the numpad for these bindings.

Aliasing

Aliasing is where you define new commands for the console by combining others. This is most useful in combination with bindings to let one keypress execute a large number of console commands.

alias [new command] “[command]; [command]; [command]”

There’s a lot of complicated stuff you can do with aliasing, from binding buttons to have contextual actions to making the scoreboard show up alongside the net graph. Experiment with it and look around the net for other people’s autoexecs, or see our list of links at the bottom, to see what you can get up to.

Enabling Practice Mode

One of the most useful tools the console gives you access to is a custom-made practice mode. In this you can track where bullets are landing, how grenades are being thrown, play on maps that don’t end and position bots to your liking. You even have infinite ammo and can buy guns map-wide.

Obviously this isn’t something you want every single time you load up the game, so we’re going to use the exec command. It lets you execute config files from inside the game, like how autoexec does this automatically. We’ll set up a practice cfg file, then use this syntax to load it in the game:

exec [filename]

You can set all this up yourself, but naturally legions of folks have done it before and created optimised versions with custom binds and interesting information readily available. League organisers FACEIT have a video tutorial for theirs.

Subscribe to PCGamesN on YouTube

There’s a download in the description. It’s been updated since that video was made with some of the suggestions from this reddit thread, which is also worth looking at if you want to modify the config further. Just open it in notepad like you would any other config file and change as you like. Here's some useful commands:

No team restrictions
mp_limitteams "0"
Turns off balancing of teams, letting as many players or bots be on each side as you like.

No autobalance
mp_autoteambalance "0"
Turns off auto-balancing, a must with the above.

Hour-long rounds
mp_roundtime "60"
mp_roundtime_defuse "60"
Sets roundtimes to 60 minutes so you can mess about for as long as you like.

Infinite money
mp_maxmoney "60000"
mp_startmoney "60000"
While not technically infinite, this sets your money to enough to buy as much as you like for testing purposes.

No freeze on round start
mp_freezetime "0"
Removes the no-movement time at the start of a round.

Buy anywhere, anytime
mp_buytime "9999"
mp_buy_anywhere "1"
Allows you to buy anywhere on the map at any point in the round.

Infinite ammo
sv_infinite_ammo "1"
Gives guns infinite ammo.

Five grenade slots
ammo_grenade_limit_total "5"
Allows you to carry five grenades in total.

End warmup on start
mp_warmup_end
Takes the game out of warmup.

Restart the server
mp_restartgame "1"
Useful either as an end-of-autoexec clean slate or a command to restart whenever you need to.

Show grenade trajectory
sv_grenade_trajectory "1"
sv_grenade_trajectory_time "10"
Enable to show where grenades have travelled after release, good for testing smoke placements.

Show bullet impacts
sv_showimpacts "1"
sv_showimpacts_time "10"
Shows where bullets landed as well as how much penetration they achieved. 

Kick bots
bot_kick
Kicks a bot.

Add bots
bot_add_t
bot_add_ct
Useful for target practice.

Stop bots
bot_stop "1"
Prevents bots from moving.

Make bots mimic player
bot_mimic "1"
Makes bots mimic the movements of the player, allowing them to be positioned when combined with bot_stop.

Misc Additional Commands

Here’s some stuff that doesn’t fit into other categories, but might be useful anyway. It includes some of the commands in the practice files linked above that might be useful elsewhere too. You can include them in autoexec as you like, or just type them in directly when you want them. Remember that if you’re typing directly into the console quotes aren’t needed around values.

Enable console
con_enable “1”
Allows access to the console. This can be switched on from in-game, but bung this in your autoexec if you want to never have to worry about it.

Enable cheats
sv_cheats “1”
Enables cheats on local servers. Obviously this doesn’t work while playing on a server you do not have admin access to, which will be most of them. However this needs to be enabled to play with the more interesting

Enable developer mode
developer “[value]”
Changes how much output is displayed in the console. 0 is normal, while 1 will give you a little more info. Enabling it is also required for some commands.

Print damage on screen

con_filter_enable "2"
con_filter_text "Damage"
con_filter_text_out "Player:"

This set of commands will print your damage dealt and taken to the top left hand corner of the screen whenever you die, rather than you having to check the console to find out.

Change Steam overlay position
ui_steam_overlay_notification_position "[bottom/top][left/right]"
Allows you to customise where Steam overlay alerts appear. Topleft is my preference. Note that there is no space between the two modifiers.

Disable help messages

cl_autohelp "0"
cl_showhelp "0"
player_nevershow_communityservermessage "1"

This set will turn off the “press f to inspect your gun” style messages.

Turn off server MOTDs
cl_disablehtmlmotd "1"
This stops servers showing you their Messages of the Day, which are usually adverts and bloaty HTML.

Highest ping for matchmaking
mm_dedicated_search_maxping "[value]"
This limits which servers you will be matchmade onto based on their ping. Roughly, anything over 100 isn’t really playable, and most people prefer to play at sub-80.

Don’t download custom sounds
cl_downloadfilter "nosounds"
Stops sounds being downloaded from servers. You’ll miss out on a few MULTIKILLs but save on disc space and connection times.

Disable weapon switch on pickup
cl_autowepswitch "0"
Means you won’t switch to any gun you pick up. You do not want to walk over an AK while shooting somebody with a pistol and suddenly be going through a weapon change animation. Believe me.

Buy menu remains open
closeonbuy "0"
Stops the buy menu closing once you’ve purchased something, meaning you can purchase more things. Capitalism in action.

Auto-screenshot scoreboards
hud_takesshots "1"
This will take a screenshot of the scoreboard at the end of every match. Good for bragging and keeping track of how you do.

Preload maps
cl_forcepreload "1"
This preloads everything on a map when you first connect, rather than as you get to it. Increases load times but means less stutter mid-game. Vital.

Turn off freezecam on death
cl_disablefreezecam "1"
Disables the smash-zoom and freeze onto your killer when you die.

Save settings to config
host_writeconfig
This makes sure that all these settings are enabled and saved. Always a good idea to have this as the last command in your autoexec.

Print to console
echo “[text]”
This prints text to the console. Useful for making sure your autoexec has loaded properly, with a message along the lines of echo “PREPARED FOR DIGITAL SPORTS.”

Lastly, here's some specific commands that don't make sense in an exec file but might be useful every now and then.

Third person mode
thirdperson
Moves the viewpoint to thirdperson. Requires sv_cheats. firstperson puts you back.

Wireframe wallhack
mat_wireframe "1"
Allows you to see other models through the terrain in a wireframe model. Obviously this requires sv_cheats, but can be useful for seeing how bots move around a map and where people will be at certain points.

No clip
noclip
Turns on no clipping mode. Useful for exploring levels quickly. Requires sv_cheats.

God mode
god
Makes you invulnerable. May be useful in bot games or for practicing jumps that damage you if you fail. Requires sv_cheats.

Suicide
kill
Kills you for the round. May be needed if you get into a weird spot or want to reset a solo round.

Counter-Terrorists Win

That's your lot. Here's a couple of handy links to where much of the information for this article was found. They're also both useful if you'd rather shortcut the process of making your own autoexec.

Autoexec generator - a tool for making an autoexec that uses a basic GUI to create it.
Budi's CSGO Autoexec - a regularly updated autoexec that should do everything you need.

It's almost certain we've ommitted your personal favourite hot console tip, so place it in the comments section for all and sundry to enjoy.

Try these free to play games
?

These are affiliate links - clicking them and playing the games directly supports PCGamesN

Sign in to Commentlogin to comment
isai0004 avatar
isai0004 Avatar
3
2 Months ago

Hi! Nice article! Really helped a lot (did not know you could do this awesome stuff). I have one question tho! I noticed something with the "mat_savechanges" command. When this command is in the autoexec file, CS GO will make the video settings to default every time CS GO is opened. As if saving these specific graphic details, will make the basic "video settings" in CS GO go to deffault settings, which is pretty high for the pc im running the game on. Currently i have removed the mentioned command from the autoexec file, but im afraid that it might render the rest of the "graphic" settings in the autoexec useless, since it has not been saved with the "mat_savechanges" command.

3