Counter-Strike: Source Console Commands: Bots, Cheats, Server
November 9, 2026 · 8 min read
On this page
- How to open the console in CS:S
- The 12 most useful CS:S commands
- Connection and info commands
- Bot commands
- Bot difficulty levels
- Practice and cheat commands
- Round and server settings
- A simple practice setup
- Binds and config files
- Demo commands
- Frequently asked questions
- How do I enable the console in Counter-Strike: Source?
- How do I add bots in CS:S?
- How do I make bots harder in CS:S?
- How do I turn on cheats in Counter-Strike: Source?
- How do I show FPS in CS:S?
- How do I join a CS:S server by IP?
The developer console in Counter-Strike: Source lets you control bots, practice on your own server, change round rules and set up binds. Below are the commands people actually use, grouped by job, with what each one does. Descriptions follow the game's own help text.
Last checked: November 9, 2026.
How to open the console in CS:S
The console is off by default on a fresh install. Turn it on once and it stays on.
- Open Options from the main menu.
- Go to the advanced keyboard settings and tick Enable developer console.
- Press the
~key (left of1on US keyboards) in game or in the menu.
Another way is to right-click Counter-Strike: Source in your Steam library, choose Properties, and add -console to Launch Options. The console then opens every time the game starts.
Two commands help you find everything else:
find <text>searches command names and help text, for examplefind bot_.cvarlistprints every console variable and command in the game.
The 12 most useful CS:S commands
| Command | What it does |
|---|---|
connect <ip:port> |
Joins a server by address |
retry |
Reconnects to the last server |
status |
Shows the map and connection status |
net_graph 1 |
Shows FPS, ping and other network info on screen |
cl_showfps 1 |
Shows a simple FPS counter |
bot_add |
Adds a bot to the game |
bot_kick |
Removes all bots |
bot_difficulty 0-3 |
Sets the skill of bots that join next |
sv_cheats 1 |
Allows cheat commands on your own server |
noclip |
Lets you fly through walls (cheats on) |
mp_restartgame 1 |
Restarts the game after 1 second |
bind <key> <command> |
Assigns a command to a key |
Connection and info commands
| Command | What it does |
|---|---|
connect 203.0.113.10:27015 |
Connects to that server. 27015 is the default Source port |
retry |
Retries the connection to the last server |
disconnect |
Leaves the server |
status |
Displays the map and connection status |
net_graph 1 |
Draws the network graph. Higher values add more detail |
cl_showfps 1 |
Draws an FPS meter. Use 2 for a smoothed reading |
cl_showpos 1 |
Draws your position at the top of the screen, handy on surf and bhop maps |
maps * |
Lists the maps you have installed |
If you want to find a server to connect to, our CS:S server finder lists live servers with their addresses and real player counts.
Bot commands
Bots work on any server you host, including a local game started with Create Server. On someone else's server, only the admins can use them.
| Command | What it does |
|---|---|
bot_add |
Adds a bot to either team |
bot_add_ct |
Adds a Counter-Terrorist bot |
bot_add_t |
Adds a Terrorist bot |
bot_kick |
Kicks all bots, or one bot if you add its name |
bot_kill |
Kills all bots, or the ones matching what you type after it |
bot_quota 10 |
Keeps 10 bots in the game |
bot_quota_mode fill |
Makes bot_quota count humans too, so bots leave as players join. Other values are normal and match |
bot_difficulty 2 |
Sets the skill of bots that join from now on |
bot_knives_only 1 |
Bots only use knives |
bot_pistols_only 1 |
Bots only use pistols |
bot_snipers_only 1 |
Bots only use sniper rifles |
bot_all_weapons |
Lets bots use every weapon again |
bot_chatter off |
Silences bot radio and voice. Other values are radio, minimal and normal |
bot_defer_to_human 1 |
Bots leave objectives like planting and defusing to humans |
bot_join_after_player 1 |
Bots wait until a human joins before entering |
bot_stop 1 |
Stops all bot thinking, so bots freeze in place |
bot_zombie 1 |
Bots stay idle and don't attack |
bot_add, bot_add_ct and bot_add_t also accept extra details, such as a difficulty and a name, in the form bot_add_ct <type> <difficulty> <name>.
Bot difficulty levels
| Value | Difficulty |
|---|---|
| 0 | Easy |
| 1 | Normal |
| 2 | Hard |
| 3 | Expert |
The setting only affects bots that join after you change it. Kick the current bots with bot_kick, then add new ones.
If the game blocks you from putting many bots on one team, turn off the team limits first with mp_limitteams 0 and mp_autoteambalance 0.
Practice and cheat commands
These need sv_cheats 1, so they only work on a server you control. They're useful for learning maps, testing spray patterns or checking grenade spots.
| Command | What it does |
|---|---|
sv_cheats 1 |
Allows cheat commands on the server |
noclip |
Toggles flying through walls |
god |
Toggles invulnerability |
give weapon_ak47 |
Gives you a weapon or item |
sv_showimpacts 1 |
Shows where your bullets hit |
host_timescale 0.5 |
Slows the game to half speed. 1 is normal |
thirdperson |
Switches to a third-person camera. firstperson switches back |
ent_remove |
Removes the object you're looking at |
bot_dont_shoot 1 |
Bots stop firing their weapons |
kill |
Kills your player, and explode does it with an explosion. Neither needs cheats |
Common item names for give:
- Rifles:
weapon_ak47,weapon_m4a1,weapon_famas,weapon_galil,weapon_aug,weapon_sg552 - Snipers:
weapon_awp,weapon_scout,weapon_sg550,weapon_g3sg1 - Pistols:
weapon_deagle,weapon_usp,weapon_glock,weapon_p228,weapon_fiveseven,weapon_elite - SMGs and heavy:
weapon_mp5navy,weapon_p90,weapon_ump45,weapon_mac10,weapon_tmp,weapon_m3,weapon_xm1014,weapon_m249 - Grenades and gear:
weapon_hegrenade,weapon_flashbang,weapon_smokegrenade,item_assaultsuit
Round and server settings
These change how a match plays. On a dedicated server, put them in server.cfg so they load every time. Our dedicated server guide shows where that file goes.
| Command | What it does |
|---|---|
mp_roundtime 5 |
Minutes per round |
mp_freezetime 0 |
Seconds players stay frozen at round start. The default is 6 |
mp_buytime 5 |
Minutes after round start that buying is allowed |
mp_startmoney 800 |
Money each player starts with. 800 is the default |
mp_c4timer 45 |
Seconds from bomb plant to explosion. 45 is the default |
mp_friendlyfire 1 |
Lets teammates damage each other. Off by default |
mp_limitteams 2 |
Most players one team can have over the other. 0 turns the check off |
mp_autoteambalance 0 |
Turns automatic team balancing off |
mp_timelimit 30 |
Minutes per map |
mp_maxrounds 20 |
Rounds before the map changes |
mp_restartgame 1 |
Restarts the game after the given number of seconds |
sv_alltalk 1 |
Removes team restrictions on voice chat |
sv_gravity 800 |
World gravity. 800 is normal |
sv_airaccelerate 10 |
Air control. 10 is the default; surf servers raise it a lot |
changelevel de_dust2 |
Switches the server to another map |
sv_password <text> |
Sets a password to join |
rcon_password <text> |
Sets the remote admin password |
hostname <text> |
Sets the server name |
After changing round settings mid-game, run mp_restartgame 1 so everyone starts fresh under the new rules.
A simple practice setup
Start a local server with Create Server, then paste this into the console:
sv_cheats 1
bot_kick
mp_roundtime 9
mp_freezetime 0
mp_buytime 9
mp_startmoney 10000
sv_showimpacts 1
mp_restartgame 1
That gives you an empty map, long rounds, plenty of money and bullet impact markers.
Binds and config files
| Command | What it does |
|---|---|
bind <key> <command> |
Assigns a command to a key |
unbind <key> |
Removes a key's binding |
unbindall |
Removes every binding. Use with care |
key_listboundkeys |
Lists all keys and their bindings |
alias <name> "<commands>" |
Creates a shortcut that runs one or more commands |
exec <file> |
Runs a .cfg file from the cstrike/cfg folder |
host_writeconfig |
Saves your current settings to config.cfg |
Some popular binds:
bind mwheeldown +jumpputs jump on the scroll wheel, which many bhop and surf players use.bind n noclipgives you a quick noclip key on a practice server.
To load your own settings automatically, put commands in a file named autoexec.cfg in the cstrike/cfg folder. The game runs that file every time it starts. For video, mouse and network settings to put in it, see our CS:S best settings guide.
Demo commands
| Command | What it does |
|---|---|
record <name> |
Starts recording a demo |
stop |
Stops the recording |
playdemo <name> |
Plays a recorded demo file (.dem) |
demoui |
Shows or hides the demo player controls |
Frequently asked questions
How do I enable the console in Counter-Strike: Source?
Open Options, go to the advanced keyboard settings and tick Enable developer console. Then press ~ to open it. You can also add -console to the game's launch options in Steam.
How do I add bots in CS:S?
Type bot_add in the console, or bot_add_ct and bot_add_t to choose a team. Use bot_quota to keep a fixed number of bots and bot_kick to remove them. You need to be hosting the server, or be an admin on it.
How do I make bots harder in CS:S?
Set bot_difficulty 3 for expert bots, then kick the current bots with bot_kick and add new ones. The difficulty only applies to bots that join after you change it.
How do I turn on cheats in Counter-Strike: Source?
Type sv_cheats 1 on a server you host. After that, commands like noclip, god and give work. You can't turn on cheats on someone else's server unless you're its admin.
How do I show FPS in CS:S?
Type cl_showfps 1 for a simple FPS counter, or net_graph 1 for FPS plus ping and other network details. Set either back to 0 to hide it.
How do I join a CS:S server by IP?
Open the console and type connect followed by the address, for example connect 203.0.113.10:27015. Use retry to rejoin the same server if you get dropped.