Return to Castle Wolfenstein
Help us shape the future of the Vortex mod manager by taking our survey

File information

Last updated

Original upload

Created by


Uploaded by


Virus scan

Safe to use

Tags for this mod

About this mod

To spectate in a WolfTV server, only this small map is needed @ License Client Installation Server Installation Quick Install Advanced Install Running the WolfTV Server Admining WolfTV WolfTV Chains and Redirection Relationship to RTCW (and Command Syntax) Command Line Console Commands Choosing a Maxclients Common Problems Unable to Bind Socket Error Using WolfTV How to connect Commands Normal Commands tv_nextgame tv_nextview tv_watch tv_help tv_admin tv_camera tv_playerlist tv_status tv_gamelist tv_silent tv_nospeech tv_messages Admin Commands tv_connect tv_disconnect tv_kick tv_centerprint tv_demo tv_stop tv_record tv_stoprecord tv_description tv_freemove tv_playerinfo tv_ban tv_removeban tv_listbans Other Features Rcon Common Tasks Remove Team Chat from a Demo Connecting WolfTV to a Server Becoming Cameraman Chaining WolfTV How WolfTV Works The Camera CL_timenudge

Permissions and credits
To spectate in a WolfTV server, only this small map is needed



Client Installation

Server Installation

Quick Install

Advanced Install

Running the WolfTV Server

Admining WolfTV

WolfTV Chains and Redirection

Relationship to RTCW (and Command Syntax)

Command Line

Console Commands

Choosing a Maxclients

Common Problems

Unable to Bind Socket Error

Using WolfTV

How to connect


Normal Commands













Admin Commands















Other Features


Common Tasks

Remove Team Chat from a Demo

Connecting WolfTV to a Server

Becoming Cameraman

Chaining WolfTV

How WolfTV Works

The Camera

WolfTV Readme for version 1.x

Copyright (C) 2001-2003

Brad "FonFon" Whitehead

An up-to-date and better formatted version of this readme can be found at:

Translations will be made available there as well.

Compatible Mods








This license agreement can be changed without notice.

1. Use of WolfTV: The following uses of WolfTV are prohibited:

You agree not to disassemble, reverse engineer, decompile, or

otherwise modify WolfTV.

You agree not to sell, rent, or lease WolfTV.

You agree not to generate revenue through use of WolfTV.

2. Warranty: WolfTV has no warranty. THIS INCLIUDES THE









Client Installation

Download the client .zip

Extract the zip into your RtCW directory. Make sure "Extract

with pathnames" is turned on.

You can now connect to a WolfTV server.

Alternatly you can connect to a WolfTV server with allow

downloads on (cl_allowdownloads 1). This will download the

client pk3.

Server Installation

Quick Install

A quick install of the WolfTV server involves two steps:

Extract the .zip into your RtCW directory. Make sure that

"extract with path names" is turned on. A subdirectory

called "wolftv" should be created.

Look in the WolfTV subdirectory for a file called

"wolftv.cfg". Open this file with notepad or your favorite

text editor. Edit the options in the "Quick Setup"


You can now run WolfTV.exe in your RtCW directory. Also see

Admining WolfTV and Common Tasks

Advanced Install

WolfTV requires the following things to operate correctly.

This section will describe the how to setup these



Access to the RtCW pk3 files

A "WolfTV" subdirectory

A valid RtCW CD key

The WolfTV configuration file (wolftv.cfg)

Access to the RtCW pk3 files: WolfTV needs to access all

of the standard RtCW pk3 files. If WolfTV is run in the

same directory as wolfmp.exe it should be able to access

these files without further information. To run WolfTV in

a different directory, or if WolfTV is not able to find

the pk3 files for some reason, you can specify the

location of the pk3s with the fs_basepath option. Use the

command: "+set fs_basepath your_wolf_dir_here" on the

command line (see Command Line for more information).

A "WolfTV" subdirectory: Once WolfTV knows the location of

your RtCW directory it must be able to find the correct

configuration files. Create a directory under your RtCW

directory called "WolfTV". This is where WolfTV will store

configuration and other information.

A valid RtCW CD key: If WolfTV can find your RtCW

directory correctly, it will attempt to use the file

"rtcwkey" in the baseq3 directory. If you would like to

