How to Set Up a CS2 Practice Server: Full CFG and Commands

11 min readWinio Team
How to Set Up a CS2 Practice Server

How to set up a practice server in CS2

A local Counter-Strike 2 practice server lets you learn grenade lineups, test wallbangs, position bots, and work on angles across the competitive map pool without normal match restrictions.

Instead of entering dozens of console commands every time, you can save them in a single practice.cfg file. After loading a local map, open the developer console and run one command:

exec practice

The exec command runs every command stored in the specified CFG file. You can then edit the file for a particular session: keep only the grenade tools, add bots, or enable instant respawns.

Ready-made practice.cfg for CS2

The complete config below is designed for solo practice. It enables:

  • extended round time and disabled round win conditions;
  • buying anywhere on the map for almost the entire round;
  • $60,000 starting, maximum, and after-round money;
  • unlimited ammunition and reusable grenades;
  • grenade trajectory preview and a longer trajectory trail;
  • rethrowing the last grenade;
  • bullet-impact markers;
  • bot placement, bot freezing, and bot removal;
  • noclip movement around the map.
// =====================================
// Winio CS2 Practice Config
// =====================================

// Enable protected practice commands
sv_cheats 1

// End warmup
mp_warmup_end

// Disable team limits and auto-balance
mp_limitteams 0
mp_autoteambalance 0

// Remove freeze time
mp_freezetime 0

// Extend round time
mp_roundtime 60
mp_roundtime_defuse 60
mp_roundtime_hostage 60

// Prevent normal win conditions from ending the round
mp_ignore_round_win_conditions 1

// Money and buying
mp_maxmoney 60000
mp_startmoney 60000
mp_afterroundmoney 60000
mp_buytime 9999
mp_buy_anywhere 1

// Unlimited ammunition and grenades
sv_infinite_ammo 1
ammo_grenade_limit_total 5

// Grenade trajectory tools
sv_grenade_trajectory_prac_pipreview 1
sv_grenade_trajectory_prac_trailtime 15

// Bullet impacts
sv_showimpacts 1
sv_showimpacts_time 10

// Respawn after death
mp_respawn_on_death_ct 1
mp_respawn_on_death_t 1

// Remove all bots when the config loads
bot_kick

// Fly around the map
bind "mouse4" "noclip"

// Rethrow the last grenade
bind "mouse5" "sv_rethrow_last_grenade"

// Place an existing bot where you are aiming
bind "n" "bot_place"

// Freeze and unfreeze bots
bind "j" "bot_stop 1"
bind "k" "bot_stop 0"

// Restart the round with the new settings
mp_restartgame 1

echo "WINIO PRACTICE CFG LOADED"

Important: The protected commands in this config require sv_cheats 1 and are intended for a local practice session. They do not give you control over official Valve or third-party servers.

Where to install practice.cfg

Open the Counter-Strike 2 installation folder. With Steam installed in its default Windows location, the CFG directory is:

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg

If Steam or CS2 is installed on another drive:

  1. Find Counter-Strike 2 in your Steam Library.
  2. Right-click the game and select Properties.
  3. Open Installed Files.
  4. Select Browse.
  5. Open game, then csgo, then cfg.

Create a new text document in the cfg folder, paste the complete config into it, and save the file as:

practice.cfg

Windows note: Make sure the file is not saved as practice.cfg.txt. In Notepad, choose All files in the file-type menu when saving, or enable file-name extensions in File Explorer.

How to enable the developer console in CS2

Open CS2 Settings, go to the Game tab, and set Enable Developer Console (~) to Yes. Depending on your game language, the wording may vary slightly.

The console normally opens with the ~ key on an English keyboard. If that key is inconvenient on your layout, assign another key in the keyboard settings.

How to launch a CS2 practice server

The simplest method is to start the map through the game menu:

  1. Open the Practice or play-with-bots section.
  2. Choose the Competitive ruleset.
  3. Load the map you want to practice.
  4. Open the developer console.
  5. Enter exec practice and press Enter.

The config restarts the round once, after which the practice settings should be active.

You can also load an official map directly from the console:

map de_dust2
map de_inferno
map de_nuke
map de_ancient
map de_anubis
map de_train

The map command loads the specified map, but the active game mode can depend on your previous settings. For beginners, loading a local map through the menu first and then running exec practice is usually more reliable.

How to practice grenades in CS2

Four commands form the core of a useful grenade-practice setup.

Unlimited grenades

sv_infinite_ammo 1

