Private customers Business customers

Record and review CS2 demosServer-side recording, download and playback

If you want to improve your game, there is no way around demos - and on your own server, you record them completely and without limits. This guide explains the difference between server-side and client-side recording, the commands you need, downloading via SFTP and playback.

tv_recordAutomatic with MatchZyDownload via SFTP

Published on · last updated on

Server-side or client-side?

Two fundamentally different ways with different results:

  • Server-side (GOTV demo): the server records the whole match from a neutral view. Afterwards, you can watch every player and jump freely through the round. That is the recording you want for team analysis.
  • Client-side (POV demo): a single player records their own view. Useful for finding your own mistakes, but without a view of your teammates.

For reviewing as a team, server-side recording is the right choice - and on your own server, it runs without restriction.

CS2 server hosting from €5.99 / month

Prepaid without a contract, DDoS protection up to 250 Gbit/⁠s.

View plans & prices

Start and stop recording

You issue the commands in the console or via RCON:

tv_record demo_name     // start recording
tv_stoprecord           // stop recording

The prerequisite is that GOTV is active at all - controlled via tv_enable 1. Without active GOTV, tv_record does nothing.

  • Use meaningful names, for example 2026-08-09_mirage_vs_teamx - with a growing collection, that saves a lot of time.
  • A running recording ends with a map change - so one file per map.
  • Do not forget tv_stoprecord, otherwise the recording keeps running until the next map change.

Record automatically with MatchZy

For match servers, this is the most convenient way: MatchZy starts the recording with the match and stops it automatically at the end - including meaningful file names made of team names and map.

That means no more forgotten recordings, and the demos are neatly sorted in the intended directory. For training evenings with many short rounds, it is still worth controlling the recording manually - otherwise dozens of files pile up quickly.

Download demos

The files sit as .dem in the server directory. You fetch them via WebFTP or SFTP - the same access you use to edit configs.

  1. Connect via SFTP and go to the demo directory.
  2. Download the .dem files you want.
  3. Then clean up on the server - demos get large quickly.

Keep in mind: there is no automatic clean-up routine and no automatic backups. What you want to keep, you download; what you no longer need, you delete yourself.

Play demos

To watch, put the file into the demo directory of your local CS2 installation and start it via the console:

playdemo demo_name

During playback, demoui helps: it opens the controls, lets you pause, fast-forward and rewind, and change the speed. You switch between players with the spectator controls.

For team analysis, it has proven useful to go to individual rounds specifically rather than watching the whole match - lost anti-ecos and failed executes in particular yield the greatest insights. What an execute should achieve is explained in set up an executes server.

Make sure before an important match

A recording that only turns out to be missing after the match is the most annoying kind of error - it cannot be made up for. Five minutes of preparation reliably prevent it:

  • tv_enable 1 belongs in a config, not just once in the console - otherwise the value is gone again after the next restart. On load order, see server.cfg explained.
  • Start a one-minute test recording, stop it and look for the file via SFTP. Then you know the directory instead of searching for it under time pressure.
  • Check free storage space and clear out old recordings beforehand.
  • With several maps, plan one file per map - a running recording ends with the map change.
  • Decide on the naming scheme in advance, so nobody improvises during the match.

If you play matches regularly, you are better off using MatchZy straight away and leaving start and stop to the plugin. The manual way remains for training evenings and everything that is not a regular match. How both fit together into a complete process is shown in tournament and LAN setup.

When a demo will not play

That happens too, and the cause can usually be pinned down to one detail:

  1. The file is in the wrong place. playdemo searches relative to the csgo directory of your local installation. If the file is in a subfolder, that folder belongs in the command.
  2. The recording was never stopped cleanly. If the server aborts in the middle, an incomplete file remains that plays only partly or not at all. A clean tv_stoprecord is therefore more than tidiness.
  3. A game update came between recording and playback. Older demos do not always play back cleanly after larger updates. Watch what you want to review soon rather than weeks later.

This leads to the practical rule: demos are a working tool for the next few days, not an archive. After the match, download what you want to discuss, look through it soon and clear away the rest. What is meant to stay permanently belongs on your own computer - on the server, there is neither a clean-up routine nor an automatic backup; backups are self-service throughout via WebFTP or SFTP.

Frequently asked questions

With tv_record and a file name; it is stopped with tv_stoprecord. The prerequisite is active GOTV via tv_enable 1 - without it, the command does nothing.

A GOTV demo is recorded server-side from a neutral view, and you can watch every player in it. A POV demo only records the view of a single player.

Only if you set it up. MatchZy starts and stops the recording automatically with the match. Without such a plugin, you control it yourself via tv_record and tv_stoprecord.

Via WebFTP or SFTP from the server directory. The .dem files get large quickly - there is no automatic clean-up routine, so you delete what you no longer need yourself.

Rent your own CS2 server

Sub-tick optimized hardware, unlimited slots, Workshop maps, Metamod:Source & CounterStrikeSharp - prepaid, made in Germany.

View plans & prices

CS2 server hosting

from €5.99 / month

Prepaid without a contract, DDoS protection up to 250 Gbit/⁠s, hosted in Frankfurt am Main.

View plans & prices

Go straight to checkout

Read more


Discover more