CS2 Practice Commands: Nade Practice Config, Clearing Smokes and Map Guides
Every CS2 practice command checked against the current build: a ready-to-paste nade practice config, rethrow, noclip, clearing smokes and MatchZy .prac.
CS2 practice commands only work when the server allows them. Almost every nade practice command (noclip, sv_rethrow_last_grenade, sv_infinite_ammo, clearing a smoke) is flagged as a cheat in the retail build, so it does nothing until sv_cheats 1 is set on the server. The settings that make practice comfortable are not cheats at all: grenade trails, buy-anywhere and endless rounds are ordinary convars. So there are two layers, and people who mix them up end up asking why noclip "doesn't work".
This guide gives you both layers, checked against the current CS2 build (1.41.8.5, 25 September 2026). You get a practice config to paste, the commands grouped by what you are practising, a way to clear smokes without restarting the round, and how to turn on Valve's map guides on your own server. If you would rather use chat commands like .rethrow and .savenade, the MatchZy section covers the plugin route.
Where Each Command Has to Be Typed
A CS2 command runs in one of two places. Get this wrong and the command silently fails.
| Type it in | Commands | Why |
|---|---|---|
Server console (the panel's Console tab, or rcon from your game) |
sv_cheats, exec, mp_*, sv_*, bot_*, ent_remove_all, host_timescale, sv_rethrow_last_grenade |
Server-side commands and convars |
| Your own game console while connected | noclip, god, kill, setpos, setang, hurtme, getpos, binds |
Commands the game lets a connected player run for their own character, provided the server has cheats on |
On a GSK server the Console tab is already attached to the server process, so there is no rcon prefix and no password to send. To run server commands from inside the game instead, open the Startup tab, set Enable RCON to 1 (the egg only adds -usercon to the launch line when it is on) and set an RCON Password. Counter-Strike 2 server commands covers RCON setup in full.
sv_cheats is replicated to every client, which means everyone on the server gets cheats while it is on. That is fine for a private practice server. Don't turn it on for a public one.
The Practice Config
Save this as game/csgo/cfg/practice.cfg, then run exec practice in the Console tab. Each value is checked against the current convar list. The layout follows the practice config that MatchZy ships.
// cheats layer
sv_cheats 1
sv_infinite_ammo 1
// no bots, no team limits
bot_quota 0
bot_kick
mp_limitteams 0
mp_autoteambalance 0
// endless round, instant respawn
mp_warmup_end
mp_freezetime 0
mp_roundtime 60
mp_roundtime_defuse 60
mp_ignore_round_win_conditions 1
mp_respawn_on_death_ct 1
mp_respawn_on_death_t 1
// money and buying
mp_startmoney 60000
mp_maxmoney 60000
mp_buytime 9999
mp_buy_anywhere 1
ammo_grenade_limit_total 5
// nade and spray feedback
sv_grenade_trajectory_prac_pipreview 1
sv_grenade_trajectory_prac_trailtime 8
sv_showimpacts 1
sv_showimpacts_time 10
// stand on a teammate for boost spots
mp_solid_teammates 2
// map guides (see below)
sv_allow_annotations_access_level 2
sv_annotation_limits_max_rounds_per_half -1
mp_restartgame 1 What the less obvious lines do:
| Convar | Value | Effect |
|---|---|---|
sv_grenade_trajectory_prac_pipreview |
1 |
Picture-in-picture camera that follows the grenade to where it lands |
sv_grenade_trajectory_prac_trailtime |
8 |
Seconds the flight path stays drawn. 8 is the maximum the build allows |
ammo_grenade_limit_total |
5 |
Lets you carry one of every grenade. The engine default is 3 |
mp_buy_anywhere |
1 |
Buy anywhere, both teams. 2 is T only and 3 is CT only |
sv_showimpacts |
1 |
Client (red) and server (blue) impact boxes, for spray practice |
mp_solid_teammates |
2 |
Lets you stand on a teammate's head |
mp_ignore_round_win_conditions |
1 |
Round never ends, even when a team is wiped |
bot_quota 0 comes before bot_kick on purpose. The quota is what keeps bots topped up, and on the egg's default Competitive mode Valve's gamemode_competitive.cfg sets bot_quota 1.
sv_grenade_trajectory_predictionis not a CS2 convarMany practice configs still include
sv_grenade_trajectory_prediction 1. It is absent from every CS2 convar dump since October 2024, so the server prints an unknown-command error and carries on. Use the twosv_grenade_trajectory_prac_*convars above instead.
To go back to normal play, restart the server from the panel. That relaunches it with the egg's startup settings and a fresh config. If you only change the map, turn cheats off by hand first with sv_cheats 0.
Nade Practice Commands
These are the commands you will use most while learning lineups.
| Command | Where | What it does |
|---|---|---|
sv_rethrow_last_grenade |
Server | Throws the last grenade thrown on the server again, from the same spot, so you can watch where it lands |
noclip |
Your console | Fly through walls to reach a throw spot or watch a landing. noclip 0 forces it off |
getpos |
Your console | Prints your exact position and view angles, so you can note a lineup |
setpos <x> <y> <z> |
Your console | Teleport to coordinates |
setang <pitch> <yaw> |
Your console | Snap your view to exact angles |
host_timescale <n> |
Server | Speeds up the server clock. host_timescale 4 makes a smoke bloom and fade quickly. Set it back to 1 afterwards |
god |
Your console | Invulnerable, so an HE or molotov doesn't kill you while you test it |
Put the ones you use constantly on keys. Binds are typed in your own game console:
bind "n" "noclip"
bind "g" "god"
bind "p" "getpos" sv_rethrow_last_grenade and host_timescale are server commands. Run them from the Console tab or with an rcon prefix. A bind like bind "c" "rcon sv_rethrow_last_grenade" works once you have authenticated with rcon_password.
Saving a lineup with getpos
Stand on the spot, aim at the lineup, and run getpos. The console prints your position and angles. Paste that output into a text file, one line per lineup, so later you can teleport there and be aiming at the right place. This is the whole mechanism behind the "setpos lineup" lists people share for each map.
How to Clear Smokes and Molotovs
There is no native "clear smokes" command. You remove the grenade entities themselves with ent_remove_all, a cheat command run from the server console:
ent_remove_all smokegrenade_projectile
ent_remove_all molotov_projectile
ent_remove_all inferno smokegrenade_projectile is an active smoke, molotov_projectile is a molotov or incendiary still in the air, and inferno is the fire on the ground. MatchZy's .clear command removes the same three entity types, which is a good sign this is the reliable method. Put the three lines in game/csgo/cfg/clear.cfg and you can clear everything with exec clear.
Aim, Movement and Spray Practice
The same server works for more than utility:
| Command | Where | Use |
|---|---|---|
sv_showimpacts 1 / sv_showimpacts_time 10 |
Server | See where every bullet landed, client and server |
sv_showbullethits 1 |
Server | Shows hits and near misses |
sv_infinite_ammo 1 |
Server | Your active weapon never runs dry |
mp_teammates_are_enemies 1 |
Server | Friends on the same team can duel |
sv_autobunnyhopping 1 |
Server | Auto re-jump while holding jump. Useful for movement maps, not for learning real bhop timing |
buddha 1 |
Server | You take damage but don't die. MatchZy's practice config uses it instead of god |
hurtme <n> |
Your console | Take a set amount of damage, for practising at low HP |
Map Guides on Your Own Server
Since November 2024 CS2 has had map guides: in-world markers that show a grenade lineup, where to stand, and where to aim. Offline you turn them on under Play → Practice → Load Map Guides. On a dedicated server they are controlled by two convars that arrived in the 18 March 2026 update:
| Convar | Values |
|---|---|
sv_allow_annotations_access_level |
0 off, 1 limited view, 2 full and editable |
sv_annotation_limits_max_rounds_per_half |
Default 5. -1 removes the round limit |
The practice config above sets 2 and -1, so guides are fully available for the whole session. Guides are loaded client-side from the pause menu or with annotation_load. Valve ships starter guides for the Active Duty maps, and community guides are on the Steam Workshop.
Practice Mode with MatchZy
MatchZy is a CounterStrikeSharp plugin, mainly for running matches, but it has a full practice mode that turns all of the above into chat commands. If you already run it, or several people practise together, it is the faster route. Installation is covered in How to install plugins on a Counter-Strike 2 server and How to run 5v5 competitive matches.
Type .prac in chat to start practice mode and .exitprac to return to match mode. The practice commands:
| Command | Does |
|---|---|
.rethrow (.rt) |
Rethrow your last grenade. Also .rethrowsmoke, .rethrowflash, .rethrownade, .rethrowmolotov |
.last / .back <n> |
Teleport to where you threw your last grenade, or the nth one in your history |
.savenade <name> / .loadnade <name> |
Save a lineup by name and load it later |
.clear |
Remove all active smokes, molotovs and incendiaries |
.ff |
Fast-forward server time 20 seconds, so a smoke can finish |
.noflash |
Your own flashes don't blind you |
.bot / .crouchbot / .nobots |
Place a bot where you stand, crouched, or remove all bots |
.spawn <n> / .ctspawn <n> / .tspawn <n> |
Teleport to a numbered competitive spawn |
.timer |
Start and stop a timer, for timing a run-out or a smoke's arrival |
.traj / .impacts / .solid |
Toggle the grenade preview, bullet impacts, and solid teammates |
.dry |
Dry-run mode, a live round without the match starting |
MatchZy's own practice config lives in csgo/cfg/MatchZy/prac.cfg. Edit that file, not server.cfg, if you want to change how its practice mode behaves.
FAQ
Why does noclip say it can't be used?
The server has sv_cheats at 0. Set sv_cheats 1 in the Console tab. Typing it in your own console while connected to a dedicated server does nothing, because sv_cheats is controlled by the server.
Do practice commands need VAC turned off?
No. sv_cheats works with VAC on. The Enable VAC variable in your Startup tab only controls whether the server launches with -insecure.
Can I practise nades without cheats?
Partly. Grenade trails, the picture-in-picture preview, buy-anywhere, long rounds and respawns are all ordinary convars. Rethrowing, noclip, infinite ammo and clearing smokes are not.
Why do bots keep joining my practice server?
Your game mode's config sets a bot quota, and it runs again when the map changes. Set bot_quota 0 before bot_kick, and run both again after a map change.
What to Read Next
- Counter-Strike 2 server commands: RCON, kick and ban commands, and the wider convar list
- Counter-Strike 2 configuration: which config file does what
- How to add Steam Workshop maps for Counter-Strike 2: load a practice map (a prefire or aim map) from the Workshop
Made with 💜 by GameServerKings

Need a Counter-Strike 2 server?
Deploy an instantly-provisioned Counter-Strike 2 server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $11.50 /month