Thrown grenades return to your inventory, and your weapon does not need to reload. This lets you repeat the same lineup without reopening the buy menu.

If you want unlimited reserve ammunition while keeping normal reloads, use:

sv_infinite_ammo 2

Grenade trajectory preview

sv_grenade_trajectory_prac_pipreview 1

This enables the practice picture-in-picture preview for a grenade's flight and result. It helps you see where the grenade hits a surface and where it detonates or blooms.

Set how long the trajectory trail remains visible with:

sv_grenade_trajectory_prac_trailtime 15

The value is measured in seconds.

Rethrow the last grenade

sv_rethrow_last_grenade

This repeats your most recent throw from the same position. Move to the landing area first, then use the command to check a smoke, flash, HE grenade, or Molotov from an opponent's point of view.

The full config binds the command to the second side mouse button:

bind "mouse5" "sv_rethrow_last_grenade"

Replace mouse5 with any convenient key if needed, for example:

bind "r" "sv_rethrow_last_grenade"

Fly around the map with noclip

noclip

Noclip disables collision and lets you move quickly around the map. The full config binds it to mouse4:

bind "mouse4" "noclip"

Noclip, grenade rethrow, and several other practice tools are protected commands. They require sv_cheats 1 and should be used on a local server.

How to add and control bots in CS2

The full CFG removes all bots when it loads:

bot_kick

You can then add only the bots you need.

Add a Counter-Terrorist bot:

bot_add_ct

Add a Terrorist bot:

bot_add_t

Remove all bots:

bot_kick

Move an existing bot to the point under your crosshair:

bot_place

The full config binds bot_place to N:

bind "n" "bot_place"

Before using bot_place: Add at least one bot with bot_add_ct or bot_add_t. If no bot exists on the map, there is nothing for the command to move.

How to freeze bots in CS2

bot_stop 1

Bots stop moving and performing their normal actions. To make them active again, use:

bot_stop 0

The full config uses two separate keys:

bind "j" "bot_stop 1"
bind "k" "bot_stop 0"

How to get unlimited money and buy anywhere

These commands control the practice-server economy:

mp_maxmoney 60000
mp_startmoney 60000
mp_afterroundmoney 60000

The first sets the money cap, the second sets your starting balance, and the third grants money after a round.

To keep the buy menu available for almost the entire round and use it outside the normal buy zone, add:

mp_buytime 9999
mp_buy_anywhere 1

After changing starting money, restart the round so the new value can be applied:

mp_restartgame 1

How to make rounds effectively endless

For bomb-defusal maps, use:

mp_roundtime_defuse 60

The value 60 means 60 minutes.

For hostage maps, use:

mp_roundtime_hostage 60

The full config also prevents standard win conditions from ending the round:

mp_ignore_round_win_conditions 1

Without that setting, a round can still end after the last player on one team dies or after the bomb is detonated or defused. Restore normal win conditions with:

mp_ignore_round_win_conditions 0

How to practice wallbangs and bullet impacts

sv_showimpacts 1

This displays bullet-impact markers. In Valve's convention, red represents the client-side result and blue represents the server-side result.

Control how long the markers remain visible with:

sv_showimpacts_time 10

Impact markers are useful for checking:

  • wallbangs through walls, doors, and boxes;
  • weapon spread;
  • spray transfers;
  • shots fired while moving;
  • differences between the crosshair position and the actual bullet path.

Disable impact markers with:

sv_showimpacts 0

A lightweight grenade-only CFG

If you do not need bots or bullet-impact markers, use this shorter version:

sv_cheats 1
mp_warmup_end
mp_freezetime 0
mp_roundtime 60
mp_roundtime_defuse 60
mp_ignore_round_win_conditions 1
mp_maxmoney 60000
mp_startmoney 60000
mp_buytime 9999
mp_buy_anywhere 1
sv_infinite_ammo 1
ammo_grenade_limit_total 5
sv_grenade_trajectory_prac_pipreview 1
sv_grenade_trajectory_prac_trailtime 15
bind "mouse4" "noclip"
bind "mouse5" "sv_rethrow_last_grenade"
mp_restartgame 1

Save the file as:

grenades.cfg

Then launch it with:

exec grenades

Useful extra CS2 practice commands

Restart the round

mp_restartgame 1

End warmup

mp_warmup_end

Freeze or restore simulation speed

host_timescale 0

Restore normal speed with:

host_timescale 1

