Introduction
Q2PRO is a Quake 2 engine modification, based on source code released under the terms of GPL by id Software. This is not a standalone game as it does not provide any media content, but rather a backwards compatible enhancement over original Quake 2 release designed for multiplayer use.
Backwards compatibility is defined netcode-wise, not exactly feature-wise. For example, Q2PRO does not currently support Quake 2 singleplayer mode, although this may change in the future.
Important news
2009-May-29: Q2PRO SVN repository has been migrated to skuller.net from Source Forge, with OpenFFA split up in a separate project. Also, a bug tracker has been set up for Q2PRO. Feel free to use it for reporting bugs and proposing enhancements. No registration is required!
2008-Oct-30: Q2PRO server versions from r307 and up now implement improved MVD/GTV protocol capable of automatic connection recovery and feature special ‘suspension mode’ for additional bandwidth savings in case there are no players/spectators on a channel.
Feature highlights
Performance increases. OpenGL renderer has been completely rewritten to take full advantage of capabilities of modern hardware. By greatly reducing driver overhead, Q2PRO provides performace increases up to 200% of default Quake 2 renderer speed.
Enhanced console input. Autocompletes not just command and cvar names, but also arguments of many frequently used commands. Graphical client console supports most of readline(3) key bindings, making command line editing much more convenient.
Basic demo editing. Allows one to record a demo while playing back another one. There is no longer need for external demo editor to perform basic operations like cutting interesting frags out of a demo.
Integrated demo and server browsers. Allows one to easily navigate through their demo collection by providing integrated demo browser. Address book functionality is improved by providing integrated server browser.
Multi view demo support. Server is capable of recording and playing back demos in custom MVD format, capturing views from each player in game. During playback, spectators themselves choose which view they would like to watch. This is completely transparent to and supported for any Quake 2 client connected to Q2PRO server.
Game television support. Server may act as game relay node, allowing large amount of spectators watch game in real time without putting any additional load on the game server itself. Furthermore, live game streaming is done with all benefits of MVD format. There is no need for ‘camera man’, unlike other GTV implementations. To prevent cheating, GTV server delays the MVD stream by adjustable amount of time (typically 20-30 seconds) before it is shown to spectators.
Frame rates separation. Client provides ‘true’ networking, physics, rendering and input polling frame rates separation. Unlike other Quake 2 clients, Q2PRO will not waste CPU cycles drawing frames never actually seen on screen, but will poll for user input instead in order to minimize input latency.
Improved security and stability. Developed with security in mind, Q2PRO carefully handles all untrusted data, including data coming from the network as well as static files like game media, which are often downloaded from untrusted locations.
Support for multiple platforms. Client and server are portable enough to run natively on Win32/x86 as well as many UNIX-like systems across different CPU arches. The only dependency of Q2PRO server is Zlib, while Q2PRO client uses highly portable SDL library for graphical and sound output.