CS Kaiyuan Game logo CS Kaiyuan GameCounter-Strike tips, strategies and gear for players who want to improve.
Guides

How to Practice CS2 Smoke Lineups on an Offline Server

You throw the Mirage window smoke in a real match, it lands on the stairs, and now your AWPer is staring straight down mid at nothing but grey air in the wrong place.

Player aiming a smoke grenade at a rooftop skyline on an empty practice server at dusk

You throw the Mirage window smoke in a real match, it lands on the stairs, and now your AWPer is staring straight down mid at nothing but grey air in the wrong place. The fix is not watching another lineup video; it is learning to practice CS2 smoke lineups on an offline server until your hands do the throw without asking your brain for permission.

This guide gives you the exact server setup I use, a session structure that fits into 20 minutes, and a way to decide which smokes are worth your time in the first place. I coach a few amateur five-stacks, and the players who improve fastest are rarely the ones who know the most lineups. They are the ones who can hit six of them every single time.

Set Up an Offline Server to Practice CS2 Smoke Lineups

Open CS2, go to Play, choose Practice, pick Competitive or Casual, and launch the map with bots disabled. Once you load in, open the console and paste the block below. You can also save it as a file called practice.cfg in your cfg folder and run it with exec practice, which is faster if you already keep things organised through a CS2 autoexec setup that survives updates.

  • sv_cheats 1 unlocks the rest of the commands.
  • bot_kick removes any bots that spawned.
  • mp_warmup_end stops the warmup timer from resetting things.
  • mp_roundtime_defuse 60 gives you a full hour per round.
  • mp_freezetime 0 lets you move the moment a round starts.
  • mp_buy_anywhere 1 and mp_buytime 9999 let you buy grenades from anywhere on the map.
  • sv_infinite_ammo 1 refills grenades after every throw.
  • sv_grenade_trajectory_prac_pipreview 1 shows a preview arc and landing point while you hold the grenade.
  • mp_restartgame 1 applies everything cleanly.

Two more commands do most of the heavy lifting. sv_rethrow_last_grenade repeats your last throw from the exact spot so you can watch where it lands without walking back. getpos prints your current position and view angle as a setpos command you can copy into a text file. Next session, paste that line into the console and you are standing on the pixel again.

Pick Six Smokes Before You Pick Sixty

Here is where I disagree with most lineup content. The common advice is to learn every smoke for every site on your main map. In practice, that turns into 40 half-learned throws, and in a real round you hesitate, jiggle your crosshair for two seconds, and get picked off while lining up.

Start with six. Per side, per map, choose three smokes that your team actually calls. On Mirage as a T, that is usually window, connector and stairs or jungle for an A execute. As a CT, it might be a mid smoke for a retake plus one for the B apartments push. If your team never runs a B split, a perfect B split smoke is wasted muscle memory.

Ask your in-game leader which utility they call most. If you play solo queue, open five of your own demos and write down which smokes you or teammates threw in the first 30 seconds of T rounds. The pattern will be obvious. If you are still learning layouts, pair this with a plan to learn a new CS2 map in one week so the smokes make sense in context rather than as isolated tricks.

A 20 Minute Smoke Practice Session That Sticks

Long sessions feel productive and mostly are not. After about 25 minutes of repeating the same throw, your attention drops and you start compensating with tiny adjustments you will never reproduce in a match. I keep it short and structured.

  1. Minutes 0 to 3: load the server, exec your config, paste your saved setpos lines into a notepad so they are ready.
  2. Minutes 3 to 12: take your first smoke. Teleport to the spot, throw it 10 times. Then walk away, come back to the spot without setpos, find the alignment by eye and throw 5 more. Count how many land correctly.
  3. Minutes 12 to 18: repeat with your second smoke. Two smokes per session is plenty.
  4. Minutes 18 to 20: throw both smokes from memory, once each, with no preview arc. Turn off the pipreview with sv_grenade_trajectory_prac_pipreview 0 for this part.

The last step matters most. The preview arc is training wheels. If you only ever throw with it on, you have learned to read a line on the screen, not the lineup itself.

Write your hit rate down. A smoke is "learned" when you land it 9 out of 10 times from memory across three separate days. Until then it is still in practice, and you should not volunteer for it in a match where it matters.

