All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
QF QTV overview/status.


The server is "reserved" for playing clients. Any spectators would be referees and/or admins (however, this is up to the server admin).

A qtv proxy connects to the server. The proxy may have spectating clients and other even other proxies connecting to it. The proxies can chain to any depth as an upstream proxy will pass on its information to any downstream proxies. With just a few levels of proxies, it should be possible to have very large spectator groups.


qw-server supports up to two qtv proxy connections: the idea being there will be only one, with the second in case the proxy drops off and needs to reconnect before the timeout. The qw-server sends a modified mvd stream to the qtv proxy. The mvd stream is modified for both easy manipulation by the qtv server, and more importantly, to be packet-loss tolerant (QF uses mvd over udp).

Currently, the qtv proxy can connect to any number of servers (if you use more than one or two, I hope you have a beefy system/connection). Use sv_new <name> [address] to connect to a server. address is optional if name is a resolvable internet address, otherwise name can be a simple "nick-name" while address is the resolvable address of the quakeworld server. sv_list lists the current servers and sv_del <name> (name is the same as used in sv_new and as shown by sv_list) is used to disconnect from and remove a server.

The proxy supports any number of connecting clients. Connecting clients use cmd list to get a list of available servers and cmd connect [SERVERNAME] to finalize the connection to a server. Clients can use cmd disconnect to "leave" a server in order to "connect" to a different one without disconnecting from the proxy.

The proxy and connected clients ride over a server map change.


  • Get client delta compression working (if it's not already).
  • Implement a delay (configurable) between the qw server and the proxy.
  • Add proxy chaining, possibly with configurable delay (redundant?).
  • Demo recording (mvd/enhanced mvd) on the proxy.
  • VOIP with recording to enhanced mvd (mvd and voip streams encapsulated together). Probably based on FTE.
  • Demo playback.
  • Other? According to community needs.

QuakeForge QTV Proxy