Skip to content

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.

Updated September 28, 2026
Counter-Strike 2

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
game/csgo/cfg/practice.cfg

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_prediction is not a CS2 convar

Many 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 two sv_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.


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