Reading the Lineup Instead of Memorising Pixels

Every lineup has two parts: where your feet are and where your crosshair is. Most players obsess over the crosshair and get sloppy with their feet. Stand in a corner or against a wall edge whenever the lineup allows it, because walls are easy to find under pressure. A lineup that requires you to stand "roughly on the third tile" will fail when your heart rate is 120.

For the crosshair, find a distinctive feature on the skybox or wall, like an antenna tip or a window corner, and note which part of your crosshair touches it. Naming the feature out loud during practice builds a verbal hook you can recall.

Jump throws in CS2 are far more consistent than they were in CS:GO, but you still need a bind if your lineup relies on one. Test the same lineup with a standing throw first. If the standing version works, use it. Fewer inputs means fewer ways to miss.

Turning Practice Into Match Results

Once a smoke passes your 9 out of 10 test, move it into Deathmatch warmups. Load a community retake or execute server and throw it in a live setting where people are shooting at you. The point is not the smoke itself but doing the setup while the game is loud and moving.

Then bring it into the team plan. A perfect smoke thrown 4 seconds late is worse than a decent one on time, because your entry player has already peeked. CT players get value from this too: a reliable smoke can save a retake after the bomb is planted by cutting off one angle you would otherwise have to clear.

Revisit your list every few weeks. Valve occasionally changes map geometry, and a single crate shift can break a lineup you trusted. When a patch drops, spend one session re-testing your six smokes before your next match.

FAQ

How long does it take to learn a CS2 smoke lineup?

Most players can land a new smoke consistently after three short sessions spread over three days. Cramming 100 throws into one evening tends to fade within a week. Spacing the practice is what makes it stick.

Do I need a jump throw bind in CS2?

Not for every lineup, but some smokes only reach their target with a jump throw. CS2 made these throws more consistent, so a simple bind still helps. Test a standing version first, since it is easier under pressure.

Can I practice smokes in a Casual match instead?

You can try, but you lose the repetition that makes practice worth doing. An offline server lets you rethrow, teleport and repeat 15 times in a minute. Use live matches to test smokes you already know, not to learn new ones.

Why does my smoke land differently than in the video?

Usually your feet are a few units off or your crosshair sits on a slightly different spot. Compare your setpos coordinates with the creator's if they share them. Also check whether the video was recorded before a map update.

JS
Jake Solis

Jake tests mice, monitors, headsets and peripherals with a single question in mind: does this actually make you play better? He approaches gear reviews from a player perspective rather than a spec sheet.

More posts by Jake

More in Guides

01doorganico 084goad 3hot8 4465456 after5internprogram ahandfulofblessings ahmadpc ahomcybersecurity allodialresources annodex antiquesandperiodcollectibles aotc asianworldkashmir beedlectrics bloggertemplatefree bluefeatheragency bodyweightsolution campaign08blog carfixadvisor catstreetcollective cbstvsports cnfanspurchasing committeeof500yearsofdignityandresistance covertopsdjs cuestacomunicaciontotal cxoutlet dancebetgame deskgearhub destinyvillastay detectmagazine di33 diamondsteelbuildings donmo dyanadropship emarsysfinance emimattl escapechan eskitarih evautoplay everythingweddings-orlando farmzone feedviewerapp foxstudiosscratch gamevui123 gleasongrade greetingsday hacklabasu haskell iw-kaiyun jagoanproperti jilidskripsi joltbusinessfinance juegodepokergratis juegospucca kaeru-festival latestmehndidesigns lestanzediottaviano litemagazines localcommunityhero lustrsazan mariashebets menswheels newwebstechs1 nikkit ootheday oxigenvpn plurfitness prefetial probudgetcarpetcleaning psychicmrsmartin pyaten qvantor rejoignezlogis rexzbot riselayouts ruchin rwxqsgd5 sakaltime shibiaowang shop-bot skrtips strcoding tetapatrium topselller uneplanteartificielle vipertechcr webtech1223411 wo-kygaming yamaha-mekar yeknava yoybuysheets zenunwa yamaha-mekar jilidskripsi ankertoto ankertoto ankertoto ankertoto