use a different CD key to connect to servers, create a

file called "rtcwkey" in the WolfTV directory, and place

your CD key in it.

The WolfTV configuration file: WolfTV looks in the

"WolfTV" directory for a file called "wolftv.cfg". This

file contains all of the information WolfTV requires to

run. Before running WolfTV for the first time, this file

must be edited and at least the options in the "Quick

Setup" section changed. Most people will want to look

through the "Advanced Options" as well. This configuration

file follows the standard RtCW .cfg format (see

Relationship to RtCW for more information).

Running the WolfTV Server

This section is mostly background information, read Admining

WolfTV and see Common Tasks for step by step practical


Admining WolfTV

Admining WolfTV is fairly straight forward. Think of WolfTV

as a normal RtCW server. It just happens to be able to

connect to other servers. To get WolfTV setup so that other

people can watch the game the normal sequence of events is:

Setup and run WolfTV

Connect to WolfTV

Use the tv_admin command to become an admin

Connect WolfTV to the server

Become cameraman

Tell others to connect

The normal way to admin WolfTV is to connect to it with RtCW

and issue commands. This allows you to control the camera.

Most commands can also be issued in the WolfTV console,

however you will need to find someone with RtCW to do the


Once you have WolfTV connected to a server, you might be

wondering, what next? You need a way to control what people

connected to WolfTV see. This is where the camera comes in,

see Becoming Cameraman.

WolfTV Chains and Redirection

To create a WolfTV chain simply connect one WolfTV server to

another one. The "master" WolfTV server (the first one in

the chain) controls what the users of every other WolfTV

server in the chain see. The master server is the only one

with a "camera man". By chaining WolfTV servers together

around the world, its possible to distribute the bandwidth

and CPU processing requirements of serving 1000s of users.

Large chains can be a bit complex, so this section is

intended for people doing the setup of a chain, for people

wishing to join a chain and mirror a match see Common Tasks:

Chaining WolfTV.

The best setup for a WolfTV chain is: one private WolfTV

server at the event, one "master" WolfTV server that

connects to the one at the event and is passworded. After

that other mirror WolfTV servers that know the password can

connect to the master WolfTV. This is good for several

reasons... you can have multiple WolfTV servers at the

event, and because there is only one master server you can

switch between them easily. Redirection also works well with

this setup. Redirection is an experimental feature that will

redirect people connecting to one WolfTV server to a

different WolfTV server Eg. someone tries to connect to the

master WolfTV, but its full, so the master looks at all the

WolfTV servers connected to it and chooses the one that is

"most empty". This way only one WolfTV server IP needs to be

posted, and WolfTV servers in the chain are automatically

load-balanced. Since redirection is still an experimental

feature, and does not work for people behind NAT routers, I

would recommend posting all WolfTV server IPs, and recommend

to people that they try the master IP first. The master

server also needs some settings changed in the wolftv.cfg,

see the large events section. This is the short explanation

of chaining, if you have other questions contact me.

Relationship to RtCW (and Command Syntax)

WolfTV is based on the RtCW server. So many commands that

work in RtCW will work in WolfTV, like rcon, set, reset,

etc. Commmands can be entered in the normal way, using the

RtCW console once you have connected to a WolfTV server. If

you have run a RtCW server most of this will be familiar.

Many of the settings (cvars) for RtCW servers are the same

for WolfTV (Eg. sv_maxclients, rate, sv_maxrate, etc). Rcon

works in the standard RtCW way.

In the configuration file you can use any of the commands

listed in Console Commands. All cvars you want to set must

be set using one of set, sets, or setu. Commands should be

placed on separate lines.

Command Line

The WolfTV command line is useful for overriding cvars in

the config file, and executing additional config files.

Commands on the command line are separated with the "+"

character, each "+" counts as an enter.

eg. WulfTV +set fs_basepath c:wolf +set com_zonemegs 64

+exec server.cfg

In addition there are some cvars that can only be set on the

command line. The most important ones are:

com_zonemegs: This is the main kind of memory that WolfTV

uses. If you find you are running out of memory set this

variable higher. The default value is 32.

fs_basepath:Use this to specify the location of your RtCW


Console Commands

The following commands are available from the console,

config files, or rcon:

set [name] [value]

This command sets the cvar "name" to "value". Value can be

either a number or words.

setu [name] [value]

Same as set, except the cvar is flagged as USERINFO and is

sent to the server during connect

sets [name] [value]

Same as set, except the cvar is flagged as SERVERINFO and

is sent to clients, and people viewing the server in a

server browser such as Gamespy.

exec [name]

Reads the file "name" and executes the commands in it as

if they were typed into the console.


Causes the server to exit back to the command prompt.

Choosing a Maxclients

Bandwidth: Since WolfTV is a server, your hosting capacity

depends mostly on your upload bandwidth. Upload requirements

can either be estimated to be 50kBit/s per client or

controlled with the sv_maxrate cvar. Setting sv_maxrate is

the recommended way to control bandwidth usage. Setting

sv_maxrate to 5000 will provide fairly smooth viewing for

clients, and require 40 kBit/s (8 x 5000) of upload

bandwidth per client. Eg. a T1 with sv_maxrate 5000 can


1,100 kBit/s / 40 kBit/s/client = about 30 clients

CPU Use: If you have a lot of bandwidth you're likely to run

out of CPU power long before you run out of bandwidth. Note

that this has changed drastically from previous WolfTVs.

There are a number of ways to tell if your maxing out your

CPU, note that looking at your CPU use percentage IS NOT ONE

OF THEM. A WolfTV server can support 2 clients for every

10Mhz of CPU, with NO other processes running.

eg. PIII 800 can do 800 / 5 = 160 clients

eg. AMD 1Ghz with other processes taking 50% of the CPU can


(1000 - (1000 * 0.50)) / 5 = 100 clients

There are a couple ways to tell how much CPU you are using:

If the view in WolfTV is choppy or "hanging" and you are

sure you have enough bandwidth, then its probably a CPU use

problem (it could also be your network q3 settings). If you

are getting hitch warnings constantly (in the console) thats

another good sign that your CPU is maxing out. The last (and

best) way to tell is: do a com_speeds 1 in the console. This

will spam out a bunch of lines like:

frame:5515 all: 20 sl: 5 sv: 0 ev1: 5 ev2: 10 cl: 0

frame:5516 all: 21 sl: 1 sv: 0 ev1: 9 ev2: 11 cl: 0

frame:5517 all: 19 sl: 6 sv: 0 ev1: 3 ev2: 10 cl: 0

frame:5518 all: 20 sl: 2 sv: 0 ev1: 8 ev2: 10 cl: 0

Each number represents the number of milliseconds it took to

do each task. The only number we care about is all:. If all

is over 50 for 4 or 5 frames in a row, you need to reduce


Note that past 100 clients or so, due to buffering in

WolfTV, the CPU use vs number of clients graph flattens out.

Past 100 the CPU use guide line is more like 3 or 4 clients

per 10 Mhz.

Common Problems

Unable to Bind Socket Error

This error can be caused by several things. The first and

esiest to check is that the port number you specified is

not already in use. Try running WolfTV with +set net_port

29345 (or some other port number) on the command line.

If the error also states that WolfTV is running out of

memory, the commands below may help. Since WolfTV is a

high bandwidth application it uses larger than normal

socket buffers to handle large spikes in traffic. Several

flavours of unix are not able to handle larger buffers by

default; these commands will increase the maximum size.

sysctl -w kern.ipc.maxsockbuf=8388608

sysctl -w net.inet.tcp.rfc1323=1

sysctl -w net.inet.tcp.sendspace=1048576

sysctl -w net.inet.tcp.recvspace=1048576

Also see the net_sendBuffer and net_recvBuffer cvars in


Using WolfTV

How to connect

To connect to WolfTV you need the current version of RtCW.

If you play on the net at all you probably already have

this. NO other client is required.

To connect to WolfTV:

Write down the IP and PORT of the server you wish to

connect to

Run RtCW