Use with care: host_timescale changes the speed of the entire local-server simulation. If a value of 0 behaves inconsistently after an update, reconnect to the local map or restore the value to 1.

Give yourself a weapon

give weapon_ak47
give weapon_m4a1_silencer
give weapon_awp
give weapon_deagle

Give yourself grenades

give weapon_smokegrenade
give weapon_flashbang
give weapon_hegrenade
give weapon_molotov
give weapon_incgrenade

The give commands require sv_cheats 1.

Remove a bind from the CFG

For example, remove the action assigned to mouse5 with:

unbind mouse5

The button will no longer repeat the last grenade throw.

Why practice.cfg is not working

The console says: couldn't exec practice

CS2 cannot find the file. Check that:

  • practice.cfg is inside game/csgo/cfg;
  • the file was not saved as practice.cfg.txt;
  • the file name matches exec practice;
  • the CFG is not inside an extra nested folder.

Noclip does not work

Run:

sv_cheats 1

Also confirm that you launched a local map. Players cannot change protected server variables on official servers.

You do not receive $60,000

Run:

mp_restartgame 1

Starting money is normally applied when a new round begins.

The round still ends

Run the following command again:

mp_ignore_round_win_conditions 1

Also check whether another CFG was executed after practice.cfg and restored standard round settings.

bot_place does nothing

Add a bot first:

bot_add_ct

Then aim at the desired spot and use bot_place again.

How to restore normal CS2 settings

The simplest option is to leave the local server and start a normal match. Local practice-server variables do not carry over to official servers.

To disable the main practice settings without leaving the current session, run:

sv_cheats 0
sv_infinite_ammo 0
sv_grenade_trajectory_prac_pipreview 0
sv_showimpacts 0
mp_ignore_round_win_conditions 0
mp_buy_anywhere 0
mp_respawn_on_death_ct 0
mp_respawn_on_death_t 0
bot_stop 0

Afterward, reloading the map is the safest way to return to a clean session.

How to use a practice server effectively

Do not limit your session to mechanically repeating the same lineup. A more useful training loop looks like this:

  1. Throw the grenade with trajectory preview enabled.
  2. Use noclip to move to the detonation or bloom point.
  3. Run sv_rethrow_last_grenade.
  4. Check what an opponent would see from a key position.
  5. Place a bot there with bot_place.
  6. Repeat the throw while moving and from slightly different angles.
  7. Disable the trajectory preview and reproduce the lineup without assistance.

This process tells you more than whether a smoke reaches its target. It reveals possible gaps, how quickly the grenade becomes effective, and whether the lineup is practical in a real round.

Turn practice into better match understanding

Once you finish your individual session, look for the same utility, positioning, and timing ideas in professional matches. Winio combines team statistics, player form, and model-based predictions for upcoming CS2 fixtures, helping you connect what happens on the server with the data behind each matchup.

Loading events...

Other Articles on CS 2

m0NESY CS2 Settings and Config

m0NESY CS2 Settings and Config

This guide covers m0NESY’s current CS2 settings, including mouse, crosshair, viewmodel, video and radar options. It also lists the monitor and equipment he uses for competitive play.

Best CS2 Workshop Maps in 2026: Aim, Recoil and Grenades

Best CS2 Workshop Maps in 2026: Aim, Recoil and Grenades

The best CS2 Workshop maps for aim training, spray control, prefire, grenades, bhop and parkour. Includes Workshop ID and a ready-made warm-up routine.

How to kick bots CS2

How to kick bots CS2

This guide explains how to kick bots in CS2 and prevent them from spawning again. It also covers useful console commands, server settings and practical bot-control scenarios.

How to Defuse in CS2

How to Defuse in CS2

This guide explains how to defuse the bomb in CS2, including timing, mechanics and team coordination. It also covers advanced strategies and common mistakes that can cost you the round.

EWC 2026 CS2 Qualifier: Groups, Favorites and Upset Picks

EWC 2026 CS2 Qualifier: Groups, Favorites and Upset Picks

The EWC 2026 CS2 Last Chance Qualifier features 64 teams fighting for four spots. Explore the groups, favorites and potential upset candidates.

kyousuke CS2 Settings and Config

kyousuke CS2 Settings and Config

This guide covers kyousuke’s latest verified CS2 settings and configuration. It also explains how to apply them and distinguish current values from outdated setups.

How To Fly In CS2

How To Fly In CS2

This guide explains how to fly in CS2 using the noclip command. It also shows how free movement can help you explore maps, study positions and improve map awareness.