Old 10-02-2008, 13:41
34 Years Old
13,390 Posts
Steam Profile
mercury's Avatar
mercury mercury is offline
I've had a few questions about how Source TV works and how to set it up, so I thought I'd write a thread on how to use it.

Most information is pulled from here.

To start with, every instance of a source game has the ability to broadcast STV (I will call this LSTV). All it takes is:

tv_enable 1
tv_port 27020 // change to a port that isnt used and is open by the firewall - it needs to be different to the game port, +5 is what I use
tv_name "Source TV" // name of the 'player' that appears ingame
tv_title "ozfortress Source TV" // name that appears in server browser
tv_maxclients 16 // maximum clients allowed on the local STV
This will set up the basic enviroment for LSTV. You will need to changelevel if you do this via rcon (If you set it up via autoexec.cfg or other config files, it should work straight away). Once the new level is loaded, you have yourself a broadcasting LSTV on the port you specify.

There are more commands to change the behaviour of STV which will be described after the RSTV (Relay STV) section.


It isnt recommended to use a LSTV to broadcast to too many people, it'll lag the game. ozfortress has had lag-free success with around 40 spectators viewing locally, but that was pushing it.

To set up a RSTV, you will need to setup a LSTV on a port that will be accessable to the RSTV server (as above). You can set it up to not let anyone view the LSTV by using: (make sure you put this on the LSTV setup, not RSTV)
tv_relaypassword relaypasswordforrstv
Once the LSTV server is up, you bring up another gameserver instance on another machine or another port. Dont use the +map command in the startup line, use the +tv_relay, something like:
// assuming the LSTV server isnt on the same physical box
// access the broadcasting relay stv on
./srcds_run -game tf +ip +tv_port 27020 +tv_relaypassword relaypasswordforrstv +tv_relay
// LSTV and RSTV are on the same box
// access the broadcasting relay stv on (27020 wont accept spectators)
./srcds_run -game tf +ip +tv_port 27030 -port 27025 +tv_relaypassword relaypasswordforrstv +tv_relay
That should basically be it, you should have yourself a broadcasting RSTV or LSTV setup and working. Please note that this setup wont work for GameArena Gamecreate or rented boxes.

Recording STV demos
To autorecord demos: Unfortunately tv_autorecord doesnt behave properly and wont restart recording when you restart the game with mp_restartgame. I have reported the bug so hopefully something gets done about it.

To manually record demos: Easy!! just use tv_record <demoname> in the GAMESERVER using rcon. (You cant record demos from the relay server)
To stop recording: Issue tv_stoprecord in the GAMESERVER using rcon. Be careful to use tv_stoprecord! tv_stop will kick the STV.

Useful Extra configuration
  • tv_delay 30 // delays the broadcast by 30 seconds. ozfc requires 90 seconds. must be set on the LSTV
  • tv_delaymapchange 1 // should use this if theres a delay, otherwise spectators will miss the last 30-90 seconds of gameplay.
  • tv_maxrate 5000 // defaults to 5000, if your stv hogs too much bandwidth, lower this to 3500ish
  • tv_relayvoice 0 // dont really think specs need voice chat of the teams
  • tv_transmitall 1 // this command will set the STV up so that spectators can view ANYTHING. With it off, they will be forced to watch autodirector.
  • tv_chattimelimit 2 // defaults to 8, this command limits the lines per X seconds that spectators can type. Really annoying at 8 seconds. I find 2 is good.
  • tv_allow_camera_man 0 // when this is 1, a spectator in the game itself can become the director.
If you have any questions or need clarification on anything written here please feel free to ask!
Reply With Quote
Old 18-06-2012, 05:12
United Kingdom
12 Posts
Steam Profile
Agro's Avatar
Agro Agro is offline
necro-post but Google found this for me and is great for pointing people towards.
KritzKast Presenter the TF2 Podkast
Reply With Quote
Old 19-06-2012, 00:08
879 Posts
Steam Profile
wm's Avatar
-A-wm wm is offline
Thanks Agro!
Reply With Quote
Old 19-06-2012, 00:42
30 Years Old
4,509 Posts
Steam Profile
TomSawyer's Avatar
wpTomSawyer TomSawyer is offline aka Big_Dave
Retired League Admin
"Running over the same old ground.."
Reply With Quote
Thread Tools