UTV2003 - UnrealTV for UT2003
Release 0.9 Public Beta (c) 2002-2003, Epic Games 
developed by Robin Westberg & Stefan Johansson


Description
UTV 2003 is a modification for Unreal Tournament 2003  that allows live matches to be re-broadcasted via multiple spectator servers.  If someone has a UT2003 server that he expects a lot of spectators to he can setup a UTV proxy on another machine and connect it to the game server. Then the spectators can join the UTV proxy instead of the game server. If he expects a really big crowd he can also connect additional proxies to the first one that spectators can then connect to.  By chaining off proxies servers, CPU load and bandwidth requirements can be moved from the game server to an unlimited number of proxies.


An UTV proxy connected directly to the game server (not chained) will need a primary client who will act as an administrator for the server.  This client views the match in real time and has the same bandwidth/cpu load as a normal spectator.  The proxy can work in two different visibility modes. In normal mode the server will only send the data that is visible from the primary clients pov and the other spectators will be locked to that one. In SeeAll mode the server will send all data in the level and the spectators are free to roam as they which, this come at a price of increased bandwith usage (See also below for a required mutator on the game server).  The following diagram outlines how UTV2003 works:

 

Installation - UTV Proxy Server
The UTV proxy server needs to have a full copy of UT20003 version 2225 installed.  Because UTV works closely with the underlying network code of UT2003, it's version specific.  To install, move the following files from the .ZIP archive to the \System directory:
  • UTV2003C5.U (uscript package)
  • UTV2003.dll (the main DLL)
  • UTV2003.int (localization information)
  • UTV.ini (configuration file)

Step 1: Copy the above 4 files in to your \System directory.

Step 2: Open your UTV.ini in a text editor

Step 3: Configure (see below for the various options)

 

Installation - UT2003 Game Server
If you do not plan on using the "SeeAll" option of UTV (see Options below), then you do not need to install anything on the game server.  However, if you want that option available, follow the following steps.
  • UTV2003S.U (SeeAll uscript package)
  • UTV2003S.int (SeeAll locatlization information)

Step 1: Copy the above 2 files in to your \System directory of your game server

Step 2: Open up your UT2003.INI file (or your server's equivalent) and add the following like to the section [Eninge.GameEngine] (anywhere in that section will do)...

           ServerPackages=UTV2003S

Step 2: Add "mutator=?UTV2003S.utvmutator" to your server's command line (or select it from the menus).

Step 4: Restart the game server

 

Options

UTV2003 options are configured in the UTV.INI file located in your \System directory (see Installation - UTV Proxy Server above).  Below are a list of available options.  You will want to configure your proxy before using it. 

ServerAddress This is the IP address of the game server that the proxy will connect to or the address of the host proxy this proxy will chain from.
ServerPort This is the port of the game server that the proxy will connect to
ListenPort This is the port on which the proxy will listen for clients.  Clients will need to include this port number when they attempt to connect to your proxy.  So for example, if your proxy is running with an IP address of 10.1.1.1 and you set the listen port to 7780 then a player would have to use the following open command:

open 10.1.1.1:7780 

Delay UTV2003 will delay the proxy data by the # of seconds equal to this value.  This is useful for keeping people from using the rebroadcast to cheat during a match.
JoinPassword This option defines any password that might be needed to connect to the game server.  
PrimaryPassword This option defines the password that will be used to identify the primary client when he connects to the proxy server.  Even if you are running a public spectator proxy, you will want to password protect the primary client.
NormalPassword If you set the NormalPassword option, anyone trying to connect to your proxy to view a match will be required to include the password.
MaxClients This option defines the maximum number of spectators who will be able to use your proxy.  Keep in mind that it includes the primary client.
SeeAll When this option is enable (set to 1) you will enable "See All" mode on the proxy.  Two important things happen when this is enabled.  Spectators using the proxy will have the ability to see everything happening in the world.  The downside to using "See All" is that all connections will require more bandwidth and slightly more CPU usage as all the player data is begin sent.

If you decide to use the "See All" option, you will need to install the UTV2003 See all mutator on your server and include it in your list of mutators.  See "Installation - UT2003 Game Server" above.

DLManagerCount UTV2003 includes it's own redirect download system.  This option defines how many Download managers you have entered in the configuration file. The original idea was that the utv proxy would use the redirects to be able to download things fast from servers it connects to, even if that server has not defined any redirect. Then it was added that the proxy will also tell clients connecting about these redirects so that they too can get fast downloads of custom stuff.
DLManager[0..?] These define URL links to your download sites.  You should have DLManagerCount # of these entries.
HideDLManagers If set to true, UTV2003 will not make the Download manager available to incoming clients.

 

Launching a UTV2003 Proxy Server
UTV2003 runs as a UCC commandlet.  Once it's installed (see Installation - UTV Proxy Server above) and configured (see Options above) then you only need to execute the command "ucc utv".  At that point, UTV2003 will load and connect to the game server.

 

Connecting to a UTV2003 server
Unfortunately, at this time UTV proxy servers do not appear in the server browser.  This means clients will need to manually connect to your server using the open command at the console, or by launching UT2003 with the ip and port as the command line parameters.  For example, if your proxy server is running at 10.1.1.1 at port 7780 they can use any of the following:

typing "open 10.1.1.1:7780" at the console
launching UT2003 with the command "ut2003 10.1.1.1:7780"

 

Controlling the Proxy from the primary client
Finally, an advanced feature of UTV2003 is that when you connect to a UTV server, you can set any of the configuration data by sending it along with your connection url.  So for example, if you wanted to set the Max Client count to 32 you could do the following:

open 10.1.1.1:7780?MaxClients=32