Press ` to bring down the console

Type the command cl_allowdownload 1 and press enter

Type the command connect IP:PORT, where IP and PORT is

the server address you wrote down in step 1.

You should now be connected to WolfTV. Use the tv_watch

command to watch a game (if one is available).

There is always a list of current WolfTV servers at, you can get IPs and PORTs there.

WolfTV also works with server browsers, so you can enter the

ip and port into your favorite server browser and use it to


If you are running WolfTV on the same computer as your RtCW,

use the ip "". Eg. assuming the default port of

27970 the command would be connect in the

RtCW console.


Once you are connected to a WolfTV server, these commands

are accessible by bringing down the console (use the ` key).

All commands typed into the RtCW console must be preceded by

a . This simply lets RtCW know you are typing in a command

instead of trying to say something.

Normal Commands


Moves you to the next game, causing a new map to load,

or reload the current one. This will only move to a game

from a different server, it will not switch between

views of the same game.


Takes you to the next view for the same game, the map

will not reload. WolfTV must be connnected to the server

two or more times for this to work.

tv_watch [gameNumber]

se this command to change to a specific game. If you are

in the waiting room; available games are listed in the

center of your screen. Games are also available with the

WolfTV_gamelist command.


Lists all the WolfTV_ commands.

tv_admin [password]

Use this command to become an admin of the WolfTV

server. This command also allows you to watch restricted

games (like the non-delayed stream).

tv_camera [password]

This command has several effects depending on where you

use it. Using this command will give you access to

WolfTV_watch restricted (non-delayed) games. Once

watching a game, this command will give you control of

the camera.


Lists everyone on the WolfTV server.


Displays general information about the WolfTV server,

like number of clients connected.


Displays a list of all games you can watch. The numbers

displayed before each game can be used with



Turns off "chat beeps" for chat on the q3 server (for

both players and spectators). Issue this command once to

turn on and again to turn back off (its a toggle).


Will turn off chat from other WolfTV users, but still

print chat from the game server. Can be used in

conjunction with WolfTV_silent. Issue this command once

to turn on and again to turn back off (its a toggle).


Turn the display of connect, disconnect, and error

messages on and off. This is a toggle.

Admin Commands

tv_connect IP:PORT [password]

This command will connect WolfTV to a RtCW server.

IP:PORT follows the standard RtCW format, PORT is

optional. "password" is the password required to connect

to the RtCW server, if it is not passworded this should

be left out.

tv_disconnect [gameNumber]

Tells WolfTV to disconnect from a server, demo, game,

etc. "gameNumber" is optional, but should used when

WolfTV is connected to more than one game at a time.

"gameNumber" corresponds to the numbers returned by


tv_kick [clientNumber]

Kick a client off the WolfTV server. Use the

WolfTV_playerlist to find out the "clientNumber".

tv_centerprint [message]

Print "message" in the center of all client's screen.

Use n to do multi-line centerprints.

tv_demo [demoName]

Begin playback of the demo named "demoName". All demos

must be in "WolfTV/demos", that is a subdirectory called

"demos" under the "WolfTV" directory.

tv_stop [gameNumber]

Stop playing a demo. gameNumber is the number of the

game (demo) to stop playing. gameNumber is optional.

tv_record [recordName] [gameNumber]

Begin recording a demo called "recordName". The game you

are currently watching will be recorded in

"WolfTV/demos". Or optionally you can specify the game

to record with gameNumber.

tv_stoprecord [gameNumber]

Stop recording a demo (for the game you are watching).

Or optionally stop recording for the game [gameNumber].

tv_description [gameNumber] [description]

Sets the description for a game. eg. WolfTV_description

2 c1 vs c2 would set the description of game 2 to "c1 vs



This experimental command allows admins free movement

inside demos and live games.

tv_playerinfo [clientNumber]

Prints the IP of the client. This can be used with

WolfTV_ban to ban the clients entire subnet.

tv_ban [IP mask or clientNumber]

Ban a single client, or range of IPs off the server.

Clients matching the ban will be kicked automatically.

To ban a specific client use WolfTV_playerlist to get

their number, and then WolfTV_ban 23 (or whatever number

instead of 23). This will add their IP to the ban list

and kick them off the server. Bans can also be placed by

IP mask. eg. WolfTV_ban will ban that specific

IP, WolfTV_ban will ban the entire 10.1.x.y


tv_removeban [IP mask]

Remove a ban. IP mask must be exact, use WolfTV_listbans

for a listing. eg. WolfTV_removeban will remove

a ban placed on the entire 10.1.2.x subnet.


