CS2 SourceTV: the tv_ commands, the defaults, the relay and recording options, and what the current build lists

A forum for players to discuss different multiplayer servers, share server IPs, and organize games.
Post Reply
ice
Site Admin
Posts: 169
Joined: Tue Aug 27, 2024 5:17 am

CS2 SourceTV: the tv_ commands, the defaults, the relay and recording options, and what the current build lists

Post by ice »

Quick summary
SourceTV is the broadcaster inside a Counter-Strike 2 dedicated server. It can relay a live match to spectators, record the match as a demo, or hand the stream to a separate broadcast relay. Every option sits in the tv_ command family. Valve's own cvar list is a snapshot from October 2023, so this post pairs it with the convar dump from the current build and calls out where the two differ.

What SourceTV does
A server with SourceTV enabled runs a second observer alongside the match. Players connect to that observer, or the stream is pushed to a relay that other people connect to instead. The relay path is what lets a tournament run the game on one box and the spectator load on another.

The commands below are server-side. You set them in the server console or in the server config, not in the client console.

Turning it on and naming it
  • Code: Select all

    tv_enable 1
    activates SourceTV. The default is false, and the entry carries the nf and release flags in Valve's list.
  • Code: Select all

    tv_enable1 1
    activates a second SourceTV instance, which is the one Valve's relay and port settings refer to when they carry a 1 suffix.
  • Code: Select all

    tv_name "My Server TV"
    sets the host name. The default is the literal string SourceTV.
  • Code: Select all

    tv_password "something"
    sets the password every spectator needs. The default is 0. The same command with a 1 suffix covers the second instance; if that one is empty, tv_password is used.
  • Code: Select all

    tv_advertise_watchable 1
    makes the match show up as watchable in the game UI, so people watching through the UI do not have to type the password. Default false.
Delay, bandwidth and the port
  • Code: Select all

    tv_delay 105
    is the broadcast delay in seconds, and 105 is the default. Lower it for a scrim where the delay matters, raise it for a match you want hard to snipe.
  • Code: Select all

    tv_delaymapchange 1
    holds the map change until the broadcast finishes. Default true.
  • Code: Select all

    tv_maxrate 0
    caps spectator bandwidth per client, and 0 means unlimited. This is the knob to touch when spectators report stutter on a slow uplink.
  • Code: Select all

    tv_maxclients 128
    caps the number of connected spectators. Default 128.
  • Code: Select all

    tv_port 27020
    is the port for the first instance and

    Code: Select all

    tv_port1 27021
    is the second. These are the ports to forward when nobody can connect.
  • Code: Select all

    tv_timeout 20
    is the connection timeout in seconds.
  • Code: Select all

    tv_dispatchmode 1
    decides whether spectators are sent to relay proxies. Valve's entry reads 0=never, 1=if appropriate, 2=always, and the default is 1.
Relays, voice and chat
  • Code: Select all

    tv_relaypassword "something"
    is the password relay proxies use. Default 0.
  • Code: Select all

    tv_relayvoice 1
    relays voice data. Valve's default is true. The current build dump words it as a 0=off, 1=on switch.
  • Code: Select all

    tv_relayradio 1
    relays team radio commands to the broadcast. Default false.
  • Code: Select all

    tv_relaytextchat 2
    relays text chat to GOTV, and the build dump gives it three states: 0=off, 1=say, 2=say+say_team.
  • Code: Select all

    tv_relay
    ,

    Code: Select all

    tv_retry
    and

    Code: Select all

    tv_autoretry 1
    cover connecting to a relay and retrying after a network timeout. tv_autoretry defaults to true.
Recording and status
  • Code: Select all

    tv_autorecord 1
    records every game as a SourceTV demo automatically. Default false.
  • Code: Select all

    tv_record
    starts a recording on demand and

    Code: Select all

    tv_stoprecord
    ends it.
  • Code: Select all

    tv_status
    prints server status,

    Code: Select all

    tv_clients
    lists the connected spectators and

    Code: Select all

    tv_debug 1
    turns on debug output.
  • Code: Select all

    tv_allow_camera_man_steamid 7650123456XXX
    lets a production cameraman run the interactive caster client on a given SteamID. Valve's entry shows the placeholder form of the ID.
  • Code: Select all

    tv_broadcast 1
    pushes the match out through Steam, with

    Code: Select all

    tv_broadcast_url
    pointing at the broadcast relay. Both default to off and localhost:8080 respectively.
Where the two sources disagree
Valve's page is dated. It carries the note "Retrieved October 2, 2023 Build: 9832 (revision 8384867)" and warns that the list was assembled from incremental Cvarlist runs, so commands starting with special characters would be missing. The build dump names its own build: 11162119, October 22 2026, with 1,246 console commands and 4,337 convars, of which 1,457 are cheat-flagged.

Two checkable differences:
  • tv_relaytextchat is in the current dump but not in Valve's October 2023 list. Treat the three-state reading as the current one.
  • tv_snapshotrate has no entry in the current dump at all. Grepping the saved page returns zero occurrences, so there is nothing to set there and no default to quote.
Troubleshooting
  • Nobody can connect. Check tv_enable is 1, then check that port 27020 is open on the host firewall. The default port is easy to forget because it is not 27015.
  • Spectators see a stale or delayed picture. tv_delay is 105 seconds by default. Lower it deliberately and expect the anti-sniping tradeoff.
  • The stream stutters on a slow uplink. Raise tv_maxrate rather than lowering it, and confirm tv_maxclients is not already at 128.
  • Relay clients never arrive. tv_dispatchmode 1 only dispatches when appropriate. Set 2 to force it, and confirm tv_relaypassword matches on both ends.
  • Recordings never appear. tv_autorecord is false by default, so a server that was never configured records nothing.
FAQ
Is SourceTV the same as GOTV?
They are the same feature. Valve's descriptions use both names, and tv_advertise_watchable is described as making the match watchable via the game UI, which is the GOTV path.

Do I need a second server?
No. SourceTV runs inside the game server. A second box is only useful as a relay when the spectator load would otherwise eat the game server's bandwidth, and that is what tv_dispatchmode and the relay commands are for.

Can I run two broadcasts?
Yes. The 1-suffixed commands cover a second instance, with its own port at 27021 and its own enable flag.

Will spectators hear team voice chat?
Only if tv_relayvoice is on. It defaults to true, and the build dump describes it as a 0=off, 1=on switch.

What happens to a demo I record?
tv_record starts a SourceTV demo and tv_stoprecord ends it. The wiki does not state where the file lands on the server, so check your server's demo directory rather than assuming a path.

Sources
Valve Developer Community: List of Counter-Strike 2 console commands and variables (snapshot, October 2 2023, build 9832)
s2v.app: Counter-Strike 2 Console Commands and ConVars, full list (build 11162119, October 22 2026)
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests