*** Important ***

For an updated manual visit http://eicher.homelinux.com/ettvd/ - this one sucks bigtime
thanks a lot eicher for creating this documentation project for ettvd

*** Requirements: ***

* php5 cli installed (install xamp from apachefriends if you dont want to compile)
  (some people also report it working on some php4 versions but with 5 you are on the safe side)

*** Remarks ***

BETA2 24.11.2006


*** Changes for b2 ***

* New options in config.php - watch out
* Fixed a mean bug cloning objects by accident
* Quick serverswitch
* More ingame information
* Better playlists
* Increased security
* Control IP whitelisting
* Improved logging
* Maximum recorders, replayers, slots that can be spawned from the control interface
* Number of people to start recording with now configurable via the interface
* Added example demo file to get it to run faster
* A lot of stupid warnings removed
* Cleaned up the servers directory from more files that are not needed
* a lot of small stuff
* a completely new webinterface but skooli is too lazy to document it


*** Features b1 ***

Complete management of all ettv servers - the servers are started as children of the ettvd process
for full control over them. The servers will recieve all commands needed from the ettvd service.

* Start of recording when enough players are ready
* Recording pause when players leave the server
* Disconnect from matchserver after timeout
* Simultanious recording of as many games as you want (limited by cpu/ram)
* Replay of recorded games
* Multiple broadcast servers showing the same or different games in Live, Semi-Live or Replay mode.
* Spam protection with a sticky mute system (/reconnect doesnt help)
* A fully featured webinterface (by skooli)
* ETTVoD ready
* Display of intermediate maptimes
* Announcer for next game, current game both ingame and in sv_hostname
* Most settings configurable in a single file
* Fully painless matchserver crash recovery
* Recovery of all sorts of ettv broadcaster crashes (replayers continue where they crashed)
* Ingame admin commands !mute, !kick, !reclist, etc
* Complete demo management for archiving
* Constantly maintaining the correct ettv_delay
* Replay Playlists or playing specific games again
* Probably more

*** Installation: ***

ETTVd:
Edit: start.sh, config.php
Add maps and pak0.pk3 to etmain
Make ettv.x86 executable

Webinterface:
upload to php'able webspace
configure includes/config.php

*** Starting: ***

./start.sh as superuser (edit it first) - if you're not root change start.sh acordingly

My _example_ script will automatically set a higher priority and change user to my ettv user

*** Thanks ***

Big thanks to skooli for the webinterface
Big thanks to zinx and bani for caring about my ettv whine
Thanks to frop for pimping the webinterface
Thanks again to eicher for starting a proper documentation for ettvd
Thanks to everyone reporting bugs


*** Ingame chat commands ***

These commands are available for all people who have logged in to the webinterface
within the past 6 hours or used the adminip console command.

!admintest
--Check if you have admin access ingame

!recordmode <mode>
--Same as console recordmode, see below

!nextmap
--Jumps to the next map of the current recording
--See console nextmap for more information

!autoreplaynum
--See below

!reclist
--A quick ingame overview what the recorders are doing

!findviewer
--Debug function for viewer matching function used by below functions
--Supports partial matches, strips colours and is case insensitive

!mute <match> <time>
--Mute a viewer specified by the <match> for <time> minutes, if <time> is not given default is to 5min

!unmute <match>
--Unmutes the viewer (also removes the sticky mute)

!kick <match>
--Goodbye <match> (banned for 5min by default)


*** Basic Commands (Not needed when using webinterface) ***

connect <ip> <gpw> <ettvpw>
--Creates a new recorder and connects it to this server

gamename <recid> <name>
--Sets the name of the currently running game on a recorder

recordmode <recid> <mode>
--Sets the recordmode for a recorder, the following modes are currently supported.
--ready - recording starts once 4 players are ready
--connect - recording starts as soon as the recorder is connected

--Remark to recording: Recording stops when less than 50% of the players the game started
--with remain on the server, it resumes when 2/3 of those players rejoin.
--Please do not forget to kill your recorders even if they paused recording

livecast <recid> <repid>
--Tells a replayer that it should replay whatever that recorder will be recording
--If the replayer is not running at the point that the recorder starts recording it will not work

broadcast <slots> <port> <privateslots> <gameid> <config>
--Starts a new broadcaster - you can omit everything except slots

killrec <recid>
--kills a recorder after broadcast

killrep <repid>
--kills a replayer for whatever reason

quit_rly
--shuts down everything cleanly - better than killing the process

reloaddemos
--reloads the demolist from disk in case you deleted some or whatever

demolist
--shows a list of all recorded games

viewerlist <repid>
--shows some info about connected viewers

playgame <repid> <gameid>
--plays a certain game

nextmap <repid>
--jumps to the next map - if it was the last map of the game it will chose the next game in the reply cycle
--if you do this in live broadcast mode you will leave the live broadcast, because we cant jump into the future !!

autoreplaynum <repid> <number>
--the number of recent games the replayer will automatically replay

serverlist
--shows all server processes currently managed by ettvd

debug <1/0>
--turns debug information on or off

There are more functions used by the webinterface - if you really care, please check the
sourcecode of ettvd.php - commands are pretty easy to understand