Print a listing of all the bans in effect.

Other Features


Rcon allows you to send a command to a WolfTV server just

like it was typed directly into the WolfTV console. Rcon

for WolfTV follows the same format as RtCW's. There are

two ways of using rcon with a WolfTV server. One, if you

are connected to the server, bring down the console and

type rcon [password] [command] [args]. Eg. if you were

connected to a WolfTV server with rcon password "test1"

and wanted to set sv_maxclients to 100 the command would


rcon test1 sv_maxclients 100

The second way of sending an rcon command does not require

being connected to WolfTV. Bring down the console and

enter the command rconAddress IP:PORT. Where IP and PORT

is the address of the WolfTV server. Then follow the

procedure in One for entering rcon commands.

Common Tasks

This section gives step by step instructions for common tasks

within WolfTV. This section is open, so if you feel something

should be here that isnt feel free to write it up and send it


Remove Team Chat from a Demo

Many demos recorded during competitive matches contain

details of a team's strategies. WolfTV provides a way of

removing this team chat from demos:

Install WolfTV

You should now have a sub-directory called "WolfTV"

Create a directory under "WolfTV" called "demos"

Copy the demo you want to remove the team chat from into

the "demos" directory

Run WolfTV like: WolfTV +tv_demo [your_demo_name]

+tv_record [new_demo_name] +set tv_serverTeamChat 0

eg. WolfTV +tv_demo test1 +tv_record test2 +set

tv_serverTeamChat 0

Sit back, have a beer, and let WolfTV run. This process

will take as many minutes as your demo is long. WolfTV

will say "Stopped Recording." when its done.

Connecting WolfTV to a Server

Once WolfTV is up and running you will probably want to

connect it to a RtCW server. This is accomplished using the

WolfTV_connect command. It can be issued from the console or

from within the game:

Write down the IP and PORT of the server you want to

