<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wolfwiki.anime.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DA%2ARogue</id>
	<title>WolfWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wolfwiki.anime.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DA%2ARogue"/>
	<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php/Special:Contributions/DA*Rogue"/>
	<updated>2026-11-08T13:00:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETTV:Viewer%27s_Guide&amp;diff=2473</id>
		<title>ETTV:Viewer&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETTV:Viewer%27s_Guide&amp;diff=2473"/>
		<updated>2006-08-14T12:44:20Z</updated>

		<summary type="html">&lt;p&gt;DA*Rogue: /* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ETTV Viewer&#039;s Guide ==&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
ETTV is a modification that allows anybody to spectate Enemy Territory matches without actually being on the server the teams are playing on. The purpose is so that you have have thousands of people all able to watch an exciting match live, without being able to interfere or otherwise cause problems with the match.&lt;br /&gt;
&lt;br /&gt;
The ETTV modification is supplied within the ETPro modification, you do not need any further modification unless you intend to run an [[ETTV:Server_Configuration|ETTV Server]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Watching ETTV ===&lt;br /&gt;
Simply connect to an ETTV server like any other Enemy Territory server. Once you are connected it will look and feel very much like you are in spectator mode on any normal server.&lt;br /&gt;
&lt;br /&gt;
There are some issues which occur frequently enough to make it worth noting here, however. &lt;br /&gt;
&lt;br /&gt;
* ETTV servers frequently do not allow clients (that&#039;s you/your game) to auto-download any missing files. You should try to ensure you &#039;&#039;&#039;have the correct patch, modification and custom map versions before you join&#039;&#039;&#039;. This is usually, but not necessarily the latest official version. If you do not have the correct versions you may be unable to join, or disconnected at some point during viewing.&lt;br /&gt;
&lt;br /&gt;
*  &#039;&#039;&#039;Do not be concerned about interfering with the match&#039;&#039;&#039;, you cant. The ETTV server you join is essentially playing a live demo of the match which is actually being played on another server. You can spectate freely and talk crap with the other viewers on the same ETTV server, thats it. Chat from ETTV viewers is distinguished from chat in the match by the red &amp;quot;ETTV&amp;quot; preceding it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Connecting via IP address&#039;&#039;&#039; (command-line or console) is identical to any other Enemy Territory server. If you&#039;ve been given the IP address of an ETTV server and are wondering what to do with it, open the console (usually by pressing the key under ESCape, often the ~ or ` key) and use the following command (including the forwardslash) -  &amp;lt;tt&amp;gt;/connect ip.add.ress:port&amp;lt;/tt&amp;gt;&lt;br /&gt;
:(for example: &amp;lt;tt&amp;gt;/connect 62.75.178.112:27962&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional Controls ===&lt;br /&gt;
* cycle between everybody on the server (who shows up on the scoresheet)&lt;br /&gt;
:fire &amp;lt;tt&amp;gt;&amp;lt;Left Mouse button&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* cycle following only objective carriers&lt;br /&gt;
:Prone + (fire / altweapon) &amp;lt;tt&amp;gt;&amp;lt;X + LeftMouse&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* cycle following only spectators / shoutcasters&lt;br /&gt;
:Zoom + (fire / altweapon) &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;B + LeftMouse&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Jump directly to following a player in view&lt;br /&gt;
: Press activate while pointing crosshair at player&lt;br /&gt;
* return to free floating mode.&lt;br /&gt;
: Press jump or activate &amp;lt;tt&amp;gt;&amp;lt;Spacebar&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generally Useful Tips ===&lt;br /&gt;
*  Chats from other ETTV spectators can be hidden with the console command &amp;lt;tt&amp;gt;/tvchat off&amp;lt;/tt&amp;gt;, and re-enabled with &amp;lt;tt&amp;gt;/tvchat on&amp;lt;/tt&amp;gt;. All chat done on ETTV won&#039;t be seen on the game server (luckily). If certain chatters start to irritate you, you can easily ignore specific people with the &amp;lt;tt&amp;gt;/ignore&amp;lt;/tt&amp;gt; command and can use the &amp;lt;tt&amp;gt;/unignore&amp;lt;/tt&amp;gt; command to show their chat messages again.&lt;br /&gt;
&lt;br /&gt;
*  To spectate a specific player through their eyes, open console and put in the command &amp;lt;tt&amp;gt;/players&amp;lt;/tt&amp;gt;, and notice the player number. Now just &amp;lt;tt&amp;gt;/follow x&amp;lt;/tt&amp;gt;. If you&#039;re new to Enemy Territory, you might find it most entertaining to follow a shoutcaster, if there is one.&lt;br /&gt;
&lt;br /&gt;
*  Viewing ETTV in a window can be convenient while you find other IP&#039;s, talk in IRC, or access WinAmp, for example. To do this, you can go to the options screen and set a resolution which is smaller than your desktop screen resolution, and then select windowed mode.  Alternatively, enter &amp;lt;tt&amp;gt;/r_mode 3&amp;lt;/tt&amp;gt; into console, and then hit ALT+Enter. &lt;br /&gt;
&lt;br /&gt;
* Normal cvar restrictions dont apply when viewing demos, nor do they (usually) when viewing ETTV. This is OK because you&#039;re not playing against anyone. Several leagues remove the foliage (all the grassy stuff) on Radar because it hurts performance and, some say, isnt good for competitive gaming. As an ETTV viewer you can remove it via console: &amp;lt;tt&amp;gt;/r_drawfoliage 0&amp;lt;/tt&amp;gt;. To further incrase performance you can remove wolffog (an effect which &amp;quot;adds&amp;quot; fog to the map, sometimes restricting the viewing distance [e.g. Railgun]) by setting &amp;lt;tt&amp;gt;r_wolffog 0&amp;lt;/tt&amp;gt;. You might want to ensure that is reset to 1 before you join a normal gameserver however.&lt;br /&gt;
&lt;br /&gt;
* ETTV is generally not live; normally a few minute long delay is added so competing teams cannot have another member watching and sending participants advantagous information.&lt;br /&gt;
&lt;br /&gt;
== Shoutcasts ==&lt;br /&gt;
A [http://en.wikipedia.org/wiki/Shoutcast shoutcast] is essentially a match commentary, broadcast over something akin to internet radio. The shoutcaster is usually someone heavily involved with the ET community and listening to the shoutcast greatly enhances the entertainment value of ETTV.&lt;br /&gt;
&lt;br /&gt;
A shoutcast is completely seperate from ETTV however, to listen to a shoutcast you will need to open the URL with a suitable program - [http://winamp.com/ WinAmp] being one of many such programs. The shoutcast URL is often available at the same place you found the ETTV details for the match you want to watch.&lt;br /&gt;
&lt;br /&gt;
Like ETTV, shoutcasts are usually not totally live - normally a few minutes delay is added so competing teams cannot have another member watching or listening in and sending participants advantagous information. Typically ETTV has a longer delay than the shoutcast does, so the result is ETTV and shoutcast are out of sync.&lt;br /&gt;
&lt;br /&gt;
Fortunately it isnt the other way around, because you can pause WinAmp to syncronise the two. Simply listen for some event in the shoutcast (often shoutcaster will read out the time on the clock for this purpose, or you can listen for event&#039;s like &#039;FIGHT!&#039; or &#039;dynamite planted&#039;) and immediately hit pause. When the event occurs in ETTV, hit play again. This can be easier if you view ETTV in windowed mode, also if you make a mistake and pause WinAmp for too long, reconnect to the shoutcast URL.&lt;br /&gt;
&lt;br /&gt;
== Replaying ETTV demos on a local Windows server ==&lt;br /&gt;
&lt;br /&gt;
If you have ETTV Demo files (*.tv84), you can watch them locally on your windows machine. in order to do so, you will need a ETTV-Server. Download the latest version (currently: http://returntocastlewolfenstein.filefront.com/file/ETTV;52030) and proceed with the following steps:&lt;br /&gt;
&lt;br /&gt;
* Extract all files except &amp;lt;i&amp;gt;tvgame.mp.i386.so&amp;lt;/i&amp;gt; into your &amp;quot;Wolfenstein - Enemy Territory&amp;quot; root directory (&amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; etmain). &lt;br /&gt;
* The &amp;lt;i&amp;gt;tvgame.mp.i386.so&amp;lt;/i&amp;gt; file goes into the etpro directory.&lt;br /&gt;
* Put the *.tv_84 files in your &amp;lt;i&amp;gt;etpro\demos&amp;lt;/i&amp;gt; directory  &lt;br /&gt;
* Create a shortcut to ETTV.exe (Right click in explorer windows, &amp;quot;new...&amp;quot; -&amp;gt; &amp;quot;Shortcut&amp;quot;). &lt;br /&gt;
* Change the program call in the shortcut (Right click, &amp;quot;Properties&amp;quot;) to: &#039;&amp;lt;i&amp;gt;&amp;quot;path&amp;lt;/i&amp;gt;\ettv.exe&amp;quot; +set fs_game etpro +set ettv_autoplay 1 +demo demo0000&#039;&lt;br /&gt;
&lt;br /&gt;
When you double click on the shortcut, ETTV should come up displaying a console and starting the playback. Note that the demo files are required to be named like &amp;lt;i&amp;gt;demo0000.tv_84, demo0001.tv_84, etc.&amp;lt;/i&amp;gt; in order to work like this. The server will autoplay all demos in successive order. You can now start your ET and connect to your local server (choose &amp;quot;Internet Play&amp;quot;, then &amp;quot;connect to IP&amp;quot; &amp;lt;i&amp;gt;127.0.0.1&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Known Issues ====&lt;br /&gt;
&lt;br /&gt;
You have to install the complete etpro package for servers - the pk3 file that clients have is not enough.&lt;br /&gt;
&lt;br /&gt;
I have discovered client error &amp;quot;MAX_GAMESTATE_CHARS&amp;quot; on several demos: The ETTV seems to run fine but local clients get kicked for that reason. I have not yet found why this happens, nor a solution. Any hints on that would be helpful.&lt;br /&gt;
&lt;br /&gt;
This short How-To was written on request for gamestv.org, they are hereby permitted to use this text on their own site.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.gamestv.org/ GamesTV.org] is an ETTV listings site.&lt;br /&gt;
* [http://www.radioitg.com/schedule.php Radio iTG&#039;s schedule] is a source of shoutcasts.&lt;br /&gt;
* [http://www.gamestah.com/ Gamestah] is a source of Australian shoutcasts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ETTV]]&lt;/div&gt;</summary>
		<author><name>DA*Rogue</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETTV:Server_Configuration&amp;diff=1936</id>
		<title>ETTV:Server Configuration</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETTV:Server_Configuration&amp;diff=1936"/>
		<updated>2005-11-29T09:11:13Z</updated>

		<summary type="html">&lt;p&gt;DA*Rogue: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dot_graph&amp;gt;&lt;br /&gt;
digraph ettv {&lt;br /&gt;
master -&amp;gt; slave1&lt;br /&gt;
master -&amp;gt; slave2&lt;br /&gt;
slave1 -&amp;gt; &amp;quot;client1..&amp;quot;&lt;br /&gt;
slave1 -&amp;gt; &amp;quot;..client50&amp;quot;&lt;br /&gt;
slave2 -&amp;gt; &amp;quot;client51..&amp;quot;&lt;br /&gt;
slave2 -&amp;gt; &amp;quot;..client100&amp;quot;&lt;br /&gt;
slave1 -&amp;gt; &amp;quot;chained_slave1&amp;quot;&lt;br /&gt;
chained_slave1 -&amp;gt; &amp;quot;client101&amp;quot;&lt;br /&gt;
chained_slave1 -&amp;gt; &amp;quot;...client150&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dot_graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation - &amp;quot;Master&amp;quot; (gameserver)==&lt;br /&gt;
&lt;br /&gt;
Copy ettv.x86 to the same directory your etded.x86 is located.&lt;br /&gt;
Start your gameserver as normal, but run ettv.x86 instead of etded.x86.&lt;br /&gt;
&lt;br /&gt;
===Set some cvars===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_sv_maxslaves&#039;&#039;&#039; (default 0, no slave connections allowed)&lt;br /&gt;
:Number of ettv slaves allowed to connect.&lt;br /&gt;
:&#039;&#039;Note:&#039;&#039; Slave slots are always reserved, like private slots.&lt;br /&gt;
&#039;&#039;&#039;ettv_password&#039;&#039;&#039; (default &amp;quot;&amp;quot;, no slave connections allowed) &lt;br /&gt;
:Password for ettv slaves.&lt;br /&gt;
:Must be set, or no slaves will be able to connect!&lt;br /&gt;
&#039;&#039;&#039;b_ettv_flags&#039;&#039;&#039; (default 1)&lt;br /&gt;
:1 = prevent slaves from being callvote kicked&lt;br /&gt;
:2 = grant shoutcaster status to slaves&lt;br /&gt;
:values can be added together, eg 3 for both features.&lt;br /&gt;
&lt;br /&gt;
===Playing on the master===&lt;br /&gt;
Players may now connect to your gameserver as normal.&lt;br /&gt;
&lt;br /&gt;
==Installation - &amp;quot;Slave&amp;quot; (broadcast server)==&lt;br /&gt;
&lt;br /&gt;
Copy ettv.x86 to the same directory your etded.x86 is located.&lt;br /&gt;
Copy tvgame.mp.i386.so to the same directory as your etpro/qagame.mp.i386.so is located.&lt;br /&gt;
&lt;br /&gt;
===Set some cvars===&lt;br /&gt;
&#039;&#039;&#039;sv_maxclients&#039;&#039;&#039;&lt;br /&gt;
:Number of spectator clients to allow. This number is only limited by available cpu and memory.&lt;br /&gt;
:Some guidelines when provisioning a broadcast server:&lt;br /&gt;
:*100 spectator slots will require ~ 128mb ram. Use com_hunkmegs to set this.&lt;br /&gt;
:*100 spectator slots will require ~ 768kbyte/sec (6mbits), roughly 6kbyte/sec per client&lt;br /&gt;
:*100 spectator slots will take ~ 80% cpu of a Xeon 2.2ghz&lt;br /&gt;
:*Each slave will require ~20-40kbyte/sec from the master.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_clientname&#039;&#039;&#039; (default &amp;quot;ETTV&amp;quot;)&lt;br /&gt;
:Playername the slave will use when connecting to the master, eg &amp;quot;ETTV-xyz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_delay&#039;&#039;&#039; (default 0, disabled)&lt;br /&gt;
:number of seconds for slave to delay the master feed. Recording/playback chains should no longer be needed, and slaves should always maintain an exact delay from the master server. &lt;br /&gt;
:&#039;&#039;note&#039;&#039;: this should ONLY be set on the slave.&lt;br /&gt;
:&#039;&#039;note&#039;&#039;: only supported in ettv beta8 and later&lt;br /&gt;
&lt;br /&gt;
===Chat passwords===&lt;br /&gt;
In order to curb the rampant abuse of ettv chat, admins may set &amp;quot;chat passwords&amp;quot; on their servers. If enabled, viewers are not allowed to chat unless they have a password. You can define as many passwords as you like, so you can easily track down individual abusers and limit the damage of stolen passwords.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_chatpasswords&#039;&#039;&#039; (default 0, disabled)&lt;br /&gt;
:number of chat passwords defined.&lt;br /&gt;
&#039;&#039;&#039;ettv_chatpassword&#039;&#039;&#039;(1-99999)&lt;br /&gt;
:individual chat passwords.&lt;br /&gt;
&lt;br /&gt;
viewers use &amp;lt;tt&amp;gt;/chatpassword &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;password&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/tt&amp;gt; to login.&lt;br /&gt;
&lt;br /&gt;
if logged in, ettv chats will be tagged with a number in parentheses identifying which chat password the viewer is using. &lt;br /&gt;
===Misc commands for viewers===&lt;br /&gt;
;For ettv beta 4 and above&lt;br /&gt;
* spectators may &amp;lt;tt&amp;gt;/ignore&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/unignore&amp;lt;/tt&amp;gt; other spectators&lt;br /&gt;
* &amp;lt;i&amp;gt;semiadmin&amp;lt;/i&amp;gt; functionality now works for slaves&lt;br /&gt;
* rcon may now mute/unmute specs &lt;br /&gt;
&lt;br /&gt;
===Connect the slave===&lt;br /&gt;
Now start your slave server by running ettv.x86&lt;br /&gt;
&lt;br /&gt;
Tell the slave server to connect up to the master server:&lt;br /&gt;
:&amp;lt;tt&amp;gt;tv connect master.ip.address:port &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;ettv_password&amp;lt;/b&amp;gt;(required)&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;g_password&amp;lt;/b&amp;gt;(if the master has a g_password set)&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have configured everything correctly, the slave should connect to the master.&lt;br /&gt;
Clients should now be able to connect to the slave and spectate the game in progress.&lt;br /&gt;
&lt;br /&gt;
This is a &amp;quot;live broadcast&amp;quot; with no delay.&lt;br /&gt;
&lt;br /&gt;
===Disconnect the slave===&lt;br /&gt;
To tell the slave to disconnect from the master:&lt;br /&gt;
:&amp;lt;tt&amp;gt;tv disconnect&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Slave Chaining===&lt;br /&gt;
&lt;br /&gt;
==== What is chaining and why chain slaves? ====&lt;br /&gt;
&lt;br /&gt;
ETTV allows chaining slaves together. This very neat feature lets you connect one ETTV slave to another ETTV slave that is broadcasting a match instead of directly to the game server hosting the match. Apart from the &amp;quot;w00t this is very cool&amp;quot; factor, why is this feature so important for admins? Basicly, working in a chained model allows to broadcast a match to a large number of spectators without too much hastle and too many risks for the master server.&lt;br /&gt;
&lt;br /&gt;
Chaining was developped for a simple reason: if you take into account that one ETTV slave connects at an &#039;&#039;&#039;unlimited&#039;&#039;&#039; rate to a master, you really don&#039;t want to connect 15 or 20 slaves to a game server to broadcast let&#039;s say the &#039;&#039;Atlantic Battle&#039;&#039;. Chances are you will bring down the master game server and thus the game. Chaining slaves firmly alleviates the load on the master game server. 2 or 4 of these &#039;&#039;Hubs&#039;&#039; can do the job of delaying the signal and feeding it to other slaves.&lt;br /&gt;
&lt;br /&gt;
Other benefits might include better network performance. If you can choose to either connect your slave to the game server where your connection is not optimal or to a nearby slave who is on a better connection to the master, it might help the quality of your broadcast. Plus you don&#039;t need to record anything when connecting to a delayed slave.&lt;br /&gt;
&lt;br /&gt;
==== Setting up your slave to allow connections from other slaves ====&lt;br /&gt;
&lt;br /&gt;
This part is actually pretty easy. You need to set up your slave as if you were setting up a master game server. This means that, next to the normal slave parameters, you have to set up the following:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;b_ettv_flags&#039;&#039;&#039;: set this to at least 1&lt;br /&gt;
* &#039;&#039;&#039;ettv_sv_maxslaves&#039;&#039;&#039;: set this to at least 1. Depending on how powerful your machine is you can set this number higher. Don&#039;t set it too high though, a slave still connects at an unlimited rate&lt;br /&gt;
* &#039;&#039;&#039;ettv_password&#039;&#039;&#039;: set to something else than &amp;quot;&amp;quot;. This password is needed by the slaves connecting to your slave (together with g_password of course)&lt;br /&gt;
&lt;br /&gt;
Other settings such as ettv_netblast, ettv_tv_iptos etc... can be set as well. You can even use autorecord if you wish, or just add an extra delay.&lt;br /&gt;
&lt;br /&gt;
==== Pitfalls ====&lt;br /&gt;
&lt;br /&gt;
There are however a few risks associated with slave chaining. One of the biggest issues is &#039;&#039;&#039;PK3 dependancies&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As you know, a slave needs to have at least all the PK3s of the server it connects too. But a slave can have more PK3s installed, as long as it has the ones on the server&#039;s pure list. This is what complicates things! The further you go down the &amp;quot;chain&amp;quot;, the more the chances exist of PK3 pollution, which makes the job of the last slave very hard. And the viewers connecting to that slave will not be very happy either.&lt;br /&gt;
&lt;br /&gt;
So for those of you venturing into chaining slaves here&#039;s a rule of thumb: &#039;&#039;&#039;always keep the installed PK3s to the bare minimum&#039;&#039;&#039;! Do not add stuff you do not need. If you want to know what PK3s you need and not need, connect your slave to the master or the hub, see which PK3s are on the pure list and rename or remove the PK3s that are not on the list. You will make your viewers and other admins connecting to your slave very happy.&lt;br /&gt;
&lt;br /&gt;
Another risk could be &#039;&#039;&#039;chained lag&#039;&#039;&#039;. If one of the slaves that is higher in the chain starts lagging, the consequenses for the slaves depending on it will be seen immedeatily. So if you offer to be one of the higher slaves in the chain, make sure your machine can handle it! An ETTV chain is much like the food chain ;-).&lt;br /&gt;
&lt;br /&gt;
==== Admin contributions ====&lt;br /&gt;
&lt;br /&gt;
If by now you feel like getting your hands dirty in ETTV chaining madness and you want to see some example of hubs, slaves, broadcasters and scripts to get it all working, you can already start by checking out [[User:Deej|deej&#039;s page]].&lt;br /&gt;
&lt;br /&gt;
==ETTV Demos==&lt;br /&gt;
ETTV can record and playback &#039;&#039;&#039;ETTV demos&#039;&#039;&#039;. ETTV demos have the extension .tv_84 (or .tv_83 for older versions) and are completely different from the .dm_84 demos recorded on clients. &lt;br /&gt;
&lt;br /&gt;
You may record the match in progress to a file, with the command:&lt;br /&gt;
:&amp;lt;tt&amp;gt;record &amp;lt;&#039;&#039;&#039;demo name&#039;&#039;&#039;&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
If you omit the demo name, ettv will start recording using a filename of demoXXXX where XXXX is the first available number starting from 0000.&lt;br /&gt;
&lt;br /&gt;
Demos will stop recording when a map changes.&lt;br /&gt;
&lt;br /&gt;
To stop recording a demo:&lt;br /&gt;
:&amp;lt;tt&amp;gt;stoprecord&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To play back a recorded demo:&lt;br /&gt;
:&amp;lt;tt&amp;gt;demo &amp;lt;&#039;&#039;&#039;demo name&#039;&#039;&#039;&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of an ettv slave:&lt;br /&gt;
:&amp;lt;tt&amp;gt;tv status&amp;lt;/tt&amp;gt;&lt;br /&gt;
This will tell you if the slave is connected to a master, or if it is currently playing back a demo.&lt;br /&gt;
&lt;br /&gt;
To fastforward a demo:&lt;br /&gt;
:&amp;lt;tt&amp;gt;ff &amp;lt;i&amp;gt;&amp;lt;seconds&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Eg &amp;lt;tt&amp;gt;ff 30&amp;lt;/tt&amp;gt; will fast foward 30 seconds. Fast forward stops at map restarts, so you can safely ff 999 to fast forward through a warmup. &lt;br /&gt;
:&#039;&#039;note&#039;&#039;: requires ettv beta 7 or later&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Autorecording demos===&lt;br /&gt;
ettv is able to automatically continuously record demos, creating new demofiles when the map changes. To do this, set the cvar ettv_autorecord to 1. ettv will start recording demos with the name demoXXXX where XXXX is a number starting at 0000 and incrementing on each map change.&lt;br /&gt;
&lt;br /&gt;
Server admins may find it useful to use the demo recording feature of ettv to record matches, instead of requiring individual players to record them. An ettv demo records everything that happens on a server, including all player viewpoints.&lt;br /&gt;
&lt;br /&gt;
===How to create demo based delayed feeds===&lt;br /&gt;
Autorecording demos is the first half of the process for delayed feeds. Typically you would run a passworded slave server with the smallest number of sv_maxclients possible. No spectators should connect to this server. The only purpose of this slave is to connect up to the master and record the match to sequentially numbered demofiles.&lt;br /&gt;
&lt;br /&gt;
Now start up a slave, and tell it to broadcast the demo being recorded.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;tt&amp;gt;demo demo0000&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wait approx. 60 seconds after the master begins recording before issuing this command to your slaves, then you have a 60 second delay on your broadcast.&lt;br /&gt;
&lt;br /&gt;
If you want slaves to automatically switch to the next demo when the end of the demo is reached (eg on a map change), you would set the cvar ettv_autoplay to 1. If a slave is playing demo0000 and it reaches the end, it will then try to play demo0001 and so on.&lt;br /&gt;
&lt;br /&gt;
Disadvantage of this method: It is not automated in ettv itself, though admins can script it.&lt;br /&gt;
Advantage of this method: You may run multiple broadcast servers from the same single demo stream.&lt;br /&gt;
&lt;br /&gt;
Automated delayed feeds are supported in ettv beta 8. See the above.&lt;br /&gt;
&lt;br /&gt;
===Playing back previously recorded ETTV demos===&lt;br /&gt;
This is essentially the same as delayed feeds above.&lt;br /&gt;
* Configure your server as described in [[ETTV:Server_Configuration#Installation_-_.22Slave.22_.28broadcast_server.29|Slave Installation]] section&lt;br /&gt;
* Obtain the &amp;lt;tt&amp;gt;.tv_*&amp;lt;/tt&amp;gt; demos and place them in &amp;lt;tt&amp;gt;&#039;&#039;fs_game&#039;&#039;/demos&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Start the ettv executable with pb disabled&lt;br /&gt;
* &amp;lt;tt&amp;gt;set ettv_autoplay 1&amp;lt;/tt&amp;gt; if you want to play back sequential demos named &amp;lt;tt&amp;gt;demo0000.tv_84&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;demo0001.tv_84&amp;lt;/tt&amp;gt; etc.&lt;br /&gt;
* &amp;lt;tt&amp;gt;demo &#039;&#039;&#039;&amp;lt;yourdemoname&amp;gt;&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* connect a client and enjoy the show!&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* The slave server must be running the same fs_game setting as the master server.&lt;br /&gt;
* The slave server must have a copy of every map pk3 the master server is using.&lt;br /&gt;
* If the master server loads a map the slave server doesn&#039;t have, the slave will get stuck.&lt;br /&gt;
* Spectators will be forced to download any custom pk3 you are using.&lt;br /&gt;
* It is a good idea to keep the master server pk3 list to a minimum.&lt;br /&gt;
* If you are using the autorecord/autoplay feature for running delayed feeds, you will usually want to make sure you clear out the demos directory first. Autorecording will start numbering demofiles using the first available number, so if you have old recorded demos then ettv might start recording from eg demo0017. If your scripts expect to start playback from demo0000 then you might end up broadcasting a game recorded at some earlier date...&lt;br /&gt;
* If the broadcaster constantly reloads on round starts etc, it&#039;s probably a problem with too many pk3s on the ettv servers.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Slaves may send chats to the master with the command msay&lt;br /&gt;
Slaves may list players on the master with the command players&lt;br /&gt;
&lt;br /&gt;
==Performance tuning==&lt;br /&gt;
&lt;br /&gt;
Spectator servers with large numbers of clients (eg &amp;gt;100) will push the OS very hard with huge amounts of UDP traffic. The default OS buffer settings for Linux are inadequate and can hurt performance, causing lag and/or disconnects.&lt;br /&gt;
&lt;br /&gt;
If you get messages like&lt;br /&gt;
:&amp;lt;tt&amp;gt;NET_SendPacket ERROR: No buffer space available to 192.168.120.142:27960&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you definitely need to increase your kernel network buffers.&lt;br /&gt;
&lt;br /&gt;
Large spectator servers should increase the kernel buffers.&lt;br /&gt;
&lt;br /&gt;
The following commands should be issued as root on linux:&lt;br /&gt;
:&amp;lt;tt&amp;gt;echo &amp;quot;524288&amp;quot; &amp;gt; /proc/sys/net/core/rmem_max&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;echo &amp;quot;524288&amp;quot; &amp;gt; /proc/sys/net/core/wmem_max&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FreeBSD can try this:&lt;br /&gt;
:&amp;lt;tt&amp;gt;sysctl -w net.inet.udp.recvspace=65535&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;sysctl -w net.inet.udp.maxdgram=57344&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;sysctl -w kern.ipc.maxsockbuf=8388608&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Network tuning cvars===&lt;br /&gt;
;The following are only available in ettv beta 7 and later.&lt;br /&gt;
By default, et uses small packets of 1400 bytes or less to send to clients. If messages need to be larger, they are &#039;fragmented&#039; and sent over several server frames. ettv slave messages tend to be large and often fragment. ettv normally tries to send slaves all fragments at once to avoid jittery playback, but some networks / OSes handle this badly. ettv beta 7 introduces new controls so admins can optimize ettv for their individual network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_netblast&#039;&#039;&#039; (default 1)&lt;br /&gt;
:by default, ettv tries to send all fragments at once. some networks may handle this badly. setting this to 0 disables. warning: setting this to 0 without increasing ettv_mtu will result in severely laggy slave playback.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_mtu&#039;&#039;&#039; (default 1400)&lt;br /&gt;
:; master only&lt;br /&gt;
:if your network / os supports it, you can set this to large values (eg 16000) to prevent message fragmentation and provide smoother ettv links. this cvar has no effect on normal ET clients. &lt;br /&gt;
:&#039;&#039;note&#039;&#039;: ettv_mtu must currently be set from commandline, it cannot be changed on the fly (yet).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_tv_iptos&#039;&#039;&#039; (default 0)&lt;br /&gt;
:you can set the ip type of service field of ettv link packets. if your network/ISP supports it, you can use a value like 16 (&amp;quot;minimize delay&amp;quot;) to prioritize ettv link packets over others on the network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ettv_sv_iptos&#039;&#039;&#039; (default 0)&lt;br /&gt;
:same as ettv_tv_iptos, but affects packets for normal ET clients.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETTV]]&lt;/div&gt;</summary>
		<author><name>DA*Rogue</name></author>
	</entry>
</feed>