Skip to content

How to enable GOTV for CS:GO

Valve provides its own system for recording and watching CS:GO games. Turning on GOTV on your server basically adds a Camera as a spectator. This Camera can then record and allow other people to spectate what the Camera is looking at. By following the steps below, you can use this system to record your matches and open up your server for spectators to join.

How to Enable GOTV

  1. Go to the AleForge Panel
  2. Head to the File Manager
  3. Go to /csgo/cfg and create or edit a file called server.cfg
  4. On a new line add tv_enable 1
  5. Restart the server

How to Setup Recording

  1. Go to /csgo/cfg and edit your server.cfg
  2. Add cvar tv_autorecord 1 to a newline

A recording of each match on each map will now be recorded and stored in your /csgo directory.

To set up manual recording, you will have to:

  1. Start the server and the match you want to record
  2. Type tv_record <filename> into your server console where <filename> can be any name you choose. This will begin recording the server.
  3. When you are finished recording type tv_stoprecord into the server console.
  4. The recording will then be placed in your /csgo directory with the name <filename>.dem

How to Spectate and Use the Camera

  1. Go to /csgo/cfg and edit your server.cfg
  2. Add cvar tv_advertise_watchable 1 to a new line
  3. Go into the Developer Console for CS:GO and type connect <ip address>:<port> For the IP address and port, you can enter your servers IP address. e.g. va1.aleforge.net:12345

You will now be connected to the Camera that is watching the server.

Controlling the Camera

Normally the Camera will follow wherever the auto-director decides to look. However, this can be changed.

  1. To control the Camera press the Use button which is by default set to E.
  2. You can now control where the Camera is looking
  3. The user control the camera can choose any spectator mode (First Person, Free-Roaming, etc), switch to any player or move around freely.

Cvars to customize your GOTV

Above we give you the most basic steps on setting up your server to work with GOTV. However, there are many other settings you can use to customize your Camera Spectator and your recordings. Here are some available cvar settings we found that could be important for you.

Cvar NameDescription
tv_enableActivates GOTV on the local game server, GOTV bot will appear as
spectator client after next change level.
tv_stopStops broadcasting the game via GOTV.
tv_name Sets GOTV name as it appears in server browser and scoreboard.
tv_title Sets a GOTV broadcast title shown in the spectator GUI.
tv_advertise_watchableGOTV advertises the match as watchable via game UI,
clients watching via UI will not need to type the password. Game servers with
GOTV enabled and GOTV relays that need to support external clients connecting
on GOTV port must set this to 1.
tv_port Set the SourceTV host port (default 27020). Must be set as start parameter.
tv_password Sets required passwords for connecting spectators.
tv_statusShows GOTV specific information.
tv_debugShows additional debugging messages.
tv_autorecordAutomatically records every game, demo file name format is
auto-YYYYMMDD-hhmm-map.dem
tv_recordStarts a GOTV demo recording that records all entities & events.
tv_stoprecordStops GOTV demo recording.
tv_snapshotrate Sets world snapshots broadcasted per second by GOTV. This
affects the tick rate of the Camera.
tv_transmitall <01>
director view are removed from GOTV broadcasts to save bandwidth. If
tv_transmitall is enabled, the whole game is transmitted and spectators can
switch their view to any player they want. This option increases bandwidth
requirement per spectator client by factor 2 to 3.
tv_maxrate Sets the maximum bandwidth spent per client in
bytes/second (default 5000)
tv_delay GOTV broadcast delay in seconds.
tv_delaymapchange <01>
of buffered game has been broadcasted
tv_allow_camera_man <01>
become SourceTV cameramen.
tv_allow_camera_man_steamid Allows tournament production
cameraman with the submitted Steam ID to run CS:GO with the Startup Argument
-interactivecaster and become the cameraman.
tv_allow_static_shots <01>
shots.
tv_relayradio <01>
tv_relaytextchat <01
tv_relayvoice <01>
tv_maxclients <0..255>Sets maximum client number for local SourceTV
server/proxy (default 128)
tv_clientsShows a list of all spectator clients connected to the local GOTV
server
tv_msg Send a HUD message to all connected GOTV spectator clients
tv_chatgroupsize Set chat group size to n spectators. Only spectators in
the same chat group can speak to each other. Chat groups are turned off with
”tv_chatgroupsize 0” and everybody can speak to everybody. Setting chat groups
helps reducing chatter noise and saves some bandwidth.
tv_chattimelimit Limits spectators to chat only every n seconds