connect to. Domain names (eg. are acceptable

instead of the IP.

Connect to WolfTV with your RtCW

Use the tv_admin command to become an admin

Issue the tv_connect command

WolfTV should now be connecting to the server. Once WolfTV

has connected the non-delayed and delayed games will be

added to the game list.

OK, if you are still reading I'm assuming the above didnt

work. Connecting to pure servers can be a little more

complicated than the above. WolfTV will connect to pure

servers, but it requires the correct pk3s to be in the

appropriate directories. Trying to get WolfTV connected to a

pure server is the exact same as trying to connect with

RtCW. You may be able to set cl_allowDownload to 1 and

download the required pk3s, but only if the RtCW server has

sv_allowDownload 1. If cl_allowDownload 1 dosnt work, you

will have get the required pk3s from somewhere else, or use

rcon to set the server to sv_pure 0. Note: The above

information on downloading pk3s only applies to servers

running a MOD, you should always be able to connect to

"baseq3" servers. Also on the topic of mods... see

Compatible Mods. Some mods have client authentication which

will not allow WolfTV to connect without special support

from the MOD.

Becoming Cameraman

This section assumes that WolfTV is connected to a RtCW

server. Becoming a cameraman will allow you to control the

WolfTV spectator on the RtCW server. Everything you do as

cameraman is sent through to the RtCW server, this includes

mouse movements and commands. Useful commands are

"follownext" and "team s". Everyone watching the game you

are cam'ing sees the same thing you do To become cameraman:

Issue the tv_camera command. This gives you permission to

join (and see) non-delayed games.

To control the camera you must be watching a non-delayed

game. Use the tv_gamelsit command to get a list of the

games (or look in the center of your screen if are in the

waiting room). Look through the list for games with "WOLF"

in the TYPE column, these are non-delayed.

Use the tv_watch command to switch to the non-delayed

game you want to camera.

Issue the tv_camera command AGAIN and you will be given

control of the camera.

Chaining WolfTV

The practical side of chaining WolfTV servers is simple: use

tv_connect to connect to another WolfTV server. You are now

part of the WolfTV chain. This process is "fire-and-forget";

once connected everything else is handled by WolfTV. More

connections are automatically made for every game being

broadcast. To make things easier you can add the

WolfTV_connect to WolfTV's command line, so it will

automatically connect to the chain when run (eg. WulfTV


For a more indepth discussion of chains see WolfTV Chains.

How WolfTV works

WolfTV provides access to real-time viewing of popular RtCW

matches. Once WolfTV has connected to a server, anyone wanting

to spectate the match can connect directly to WolfTV. Since

only one spectator spot is needed by WolfTV, the RtCW server

avoids having to serve to 100s of spectators. If one server is

not enough to meet the demand, WolfTV servers can be used to

connect to each other. By "chaining" WolfTV servers virtually

an unlimited number of spectators can be supported.

The Camera

When watching a game on WolfTV everyone sees the same thing.

This is main difference between spectating on a RtCW server,

and spectating on a WolfTV server. When watching a game one

client can take the camera, then everyone on the WolfTV

server sees what the camera man chooses to watch (very much

like the way TV works). The ability to watch whomever you

want may be in a future version of WolfTV.


cl_timenudge is probably the most important RtCW command

when watching matches on WolfTV. With cl_timenudge set to

300-500 viewing will be much smoother, even with large

amounts of packet loss.

The technical explanation:

The cl_timenudge command tells RtCW to run a certain number

of milliseconds "behind" the actual game time. In other

words if RtCW receives a snapshot with a timestamp of

30000ms and cl_timenudge is 400 it will process that

snapshot at 30400ms instead of 30000. It adds, or nudges,

400ms on to the game time that the snapshot is valid for.

With cl_timenudge set to 500 in a regular game you are

effectively watching a recording of the game delayed by


When watching a game on WolfTV, you are watching a

recording, delayed by whatever number of seconds the server

admin has chosen. When watching a recording there is no such

thing as lag, based on ping times. You can still have packet

loss, which can create lag, but thats where cl_timenudge can

help out a lot. With cl_timenudge set to 500, you can have

500ms of solid packet loss before RtCW has to start

extrapolating (predicting). For example, in a normal game,

when a packet is lost, RtCW has to guess what that packet

would have contained, which is called extrapolating

(predicting). You get a yellow spike on the top part of the

netgraph when this happens. Extrapolating is a guess at what

the players/(entities) are going to do. Since human motion

is not predictable you get prediction errors, and therfore

"lag". With cl_timenudge 500, if one packet is lost, because

you are watching a recording, RtCW can look ahead to the

next packet, and interpolate between them. Blue on the

netgraph means RtCW is interpolating between packets. When

interpolating RtCW does not have to guess. It knows what the

next snapshot will contain, where the players are going to

move to, what the entities in the game are doing, etc.

Players, entities simply get moved in a straight line from

their current position to the position in the next packet.

Normally you cant see this, but under conditions of

extremely high packet loss it can be seen.

Compatible Mods

If you would like your mod listed here, and can verify that

WolfTV works with it, send me a short note.




ADD: delay buffers moved to disk - reduced memory usage

ADD: redirected clients are now notified of the


ADD: Admin IPs - allow admin by IP address -

gtv_addAdminIP command

ADD: tv_adminByIPOnly cvar

ADD: tv_moderate command - only admins allowed to talk

ADD: tv_serverIP command - prints the server IP

ADD: support for BroadcastTV Manager

FIX: "cam flipping" bug

FIX: delta bugs related to gtv_nextview

FIX: the "awaiting gamestate" bug

CHANGE: send proper client number with gamestate

CHANGE: improved auth flood detection code

CHANGE: removed printing of some net errors

CHANGE: max broadcast games raised to 8

CHANGE: net_interface detection code


ADD: RipCam - automatic camera

CHANGE: Upgrade to rtcw 1.4 (protocol 60)


Updated DNS info


ADD: tv_nextgame and tv_nextview commands

ADD: tv_forwardIPStats cvar

ADD: tv_allowRedirection cvar

FIX: problem when two servers have different passwords

FIX: directory case problems under *unix


Initial Release

Copyright 2001-2003 Brad Whitehead
This file was archived on Nexus Mods in an effort to save the files that were lost when Game Front shut down in April 2016. As of March 2018, Game Front has now returned with the original staff, including most of the files it originally hosted. With the blessing of the Game Front staff and to ensure a viable backup of these files remains, we'll continue to host these files on Nexus Mods with a link back to the original file on Game Front.