> ## Documentation Index
> Fetch the complete documentation index at: https://help.freakhosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Set Up a CS2 Practice, Retakes, Deathmatch or Demo Recording Server

> Turn your CS2 server into a practice server with grenade trails and infinite ammo, a retakes server, a deathmatch or 1v1 server, or record GOTV demos.

This guide gives you ready-to-use setups for the most popular kinds of Counter-Strike 2 server: practice, retakes, deathmatch and 1v1, and automatic GOTV demo recording.

> **Difficulty**
>
> Intermediate

> **Time**
>
> 10–20 minutes per setup

***

## Practice server

A practice server lets you learn smokes, flashes and molotovs with infinite money, ammo and time, and a preview of where your grenade lands.

**1. Create practice.cfg**

Click **Files**, go to `game/csgo/cfg/`, click **New file** and name it `practice.cfg`. Paste this in and save:

```cfg theme={null}
sv_cheats 1
bot_kick
mp_limitteams 0
mp_autoteambalance 0
mp_warmup_end
mp_freezetime 0
mp_roundtime 60
mp_roundtime_defuse 60
mp_buy_anywhere 1
mp_buytime 9999
mp_maxmoney 60000
mp_startmoney 60000
mp_respawn_on_death_ct 1
mp_respawn_on_death_t 1
sv_infinite_ammo 1
ammo_grenade_limit_total 5
sv_grenade_trajectory_prac_pipreview 1
sv_grenade_trajectory_prac_trailtime 8
sv_showimpacts 1
mp_restartgame 1
```

**2. Run it**

Type `exec practice` in the **Console**.

**3. Lock the server**

Set a **Join password** in **Server settings** so only your team can join.

### What the main lines do

| Line | Effect |
| - | - |
| `sv_cheats 1` | Allows cheat commands such as `noclip` and infinite ammo. Turn it off for normal play. |
| `sv_infinite_ammo 1` | Your weapon never runs out of ammo. |
| `mp_buy_anywhere 1` | Both teams can buy anywhere on the map. |
| `sv_grenade_trajectory_prac_pipreview 1` | Shows a small preview of where your grenade will land. |
| `sv_grenade_trajectory_prac_trailtime 8` | Shows the path of your thrown grenade for up to 8 seconds. |
| `sv_showimpacts 1` | Shows where your bullets hit. |

### Handy commands for players

With cheats on, players can type these in their own CS2 console:

* `noclip`: fly through walls. Bind it to a key with `bind n noclip`.
* `sv_rethrow_last_grenade`: throws your last grenade again.

To go back to normal, restart the server, or run a config with `sv_cheats 0`. For a full practice mode with saved lineups and spawn commands, use [MatchZy's practice mode](https://help.freakhosting.com/games/counter-strike-2/matchzy.md#practice-mode).

***

## Retakes server

In retakes, the terrorists start with the bomb already planted and the counter-terrorists must retake the site. The most popular way to run it is the [CS2 Retakes](https://github.com/B3none/cs2-retakes) plugin.

**1. Install CounterStrikeSharp**

Use the **Frameworks** page. See [frameworks and plugins](https://help.freakhosting.com/games/counter-strike-2/frameworks-and-plugins.md#install-a-framework).

**2. Download the plugin**

From the [releases page](https://github.com/B3none/cs2-retakes/releases/latest), download **RetakesPlugin-\[version].zip**. It includes ready-made spawns for the standard maps.

**3. Upload it**

Unzip it and upload its contents into `game/csgo/addons/counterstrikesharp/`.

**4. Set the bots to 0**

In **Server settings**, set **Bots** to **0**, then **Review and save**.

**5. Restart and configure**

Restart the server. The plugin creates its config in `game/csgo/addons/counterstrikesharp/configs/plugins/RetakesPlugin/`. There you can change, for example, **MaxPlayers** (default 9) and VIP queue priority.

> [!TIP]
>
> The plugin has a basic weapon allocation built in. For a better buy menu, the plugin's author recommends adding one separate allocator plugin, such as [Yoni's Allocator](https://github.com/yonilerner/cs2-retakes-allocator). Set **EnableFallbackAllocation** to `false` in the retakes config if you do.

**Server settings** also has a **Retakes** tile for CS2's own Retakes mode.

***

## Deathmatch and 1v1 servers

### Team deathmatch

In **Server settings**, click the **Deathmatch** tile, then **Review and save** and restart. Players respawn straight away and earn points for kills.

### Free-for-all deathmatch

Use the **Deathmatch** tile, then add these lines to `server.cfg` (click **Open server.cfg**):

```cfg theme={null}
mp_teammates_are_enemies 1
mp_randomspawn 1
```

Now every player is an enemy and players spawn in random places.

### 1v1 and 2v2

Click the **Wingman** tile for 2v2 (or 1v1) matches on the small Wingman maps. Set **Bots** to **0** so bots don't fill empty places.

> [!NOTE]
>
> Deathmatch uses more CPU than casual modes, especially with many players or bots. See [performance](https://help.freakhosting.com/games/counter-strike-2/performance.md).

***

## Record GOTV demos automatically

GOTV records every match as a demo file you can watch in CS2 later.

**1. Turn on GOTV recording**

Click **Open server.cfg** in **Server settings** and add:

```cfg theme={null}
tv_enable 1
tv_autorecord 1
```

**2. Restart**

Save the file and restart the server. GOTV starts with the next map.

**3. Play a match**

A demo is recorded for each game.

**4. Download the demo**

Click **Files** and open `game/csgo/`. Demos end in `.dem`. Click **...** next to a demo and choose **Download**.

To start and stop a recording yourself, type `tv_record mydemo` and `tv_stoprecord` in the console. GOTV must be on.

> [!WARNING]
>
> Demos can be large, often more than 100 MB each. Download the ones you want to keep and delete old ones, so your disk doesn't fill up. A full disk can stop your server from saving or starting.

### Watch a demo

Put the `.dem` file in your own CS2 folder at `game/csgo/` on your computer, then type `playdemo mydemo` in the CS2 console.

### Watching GOTV live

Live GOTV spectating needs its own port on your server. [Open a ticket](https://freakhosting.com/clientarea/submitticket.php) and ask for an extra port. Recording demos works without one.

> [!TIP]
>
> Running matches? [MatchZy](https://help.freakhosting.com/games/counter-strike-2/matchzy.md#demos) starts and stops demo recording for you and names each demo after the match.

***

## Related articles

> **[MatchZy](https://help.freakhosting.com/games/counter-strike-2/matchzy.md)**
>
> Scrims, practice mode and demos.

> **[Admin and commands](https://help.freakhosting.com/games/counter-strike-2/admin-and-commands.md)**
>
> Console commands and config files.

> **[Frameworks and plugins](https://help.freakhosting.com/games/counter-strike-2/frameworks-and-plugins.md)**
>
> Install CounterStrikeSharp and plugins.

> **[Server configuration](https://help.freakhosting.com/games/counter-strike-2/server-configuration.md)**
>
> Game modes and rules.

***

> [!NOTE]
>
> ### Need Extra Help?
>
> If you encounter any issues, our support team is ready to assist:
>
> * **Live Chat:** Quick assistance via our website.
> * **Support Ticket:** [Open a Ticket](https://freakhosting.com/clientarea/submitticket.php)
> * **Discord:** [Join our Community](https://discord.gg/freakhosting)
> * **Email:** [support@freakhosting.com](mailto:support@freakhosting.com)

> [!TIP]
>
> ### Save on Your Hosting
>
> Ready to upgrade your hosting? Use code **KB20** at checkout for **20% off** your first order!

***

**Last Updated:** October 2026


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.