Why (Almost) All Servers Run ProQuake
This is a quick look at why (almost) all servers run ProQuake right now -- and, in comparison, why it would be relatively difficult for most of them to switch to DarkPlaces as the server.
Brief History
The original Quake server (winquake) had a ton of exploits. A lot! I can't remember them all but all kinds of attacks were possible.
Although there are many new NQ clients -- JoeQuake, Telejano, Vengeance R2, and on and on -- only 2 improved servers with full standard NetQuake server capability exist today: ProQuake and DarkPlaces.
ProQuake server solved almost all of the problems (didn't solve IP masking though). DarkPlaces server, while road tested in other scenes, never has really been tried in the NetQuake community.
QCCX Barrier
DarkPlaces does not support "QCCX'd QuakeC", special code supported by ProQuake that really isn't QuakeC but gives ProQuake server certain extra capabilities otherwise not possible with standard ID software QuakeC.
This non-standard code is virtually unintelligible, barely documented but served a purpose in it's time by permitting special capabilities that were compatible with ID Software's Quake before Quake became open source.
A Look At What Is "Served"
There are only a few mods out there that get a lot of play:
1. RuneQuake. Moderately QCCX'ed. Open source.
2. CRMOD. Heavily QCCX'd and closed source and non-developed.
3. CRCTF 2.0. Heavily QCCX'd and closed source and non-developed.
4. Rook's CRCTF 3.2. Probably QCCX'd to some degree, only he knows.
5. CA+. Probably QCCX'd to some degree, closed source and non-developed.
6. RQuake. Moderately QCCX'ed. Open Source.
7. CAx. Probably QCCX'd to some degree, only Rook and Bam would know.
8. Rocket Arena, RuneQuake version. Moderately QCCX'ed. Open source.
There is close to 100% of the mods that get played a lot. None of these mods could be run on DarkPlaces server without modification.
This doesn't mean it is impossible. It may be possible to run CAx and Rook's CRCTF under DarkPlaces with mild modifications.
RuneQuake, RQuake and Rocket Arena (which is the exact same thing as RuneQuake, with a different server.cfg) are open source but it appears that the code utilizes a good deal of QCCX compiler specific code (Slot Zero and Lardarse's thread discussing this).
That doesn't leave many remaining mods. Slide. AirQuake. Maybe DM+. IHOC possibly. Vanilla DM or vanilla RA in some form.
Although I am sure that DarkPlaces can run code compiled with FrikQCC, Lardarse attempted to compile a very early version of RuneQuake (0.1) with FTEQCC -- probably the best compiler -- and encountered tons of warnings so it is likely to assume even Artifact RJS (RuneQuake's precursor) would be difficult to make it compile with FTEQCC.
The Signficance of RuneQuake
RuneQuake has been a very important mod for the NetQuake community in ways even players that don't like RuneQuake aren't aware of.
The Rocket Arena mode in RuneQuake (which does not have Runes) is greatly preferred to all other forms of Rocket Arena by most players.
RuneQuake has 3 things built into it that have nothing to do with Runes:
1. Vote-options. Long ago Quake moved from a "admin-controlled" game to a player controlled game. This means players want the ability to change the map, vote rules and basically run the server without an admin.
Servers that do not have this flexibility (Fear, Beatdown Alley) are generally less popular because players are stuck on some map that happens to be running or maybe with a setup they don't like (on Shmack:26002 you can vote almost anything and the same with CAx, CRMOD and CRCTF).
2. Observer system. A convenience to those that want to watch instead of play. You can press 4 when connected to a RuneQuake server to watch or when dead.
3. Online battle-tested. RuneQuake has been heavily debugged and proofed against numerous different situations plus it is open source. Progs 1.06 is very flawed by itself and allows for all sorts of bad things (infinite typing "kill in console", infinite changing colors, etc.)
Hence, RuneQuake is one of the few codebases that a new mod can be built on, which is why there have been a ton of derivatives.
xCTF (link) is another example of an online played tested open source code base.
The Future
None of this means that no server can be setup using DarkPlaces. There are other mods with some of this functionality. Assuming that Lardarse, for example, can successfully get RuneQuake 0.1 to compile with FTEQCC, the following would be the remaining obstacles:
1. IP Masking, engine side. This is probably easy to do. Most mods including CAx do this mod-side with QCCX code. Some servers like Shmack and IHOC use engine-side IP masking
2. Vote capability. As far as I know, most of the capabilities of RuneQuake to support, for example, 200+ custom maps and countless different vote options somehow seems to depend on QCCX code (I could be wrong!).
I mention RuneQuake 0.1 as signficant because it is open source and has an observer system and has been battle tested and really only varies from the later versions of RQ in the sense that it has very few voting options.
Basically, in summary the main problem of using DarkPlaces as a server is that a mod would have to pioneer these areas using QC extensions and such that as far as I know, no one in NQ is familiar with. So someone would have to be the one to write the first open source mod with these kinds of capabilities (particular the vote capabilities).
Maybe these already exists in a Nexuiz mod or somewhere else in the DarkPlaces universe.
This is a quick look at why (almost) all servers run ProQuake right now -- and, in comparison, why it would be relatively difficult for most of them to switch to DarkPlaces as the server.
Brief History
The original Quake server (winquake) had a ton of exploits. A lot! I can't remember them all but all kinds of attacks were possible.
Although there are many new NQ clients -- JoeQuake, Telejano, Vengeance R2, and on and on -- only 2 improved servers with full standard NetQuake server capability exist today: ProQuake and DarkPlaces.
ProQuake server solved almost all of the problems (didn't solve IP masking though). DarkPlaces server, while road tested in other scenes, never has really been tried in the NetQuake community.
QCCX Barrier
DarkPlaces does not support "QCCX'd QuakeC", special code supported by ProQuake that really isn't QuakeC but gives ProQuake server certain extra capabilities otherwise not possible with standard ID software QuakeC.
This non-standard code is virtually unintelligible, barely documented but served a purpose in it's time by permitting special capabilities that were compatible with ID Software's Quake before Quake became open source.
A Look At What Is "Served"
There are only a few mods out there that get a lot of play:
1. RuneQuake. Moderately QCCX'ed. Open source.
2. CRMOD. Heavily QCCX'd and closed source and non-developed.
3. CRCTF 2.0. Heavily QCCX'd and closed source and non-developed.
4. Rook's CRCTF 3.2. Probably QCCX'd to some degree, only he knows.
5. CA+. Probably QCCX'd to some degree, closed source and non-developed.
6. RQuake. Moderately QCCX'ed. Open Source.
7. CAx. Probably QCCX'd to some degree, only Rook and Bam would know.
8. Rocket Arena, RuneQuake version. Moderately QCCX'ed. Open source.
There is close to 100% of the mods that get played a lot. None of these mods could be run on DarkPlaces server without modification.
This doesn't mean it is impossible. It may be possible to run CAx and Rook's CRCTF under DarkPlaces with mild modifications.
RuneQuake, RQuake and Rocket Arena (which is the exact same thing as RuneQuake, with a different server.cfg) are open source but it appears that the code utilizes a good deal of QCCX compiler specific code (Slot Zero and Lardarse's thread discussing this).
That doesn't leave many remaining mods. Slide. AirQuake. Maybe DM+. IHOC possibly. Vanilla DM or vanilla RA in some form.
Although I am sure that DarkPlaces can run code compiled with FrikQCC, Lardarse attempted to compile a very early version of RuneQuake (0.1) with FTEQCC -- probably the best compiler -- and encountered tons of warnings so it is likely to assume even Artifact RJS (RuneQuake's precursor) would be difficult to make it compile with FTEQCC.
The Signficance of RuneQuake
RuneQuake has been a very important mod for the NetQuake community in ways even players that don't like RuneQuake aren't aware of.

The Rocket Arena mode in RuneQuake (which does not have Runes) is greatly preferred to all other forms of Rocket Arena by most players.
RuneQuake has 3 things built into it that have nothing to do with Runes:
1. Vote-options. Long ago Quake moved from a "admin-controlled" game to a player controlled game. This means players want the ability to change the map, vote rules and basically run the server without an admin.
Servers that do not have this flexibility (Fear, Beatdown Alley) are generally less popular because players are stuck on some map that happens to be running or maybe with a setup they don't like (on Shmack:26002 you can vote almost anything and the same with CAx, CRMOD and CRCTF).
2. Observer system. A convenience to those that want to watch instead of play. You can press 4 when connected to a RuneQuake server to watch or when dead.
3. Online battle-tested. RuneQuake has been heavily debugged and proofed against numerous different situations plus it is open source. Progs 1.06 is very flawed by itself and allows for all sorts of bad things (infinite typing "kill in console", infinite changing colors, etc.)
Hence, RuneQuake is one of the few codebases that a new mod can be built on, which is why there have been a ton of derivatives.
xCTF (link) is another example of an online played tested open source code base.
The Future
None of this means that no server can be setup using DarkPlaces. There are other mods with some of this functionality. Assuming that Lardarse, for example, can successfully get RuneQuake 0.1 to compile with FTEQCC, the following would be the remaining obstacles:
1. IP Masking, engine side. This is probably easy to do. Most mods including CAx do this mod-side with QCCX code. Some servers like Shmack and IHOC use engine-side IP masking
2. Vote capability. As far as I know, most of the capabilities of RuneQuake to support, for example, 200+ custom maps and countless different vote options somehow seems to depend on QCCX code (I could be wrong!).
I mention RuneQuake 0.1 as signficant because it is open source and has an observer system and has been battle tested and really only varies from the later versions of RQ in the sense that it has very few voting options.
Basically, in summary the main problem of using DarkPlaces as a server is that a mod would have to pioneer these areas using QC extensions and such that as far as I know, no one in NQ is familiar with. So someone would have to be the one to write the first open source mod with these kinds of capabilities (particular the vote capabilities).
Maybe these already exists in a Nexuiz mod or somewhere else in the DarkPlaces universe.
Comment