Some of the most valuable practice in Counter-Strike 2 happens alone, in a private server, where you can rehearse smoke lineups, learn spray patterns, and test movement with no clock and no enemies. The key is a handful of console commands that unlock infinite ammo, show grenade trajectories, and let you teleport around the map. This guide lists the essential commands and explains what each one does so you can build a training server from scratch.
These commands were checked in October 2026 against Valve's in-game console in Counter-Strike 2 and community practice-config references including r/GlobalOffensive. Command names occasionally change between updates, so if one does not autocomplete in the console, type the first few letters and let the console suggest the current name.
Starting a practice server
Open any map in an offline game with bots, or create a private lobby, and bring up the developer console (enable it in Settings or via a launch option — see our launch options guide). The first command that matters is sv_cheats 1, which unlocks every practice command below; nothing else works without it. Because cheats are on, these commands only function in your own server, never in matchmaking, so there is no risk to your competitive account — this is a legitimate, built-in training feature. It is worth stressing that distinction because newcomers sometimes worry that anything involving the word "cheats" is against the rules. It is not: sv_cheats is Valve's own development and practice switch, it is impossible to enable in a real competitive match, and using it in your own offline or private server is exactly what it exists for. Nothing you do in a practice server carries over to or affects your ranked play in any way.
After enabling cheats, you will usually want to remove the bots with bot_kick so you have the map to yourself, and extend the round so your session is not interrupted. If you instead want bots to practice against, bot_add_t and bot_add_ct place them on a specific side, bot_stop 1 freezes them so you can rehearse a lineup or a specific angle on a stationary target, and bot_place drops a bot wherever you are aiming, which is useful for setting up a repeatable scenario.
A quick note on how to enter all of this efficiently: you can type commands one at a time in the console, but the moment you have more than a handful you will want them saved to a file so you are not retyping them every session. The commands below are exactly the kind of thing that belongs in a dedicated practice config, which you run with a single line. That setup is covered separately, but keep it in mind as you read — the goal is to end up with one command that transforms any map into a full training ground.

Infinite time, money and ammo
A proper practice server never ends a round on you and never runs you out of resources. The core commands for that are:
- mp_roundtime 60 and mp_roundtime_defuse 60 — set an extremely long round so the clock does not reset your setup.
- mp_freezetime 0 — skip the buy-phase freeze so you can move immediately.
- mp_maxmoney 60000 and mp_startmoney 60000 — give yourself effectively unlimited money to buy any weapon or utility.
- mp_buytime 9999 and mp_buy_anywhere 1 — buy from anywhere on the map at any time, so you do not have to run back to spawn.
- sv_infinite_ammo 1 — never reload or run out (set to 2 for infinite reserve ammo but with reloading still required).
- ammo_grenade_limit_total 5 — carry more grenades at once for smoke practice.
- mp_warmup_end — end the warm-up period immediately if the server started in one.
Enter these once at the start of a session and the server behaves like a sandbox for as long as you want to stay.
These values are starting points you can adjust. If you are practicing eco-round scenarios you might lower the money rather than max it, and if you are drilling a specific timing you might set the round time to something realistic instead of effectively infinite. The point of listing generous defaults is that, for most solo practice — learning lineups, grinding spray control, rehearsing movement — you want every artificial limit removed so nothing interrupts the repetition. Once the limits are gone, the only thing deciding how much you improve is how deliberately you use the time, which is why pairing these commands with a clear practice intention matters as much as the commands themselves.
Grenade practice commands
The reason most players build a practice server is to learn utility, and a few commands make that dramatically easier:
- sv_grenade_trajectory 1 — draw the flight path of every grenade you throw, so you can see exactly where a smoke or molotov travels.
- sv_grenade_trajectory_time — control how long that trajectory line stays on screen so you can study it after the throw.
- sv_showimpacts 1 — show where your bullets hit, invaluable for spray practice and checking whether a wallbang lands.
- cl_grenadepreview 1 — where available, preview the grenade's landing before you throw, which speeds up learning a lineup.
- noclip — fly through walls to reach a smoke's destination and confirm it landed correctly, then fly back.
The standard workflow is to throw a smoke, use noclip to fly to where it landed and check the coverage, then fly back to the throwing spot and refine. Binding noclip and "throw last grenade again" to keys makes this loop fast. Learning lineups this way is exactly how the smokes in our smokes guide become reliable in real matches.
Two binds turn grenade practice from tedious into fast. The first repeats your last thrown grenade from your current position, so after you check where a smoke landed you can fly back and throw the identical nade again without re-buying or re-aiming from scratch. The second is a noclip toggle, so flying out to inspect a result and back to the lineup spot is a single keypress each way. With those two binds plus the trajectory line, a lineup you are learning goes through its throw-check-adjust loop in seconds rather than a minute, and you can run dozens of repetitions in a short session. Repetition is the whole point: a lineup only becomes match-useful once you can execute it without thinking, and that only comes from throwing it enough times that your crosshair finds the landmark automatically.

