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 & pricesStart 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.
- Connect via SFTP and go to the demo directory.
- Download the
.demfiles you want. - 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 1belongs 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:
- The file is in the wrong place.
playdemosearches relative to the csgo directory of your local installation. If the file is in a subfolder, that folder belongs in the command. - 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_stoprecordis therefore more than tidiness. - 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
Rent your own CS2 server
Sub-tick optimized hardware, unlimited slots, Workshop maps, Metamod:Source & CounterStrikeSharp - prepaid, made in Germany.
View plans & pricesCS2 server hosting
from €5.99 / month
Prepaid without a contract, DDoS protection up to 250 Gbit/s, hosted in Frankfurt am Main.
View plans & pricesRead more
- CS2 server - overview
- Set up MatchZy
- RCON commands
- Executes server
- server.cfg explained
- All CS2 guides
Discover more