Movement and respawn commands
Two more commands round out a practice setup. god makes you invulnerable so you can rehearse peeks and lineups near fire or enemies without dying, and sv_regeneration_force_on 1 (where available) keeps your health topped up. For movement practice, binding a key to noclip lets you instantly reposition, and using the buy menu with unlimited money lets you swap weapons freely. If you want to rehearse defusing or planting, you can give yourself the bomb and set the plant and defuse behavior to loop, letting you practice retakes against the clock.
A detail that trips people up is that some of these commands need to be re-entered if you change maps or restart the round, because they apply to the current session rather than permanently. This is another reason a saved practice config is so valuable: rather than remembering which commands reset and retyping them, you simply re-run the config whenever you load a new map and everything is restored at once. It also pays to keep an eye on which commands require cheats to be on, since turning cheats off — or joining a server where they are off — silently disables the whole set, and a command appearing to "not work" is almost always this rather than the command itself being broken.
To make all of this reusable, save the commands into a config file that you can execute with a single command each session rather than typing them every time. Our config guide explains how to write and run a practice config so your training server is one command away.
It is also worth knowing that CS2 has a growing ecosystem of community-made practice workshop maps that bundle many of these behaviors into a menu, letting you spawn bots, toggle one-way checks, and load specific scenarios without typing anything. These are a convenient alternative to building your own server, especially for structured aim and movement drills, though building your own gives you the most control and teaches you what each command actually does. Whichever route you take, the discipline is the same: pick one thing to work on per session, remove every artificial limit so you can repeat it freely, and verify your results — with bullet impacts for sprays, trajectory lines for nades — instead of guessing whether you are improving. A practice server is only as good as the focus you bring to it.
Counter-Strike 2 accounts and services
A practice server builds the skills; the rest is putting them into competitive games on an account that lets you. If you need a Prime-ready account or a rating that reflects your real level so your practice pays off in matches that matter, our Counter-Strike 2 accounts and services page covers account and boosting services. These are services we perform, not cheats — the practice commands above are Valve's own built-in tools, and nothing here touches that.
Frequently Asked Questions
Will using practice commands get me banned?
No. sv_cheats and the practice commands only work in your own private server and are a built-in training feature. They do not function in matchmaking and pose no risk to your competitive account.
What command shows grenade trajectories?
sv_grenade_trajectory 1 draws the flight path of thrown grenades. It requires sv_cheats 1 to be enabled first, and pairs well with noclip so you can fly to where a smoke lands and verify it.
How do I get infinite ammo in a practice server?
Enable sv_cheats 1, then sv_infinite_ammo 1 for no reloads at all, or 2 if you want to keep reloading but never run out of reserve ammo.
Why do my practice commands not work?
Almost always because sv_cheats 1 is not set, or you are in matchmaking rather than your own server. Enable cheats first, and confirm you are in an offline or private game.
Can I save all these commands to run at once?
Yes. Put them in a config file in your CS2 cfg folder and execute it with the exec command. This loads your whole practice setup with a single line instead of typing each command.
A command does not autocomplete — did it get removed?
Command names sometimes change between updates. Type the first few letters in the console and read the suggestions to find the current name, or check a recent community practice-config reference.