Difference between revisions of "ZDaemon"

From DoomWiki.org

[checked revision][checked revision]
m (Other utilities: Markup)
m (Sources: +featured template)
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
<div style="float: right;">
 
{{InfoboxSourcePort
 
{{InfoboxSourcePort
 
|title = ZDaemon
 
|title = ZDaemon
 
|logo = [[File:ZDaemon_109_Logo.png]]
 
|logo = [[File:ZDaemon_109_Logo.png]]
 
|standard = [[Doom]], [[Boom]], [[Heretic]]
 
|standard = [[Doom]], [[Boom]], [[Heretic]]
|developer = [[AF-Domains]], [[Doom2pro]], [[Kilgore]], [[Lyfe]], [[Phenex2]], [[Raider]], [[Venom]], [[Worst-vd-plas]]
+
|developer = [[AF-Domains]], [[Doom2pro]], [[Kilgore]], [[Krawa]], [[Lyfe]], [[Phenex2]], [[Raider]], [[Rhinoduck]], Venom, [[Worst-vd-plas]]
 
|baseparent = [[csDoom]]
 
|baseparent = [[csDoom]]
|programming language = [[Wikipedia:C++|C++]]
+
|programming language = {{wp|C++}}
 
|status = Active
 
|status = Active
 
|platform = Windows, Cross-Platform (Server Only)
 
|platform = Windows, Cross-Platform (Server Only)
 
|license = [[Doom Source License]], 3-point BSD, others
 
|license = [[Doom Source License]], 3-point BSD, others
 
|website = [http://zdaemon.org/ zdaemon.org]
 
|website = [http://zdaemon.org/ zdaemon.org]
}}'''ZDaemon''' is a modified [[Doom]] [[source port]] based on [[ZDoom]] for both Windows and Linux/Unix (server only at this time), purposely-built for playing [[multiplayer]] games over the Internet. The current official version is {{:{{PAGENAME}}/Version}} ({{:{{PAGENAME}}/Date}}). ZDaemon itself is based on [[ZDoom]] 1.23, which was one of the last major versions of ZDoom before moving to its current 2.xx codebase. It features some of the features available from ZDoom such as the majority of line types, [[slope]]d lines, and deep water, but it lacks some of the more advanced functions of later versions of ZDoom, such as [[DECORATE]], flat and texture mixing, and other similar features.
+
}}
However, ZDaemon itself features an enhanced network code suitable for client/server games, stats and experience collection, teamplay support, and a [[Capture the Flag]] mode.
 
 
 
 
[[Image:ZDaemon_109_Launcher.png|thumb|Screenshot of ZDaemon Launcher]]
 
[[Image:ZDaemon_109_Launcher.png|thumb|Screenshot of ZDaemon Launcher]]
 +
</div>
 +
'''ZDaemon''' is a multiplayer-focused [[source port]] based on [[ZDoom]] for both Windows and Linux/Unix (server only at this time). The current stable release is {{:{{PAGENAME}}/Version}} ({{:{{PAGENAME}}/Date}}). ZDaemon was originally derived from [[zdoom:ZDoom version history#2000|ZDoom v1.23]], which was one of the last major versions of ZDoom before moving to its current 2.xx codebase. It includes some of ZDoom's advanced features such as the majority of line types, [[slope]]d lines, and [[deep water]], but lacks some later implementations such as [[DECORATE]], flat and texture mixing, and other similar features. ZDaemon features an enhanced network code suitable for [[client/server]] games, stats and experience collection, teamplay support, and a [[Capture the Flag]] mode.
  
 
== Features ==
 
== Features ==
Line 25: Line 26:
 
*[[Hacx]]
 
*[[Hacx]]
  
[[Hexen]] is only partially supported by the ZDaemon engine because it is based on the old [[ZDoom]] base code, version 1.23. Support is to be added but the priority is very low.
+
[[Hexen]] is only partially supported by the ZDaemon engine because ZDoom itself only partially supported it at the time of the fork. Completing this is on the project roadmap but the priority is very low.
  
 
===Supported game modes===
 
===Supported game modes===
* Cooperative
+
* [[Cooperative]]
 
* Survival
 
* Survival
* DeathMatch
+
* [[Deathmatch]]
* Team DeathMatch
+
* Team Deathmatch
* Capture the Flag
+
* [[Capture the Flag]]
 
* Double Domination
 
* Double Domination
 
* King of the Hill
 
* King of the Hill
  
 
===Other features===
 
===Other features===
* Partial support of ZDoom [[ACS]] scripting
+
* Partial support of [[ACS|ACS scripting]]
 
* Advanced netcode for smoother movement
 
* Advanced netcode for smoother movement
* Demo recording
+
* [[Demo]] recording
* DVD like demo playback (skip forward/backward, pause, etc.)
+
* DVD-like demo playback (skip forward/backward, pause, etc.)
* In-game voice chat
+
* Ingame voice chat
 
* Super-Sampling Anti-Aliasing
 
* Super-Sampling Anti-Aliasing
 
* Vampire mode
 
* Vampire mode
* InstaGib
+
* [[InstaGib]]
* Dynamic bots
+
* Dynamic [[bot]]s
 
* Killingspree announcer
 
* Killingspree announcer
* In-Game voice announcements
+
* Ingame voice announcements
 
* Unlagged
 
* Unlagged
  
 
===Game adaptations===
 
===Game adaptations===
The voices used for announcements of most CTF/Deathmatch/Team Deathmatch games were taken from ''[[Wikipedia:Quake III Arena|Quake III Arena]]'' and ''[[Wikipedia:Unreal Tournament|Unreal Tournament]]''. They were compiled together by the creator of the WADs zvox.wad and zvox2.wad, and are subject to change with time. There are also some custom soundpacks which are made and maintained by individual authors and are subject to change at any time according to the author.
+
The voices used for announcements of most CTF/Deathmatch/Team Deathmatch games were taken from {{wp|Quake III Arena}} and {{wp|Unreal Tournament}}. They were compiled together by the creator of the WADs zvox.wad and zvox2.wad, and are subject to change with time. There are also some custom soundpacks which are made and maintained by individual authors, and also subject to change at any time as they are independent of the main development team.
  
 
== Community ==
 
== Community ==
  
The ZDaemon community itself, while not part of the ZDaemon program in a strict sense, plays a huge role in experience of playing ZDaemon online. It features many methods of discussion, many ways to 'get involved', and the ZDaemon team themselves would host many things that normally would get relegated to other outside organizations or websites.
+
The ZDaemon user community, while not formally part of the ZDaemon development program, plays a huge role in the experience of playing ZDaemon online. It features many discussion forums and many avenues to begin contributing content, and the ZDaemon team itself hosts and maintains many related resources to ensure cohesion and interoperability.
  
 
The community's discussion and gaming services include:
 
The community's discussion and gaming services include:
  
*ZDaemon Chat / '''[[Zdplayers (IRC channel)|#zdplayers]]''' on '''ZDirc'''.
+
*ZDaemon Chat / '''[[Zdplayers (IRC channel)|#zdplayers]]''' on ''ZDirc''.
*'''[[Zdaemon (IRC channel)|#zdaemon]] on '''irc.freenode.net'''.'''
+
*'''[[Zdaemon (IRC channel)|#zdaemon]]''' on {{wp|Freenode}}.
 
*[http://forums.zdaemon.org/ The ZDaemon Forums.]
 
*[http://forums.zdaemon.org/ The ZDaemon Forums.]
 
*[http://forums.zdaemon.org/index.php?c=8 ZDaemon Tournaments.]
 
*[http://forums.zdaemon.org/index.php?c=8 ZDaemon Tournaments.]
Line 67: Line 68:
  
 
===Weekly gaming sessions===
 
===Weekly gaming sessions===
ZDaemon has [http://forums.zdaemon.org/index.php?c=14 scheduled gaming sessions] each week, such as "Wednesday Night Flags," which is a weekly Capture The Flag game, "Thursday Night Survival," which is a weekly cooperative game where each player has a limited number of lives during each round, "Friday's Monster Mash" which is a weekly cooperative game where players have an unlimited number of lives/respawns, "ZDaemon Sessions," which is where the staff and/or community chooses a wad/map to play each Saturday, and finally, "Frag Your Brains Out," which is a weekly free-for-all, or deathmatch, that is run every Sunday.
+
ZDaemon has [http://forums.zdaemon.org/index.php?c=14 scheduled gaming sessions] each week, such as "Wednesday Night Flags," which is a weekly Capture the Flag game; "Thursday Night Survival," a weekly cooperative game where each player has a limited number of lives per round; "Friday's Monster Mash", a weekly cooperative game where players have an unlimited number of lives/respawns; "ZDaemon Sessions," which is where the staff and/or community chooses a wad/map to play each Saturday; and "Frag Your Brains Out," which is a weekly [[free-for-all]] deathmatch run every Sunday.
  
 
===Clan activity===
 
===Clan activity===
Line 74: Line 75:
 
== Other utilities ==
 
== Other utilities ==
 
====ZLauncher====
 
====ZLauncher====
ZLauncher is a specialized launcher made specifically for ZDaemon. It provides an official list of currently available servers for people to play on. It also features a buddy list, GetWAD (automatic wad downloading), a quick link to ZSW (the server wizard) from the menu, a [[WAD]] file setup utility, demo recording, playback utilities, a built in chat lobby (based on [[IRC]]), and embedded forum access. It is maintained by team member Kilgore.
+
ZLauncher is a specialized launcher created specifically for ZDaemon. It provides an official list of currently available servers for people to play on. It also features a buddy list, GetWAD (automatic wad downloading), a quick link to ZSW (the server wizard) from the menu, a [[WAD]] file setup utility, demo recording, playback utilities, a built in chat lobby (based on [[IRC]]), and embedded forum access. It is maintained by team member Kilgore.
  
 
====ZDaemon Server Wizard====
 
====ZDaemon Server Wizard====
This is a new utility for creating a ZDaemon server.
+
This is a relatively new utility for creating a ZDaemon server.
  
 
====ZDaemon Relay Chat====
 
====ZDaemon Relay Chat====
This is a modular IRC client created by team member Kilgore which was designed for use with the ZDaemon IRC chat server. It can still act as a general purpose IRC client. When used within ZLauncher, it automatically joins ZDaemon's IRC server, enabling users to chat other players who are logged in to ZDaemon. zrc.exe is a standalone version of the client which can also be used to access ZDaemon's IRC server, however the user must provide their master server account password on the connect line as the IRC server's password in order to connect.
+
This is a modular IRC client created by team member Kilgore which was designed for use with the ZDaemon IRC chat server. It can still act as a general-purpose IRC client. When used within ZLauncher, it automatically joins ZDaemon's IRC server, enabling users to chat other players who are logged in to ZDaemon. zrc.exe is a standalone version of the client which can also be used to access ZDaemon's IRC server, however the user must provide their master server account password on the connect line as the IRC server's password in order to connect.
  
 
====GetWAD====
 
====GetWAD====
This is a modular utility created by team member Kilgore that looks on various repositories for user created mods (wad, pk3 files, for example) which it then downloads and extracts to the user's specified directory automatically.
+
This is a modular utility created by team member Kilgore that searches various repositories for third-party (WADs or .pk3 files for example), which it then downloads and extracts to the user's specified directory automatically.
  
 
== Linux and Mac support ==
 
== Linux and Mac support ==
Line 90: Line 91:
  
 
== History ==
 
== History ==
'''2001'''<br />
+
{| {{prettytable}}
On January the 31th, [[Sergey Makovkin (Fly)]] ceased development of his client/server modification of [[ZDoom]] 1.22, [[csDoom]].
+
|-
 +
! Year !! Developments
 +
|-
 +
| '''2001''' || On January the 31th, [[Sergey Makovkin (Fly)]] ceased development of his client/server modification of [[ZDoom]] 1.22, [[csDoom]].
 
[[Nightfang]] used [[csDoom]] 0.7 as a base for his own port named ZDaemon and released ZDaemon 0.8 on February the 20th at [http://web.archive.org/web/20010402045911/http://www.truelights.com/ www.truelights.com]. On March the 11th, March the 12th, June the 2nd, June the 18th and July the 5th, versions 0.9, 0.92, 0.95, 0.96 and 0.99 were released, respectively.
 
[[Nightfang]] used [[csDoom]] 0.7 as a base for his own port named ZDaemon and released ZDaemon 0.8 on February the 20th at [http://web.archive.org/web/20010402045911/http://www.truelights.com/ www.truelights.com]. On March the 11th, March the 12th, June the 2nd, June the 18th and July the 5th, versions 0.9, 0.92, 0.95, 0.96 and 0.99 were released, respectively.
 
+
|-
'''2002'''<br />
+
| '''2002''' || In March, the ZDaemon homepage moved to [http://web.archive.org/web/20020531013722/http://www.zdaemon.com/ www.zdaemon.com].
In March, the ZDaemon homepage moved to [http://web.archive.org/web/20020531013722/http://www.zdaemon.com/ www.zdaemon.com].
+
To improve the network code for ZDaemon 1.0, [[Nightfang]] rewrote the core netcode, which eliminated the GPLed [[wikipedia:QuakeWorld|QuakeWorld]] networking code that Fly incorporated in csDoom and thus resolved the {{Dwforums|id=44358|title=conflicting licenses}} that ZDaemon inherited from csDoom (GPLed Quakeworld code and DSLed ZDoom) and allowed the developers to include code from ZDoom 1.23 and later versions without conflict. The ZDaemon core codebase was updated to ZDoom 1.23 beta 33, which, among other things, added support for [[Heretic]] and slopes.
To improve the network code for ZDaemon 1.0, [[Nightfang]] rewrote the core netcode, which eliminated the GPLed [[wikipedia:QuakeWorld|QuakeWorld]] networking code that Fly incorporated in csDoom and thus resolved the [http://www.doomworld.com/vb/source-ports/44358-doom-license-gpl-confusing-loopholes/ conflicting licenses] that ZDaemon inherited from csDoom (GPLed Quakeworld code and DSLed ZDoom) and allowed the developers to include code from ZDoom 1.23 and later versions without conflict. The ZDaemon core codebase was updated to ZDoom 1.23 beta 33, which, among other things, added support for [[Heretic]] and slopes.
 
 
ZDaemon 1.0 was released in November, followed by ZDaemon 1.02 a few days later and ZDaemon 1.03 in December.
 
ZDaemon 1.0 was released in November, followed by ZDaemon 1.02 a few days later and ZDaemon 1.03 in December.
 
+
|-
'''2003'''<br />
+
| '''2003''' || In early 2003, the ZDaemon homepage moved to [http://www.zdaemon.org/ www.zdaemon.org].
In early 2003, the ZDaemon homepage moved to [http://www.zdaemon.org/ www.zdaemon.org].
 
 
In April, ZDaemon 1.04 was released followed by ZDaemon 1.04c and ZDaemonGL 1.04 in June. Shortly thereafter, [[Nightfang]] retired from the ZDaemon project and Raider became the new project leader.
 
In April, ZDaemon 1.04 was released followed by ZDaemon 1.04c and ZDaemonGL 1.04 in June. Shortly thereafter, [[Nightfang]] retired from the ZDaemon project and Raider became the new project leader.
 
In August, Kilgore joined the team and started working on a teamplay mode for ZDaemon. Furthermore, a gradual rewrite of the netcode was carried out over the following major releases.
 
In August, Kilgore joined the team and started working on a teamplay mode for ZDaemon. Furthermore, a gradual rewrite of the netcode was carried out over the following major releases.
 
ZDaemon 1.05 was released in October, bundled with GetWAD for automatic WAD downloads.
 
ZDaemon 1.05 was released in October, bundled with GetWAD for automatic WAD downloads.
 
+
|-
'''2004'''<br />
+
| '''2004''' ||
 
In March, ZDaemon 1.06 was released and after numerous point releases throughout the year the last version where the source was available, 1.06.08, was released in November.
 
In March, ZDaemon 1.06 was released and after numerous point releases throughout the year the last version where the source was available, 1.06.08, was released in November.
 +
|-
 +
| '''2005 - Today''' || Starting with the 1.07 release in July 2005, the ZDaemon project ceased to make source code available and has remained closed source from that point forward (see [[#Criticism|Source Code]]). In August 2005, ZDaemon 1.07.01 was released and unlagged support was added. In December 2005, ZDaemon 1.08 was released. For more information on subsequent releases including the current version, see the [http://zdaemon.org/?CMD=info&NAME=changelog ZDaemon changelog].
 +
|}
  
'''2005 - Today'''<br />
+
== Criticism ==
Starting with the 1.07 release in July 2005, the ZDaemon project does not make the source code available anymore and has remained closed source from that point forward (see [[#Criticism|Source Code]]). In August 2005, ZDaemon 1.07.01 was released and unlagged support was added. In December 2005, ZDaemon 1.08 was released. For more information on the following releases and the most recent release read the [http://zdaemon.org/?CMD=info&NAME=changelog ZDaemon Changelog].
+
===Cheating===
 +
For the most part the ZDaemon team has managed to keep [[cheating]] relatively under control through closing the source, regular security updates, and surveillance (for instance, [[demo]] recordings are often demanded during competitive tournaments to combat cheats like [[aimbot]]s or [[wallhack]]s). ZDaemon contains also some kind of cheating detection system which detects third party cheat applications.
  
== Criticism ==
+
Public accusations of cheating (whether founded or not) are frowned upon as unnecessary public disturbance, with Raider once calling it a form of harassment. For this reason, it is usually requested that such reports be relegated to a private dialog with a member of the staff. The administrators maintain that they ban only when given clear evidence by their cheat detection system and stand by their policy.
'''Cheating'''<br />
 
For the most part the ZDaemon team has managed to keep cheating relatively under control through closing the source, security updates, and surveillance (for instance, [[demo]] recordings are often demanded during competitive tournaments to combat cheats like aimbots, or wallhacks). ZDaemon contains also some kind of cheating detection system which detects third party cheat applications.
 
Public accusations of cheating (whether legitimate or not) are frowned upon as unnecessary public disturbance, with Raider once declaring it as a form of harassment. For this reason, it is usually requested that such reports be relegated to a private dialog with a member of the staff. The administrators maintain that they ban only when given clear evidence by their cheat detection system and stand by their policy.
 
  
'''Source code'''<br />
+
===Source code===
The initial ZDaemon release inherited csDoom's [http://www.doomworld.com/vb/source-ports/44358-doom-license-gpl-confusing-loopholes/ conflicting licenses], which made it impossible to legally assign either the [[Wikipedia:GNU General Public License|GPL]] or [[Doom Source License|DSL]] to the codebase. This conflict was resolved in ZDaemon 1.0 when the GPLed parts of the source code were rewritten and the project was again under the [[Doom Source License|DSL]], which it inherited from its ZDoom 1.22 base. This change allowed ZDaemon 1.0 to to include BUILD licensed code from ZDoom 1.23.  
+
The initial ZDaemon release inherited csDoom's {{Dwforums|id=44358|title=conflicting licenses}}, which made it impossible to legally assign either the [[Wikipedia:GNU General Public License|GPL]] or [[Doom Source License|DSL]] to the codebase. This conflict was resolved in ZDaemon 1.0 when the GPLed parts of the source code were rewritten and the project was again under the [[Doom Source License|DSL]], which it inherited from the ZDoom 1.22 codebase. This change allowed ZDaemon 1.0 to to include BUILD licensed code from ZDoom 1.23.  
  
Starting with the ZDaemon 1.07 release in July 2005, the development team stopped releasing the source code due to numerous exploits and cheating incidents. Unlike the [[Wikipedia:GNU General Public License|GPL]], the [[Doom Source License|DSL]] does not forbid closing the source code. This action caused some free software friendly people to distance themselves from the ZDaemon community, criticizing the move as a form of [[Wikipedia:security through obscurity|security through obscurity]], though it makes development of cheats more difficult through the implementation of [[Wikipedia:Cheating in online games#Anti-cheating methods and limitations|anti-cheating methods]]. The move also makes development of alternate ZDaemon clients and servers impossible, and is uncommon in the Doom community where most source ports have their source code publicly available. [[Skulltag]], a formerly closed-source multiplayer-oriented source port, faced the same criticism until it was opened in February 2012.
+
Starting with the ZDaemon 1.07 release in July 2005, the development team stopped releasing the source code due to numerous exploits and cheating incidents. Unlike the [[Wikipedia:GNU General Public License|GPL]], the [[Doom Source License|DSL]] does not forbid closing the source code. This action caused some free software friendly people to distance themselves from the ZDaemon community, criticizing the move as a form of [[Wikipedia:security through obscurity|security through obscurity]], though it makes development of cheats more difficult through the implementation of [[Wikipedia:Cheating in online games#Anti-cheating methods and limitations|anti-cheating methods]]. The move also makes development of alternate ZDaemon clients and servers impossible, which is uncommon in the Doom community given that most ports make their source code publicly available. [[Skulltag]], a formerly closed-source multiplayer-oriented source port, faced the same criticism until it was opened in February 2012.
  
The developers have agreed that anyone wanting to develop a new feature or bugfix may do so using the older ZDaemon 1.06 codebase and submit it to the core development team for inclusion.
+
The developers have stated that anyone wishing to develop a new feature or bugfix may do so using the older ZDaemon 1.06 codebase and submit it to the core development team for inclusion.
  
'''Bans'''<br />
+
===Bans===
 
The ZDaemon master server will only advertise servers that enforce a ban list controlled by the ZDaemon staff. Servers that do not enforce this ban list are not shown to users. The effective result of this is that the ZDaemon staff have the ability to ban anyone they choose from all ZDaemon servers advertised on the master. No ban list (or other) restrictions apply to servers not advertised on the master. While this allows the removal of cheaters, the mechanism used can occasionally block innocent players as well due to matching dynamic IP ranges. Nevertheless, it is a common banning method used by other multiplayer Doom ports and many online games in general.
 
The ZDaemon master server will only advertise servers that enforce a ban list controlled by the ZDaemon staff. Servers that do not enforce this ban list are not shown to users. The effective result of this is that the ZDaemon staff have the ability to ban anyone they choose from all ZDaemon servers advertised on the master. No ban list (or other) restrictions apply to servers not advertised on the master. While this allows the removal of cheaters, the mechanism used can occasionally block innocent players as well due to matching dynamic IP ranges. Nevertheless, it is a common banning method used by other multiplayer Doom ports and many online games in general.
 +
 
Ban appeals, especially those of bystanders caught in the range bans of others, often end up as over-dramatized forum posts. For this reason, it is usually requested that such appeals be relegated to a private dialog with a member of the staff.
 
Ban appeals, especially those of bystanders caught in the range bans of others, often end up as over-dramatized forum posts. For this reason, it is usually requested that such appeals be relegated to a private dialog with a member of the staff.
  
'''GetWAD'''<br />
+
===GetWAD===
Doom source ports require a Doom IWAD file which contains the graphics, levels and other media that are used in the game. These IWAD files are still copyrighted. This means that although source ports can be freely downloaded, users must still buy a copy of Doom in order to play. [[#Other utilities|ZLauncher]], [[Internet Doom Explorer|IDE]] and IDEse ([[Internet Doom Explorer|IDE]] [[Skulltag]] edition) allowed GetWAD to automatically locate and download any WAD files, including IWAD files, without restrictions. ZDaemon never officially condoned any form of piracy, yet some people took issue with the downloading of IWADs [http://mancubus.net/forum/index.php?topic=651.0]. More recent versions of [[#Other utilities|ZLauncher]] and [[Internet Doom Explorer|IDE]] block the automatic download of commercial WAD files.
+
Doom source ports require a Doom IWAD file which contains the graphics, levels and other media that are used in the game. These IWAD files are still copyrighted. This means that although source ports can be freely downloaded, users must still buy a copy of Doom in order to play. [[#Other utilities|ZLauncher]], [[Internet Doom Explorer|IDE]] and IDEse (Internet Doom Explorer, Skulltag Edition) allowed GetWAD to automatically locate and download any WAD files, including IWAD files, without restrictions. ZDaemon never officially condoned any form of piracy, yet some people took issue with the downloading of IWADs [http://mancubus.net/forum/index.php?topic=651.0]. More recent versions of [[#Other utilities|ZLauncher]] and [[Internet Doom Explorer|IDE]] block the automatic download of commercial WAD files.
  
'''Fake aimbot trojan'''<br />
+
===Fake aimbot trojan===
ZDaemon staff member Doom2pro [http://mancubus.net/forums/index.php?topic=641.msg3342#msg3342 released] a trojan program, purporting to be a ZDaemon cheat, in a global cheat developing forum to trick regular cheaters to download it. When run, the program would inform Doom2pro and delete the ZDaemon folder from the user's computer. Although Doom2pro acted independently of the rest of the ZDaemon staff, ZDaemon has nonetheless been criticised for his methods.
+
ZDaemon staff member Doom2pro [http://mancubus.net/forums/index.php?topic=641.msg3342#msg3342 released] a {{wp|Trojan horse (computing)|trojan program}}, purporting to be a ZDaemon cheat, in a global cheat development forum to trick regular cheaters to download it. When run, the program would inform Doom2pro and delete the ZDaemon folder from the user's computer. Although Doom2pro acted independently of the rest of the ZDaemon staff, ZDaemon has nonetheless been criticised for his methods.
  
 
== The ZDaemon team ==
 
== The ZDaemon team ==
  
'''Raider'''<br />
+
* '''Raider''': Project Leader
''Project Leader''<br />
+
* '''AF-Domains''': Administration and development
 
+
* '''Da_maniaC''': ZDaemon [[Steam]] group administrator
'''AF-Domains'''<br />
+
* '''Doom2pro''': Development
''Administration''<br />
+
* '''Evolution''': ZDaemon Steam group administrator
 
+
* '''Kilgore''': Development and support
'''Da_maniaC'''<br />
+
* '''Krawa''': Development
''ZDaemon Steam Group Administrator''<br />
+
* '''Lyfe''': Development
 
+
* '''Phenex2''': Development and support
'''Doom2pro'''<br />
+
* '''Rhinoduck''': Development
''Development''<br />
+
* '''Venom''': Development
 
+
* '''Worst-vd-plas''': Development
'''Dannyboy'''<br />
 
''Support''<br />
 
 
 
'''Evolution'''<br />
 
''ZDaemon Steam Group Administrator''<br />
 
 
 
'''Kilgore'''<br />
 
''Development and Support''<br />
 
 
 
'''Lyfe'''<br />
 
''Development''<br />
 
 
 
'''Phenex2'''<br />
 
''Development and Support''<br />
 
 
 
'''Venom'''<br />
 
''Development''<br />
 
 
 
'''Worst-vd-plas'''<br />
 
''Development''<br />
 
  
 
== Sources ==
 
== Sources ==
 
* {{wikipedia|title=Doom source port}}
 
* {{wikipedia|title=Doom source port}}
  
 +
{{featured article}}
 
{{s-start}}
 
{{s-start}}
 
{{s-port}}
 
{{s-port}}

Revision as of 17:12, 1 February 2019

ZDaemon
File:ZDaemon 109 Logo.png
Standard Doom, Boom, Heretic
Codebase csDoom
Developer(s) AF-Domains, Doom2pro, Kilgore, Krawa, Lyfe, Phenex2, Raider, Rhinoduck, Venom, Worst-vd-plas
Latest release 1.10.24 (2023-11-21, 4 months ago)
Development status Active
Written in C++
Target Platform Windows, Cross-Platform (Server Only)
License Doom Source License, 3-point BSD, others
Website zdaemon.org
Screenshot of ZDaemon Launcher

ZDaemon is a multiplayer-focused source port based on ZDoom for both Windows and Linux/Unix (server only at this time). The current stable release is 1.10.24 (2023-11-21). ZDaemon was originally derived from ZDoom v1.23, which was one of the last major versions of ZDoom before moving to its current 2.xx codebase. It includes some of ZDoom's advanced features such as the majority of line types, sloped lines, and deep water, but lacks some later implementations such as DECORATE, flat and texture mixing, and other similar features. ZDaemon features an enhanced network code suitable for client/server games, stats and experience collection, teamplay support, and a Capture the Flag mode.

Features

Supported games

Hexen is only partially supported by the ZDaemon engine because ZDoom itself only partially supported it at the time of the fork. Completing this is on the project roadmap but the priority is very low.

Supported game modes

Other features

  • Partial support of ACS scripting
  • Advanced netcode for smoother movement
  • Demo recording
  • DVD-like demo playback (skip forward/backward, pause, etc.)
  • Ingame voice chat
  • Super-Sampling Anti-Aliasing
  • Vampire mode
  • InstaGib
  • Dynamic bots
  • Killingspree announcer
  • Ingame voice announcements
  • Unlagged

Game adaptations

The voices used for announcements of most CTF/Deathmatch/Team Deathmatch games were taken from Quake III Arena and Unreal Tournament. They were compiled together by the creator of the WADs zvox.wad and zvox2.wad, and are subject to change with time. There are also some custom soundpacks which are made and maintained by individual authors, and also subject to change at any time as they are independent of the main development team.

Community

The ZDaemon user community, while not formally part of the ZDaemon development program, plays a huge role in the experience of playing ZDaemon online. It features many discussion forums and many avenues to begin contributing content, and the ZDaemon team itself hosts and maintains many related resources to ensure cohesion and interoperability.

The community's discussion and gaming services include:

Weekly gaming sessions

ZDaemon has scheduled gaming sessions each week, such as "Wednesday Night Flags," which is a weekly Capture the Flag game; "Thursday Night Survival," a weekly cooperative game where each player has a limited number of lives per round; "Friday's Monster Mash", a weekly cooperative game where players have an unlimited number of lives/respawns; "ZDaemon Sessions," which is where the staff and/or community chooses a wad/map to play each Saturday; and "Frag Your Brains Out," which is a weekly free-for-all deathmatch run every Sunday.

Clan activity

Main article: Clans

Other utilities

ZLauncher

ZLauncher is a specialized launcher created specifically for ZDaemon. It provides an official list of currently available servers for people to play on. It also features a buddy list, GetWAD (automatic wad downloading), a quick link to ZSW (the server wizard) from the menu, a WAD file setup utility, demo recording, playback utilities, a built in chat lobby (based on IRC), and embedded forum access. It is maintained by team member Kilgore.

ZDaemon Server Wizard

This is a relatively new utility for creating a ZDaemon server.

ZDaemon Relay Chat

This is a modular IRC client created by team member Kilgore which was designed for use with the ZDaemon IRC chat server. It can still act as a general-purpose IRC client. When used within ZLauncher, it automatically joins ZDaemon's IRC server, enabling users to chat other players who are logged in to ZDaemon. zrc.exe is a standalone version of the client which can also be used to access ZDaemon's IRC server, however the user must provide their master server account password on the connect line as the IRC server's password in order to connect.

GetWAD

This is a modular utility created by team member Kilgore that searches various repositories for third-party (WADs or .pk3 files for example), which it then downloads and extracts to the user's specified directory automatically.

Linux and Mac support

ZDaemon provides server binary builds for Linux and FreeBSD. During the 1.09 beta phase a Mac client was available for testing. An official Linux and Mac client release is planned for 1.10 or later. Until the arrival of a native client, users may play using emulation software such as WINE, Cedega or CrossOver. Playing using this software is allowed.

History

Year Developments
2001 On January the 31th, Sergey Makovkin (Fly) ceased development of his client/server modification of ZDoom 1.22, csDoom.

Nightfang used csDoom 0.7 as a base for his own port named ZDaemon and released ZDaemon 0.8 on February the 20th at www.truelights.com. On March the 11th, March the 12th, June the 2nd, June the 18th and July the 5th, versions 0.9, 0.92, 0.95, 0.96 and 0.99 were released, respectively.

2002 In March, the ZDaemon homepage moved to www.zdaemon.com.

To improve the network code for ZDaemon 1.0, Nightfang rewrote the core netcode, which eliminated the GPLed QuakeWorld networking code that Fly incorporated in csDoom and thus resolved the conflicting licenses that ZDaemon inherited from csDoom (GPLed Quakeworld code and DSLed ZDoom) and allowed the developers to include code from ZDoom 1.23 and later versions without conflict. The ZDaemon core codebase was updated to ZDoom 1.23 beta 33, which, among other things, added support for Heretic and slopes. ZDaemon 1.0 was released in November, followed by ZDaemon 1.02 a few days later and ZDaemon 1.03 in December.

2003 In early 2003, the ZDaemon homepage moved to www.zdaemon.org.

In April, ZDaemon 1.04 was released followed by ZDaemon 1.04c and ZDaemonGL 1.04 in June. Shortly thereafter, Nightfang retired from the ZDaemon project and Raider became the new project leader. In August, Kilgore joined the team and started working on a teamplay mode for ZDaemon. Furthermore, a gradual rewrite of the netcode was carried out over the following major releases. ZDaemon 1.05 was released in October, bundled with GetWAD for automatic WAD downloads.

2004

In March, ZDaemon 1.06 was released and after numerous point releases throughout the year the last version where the source was available, 1.06.08, was released in November.

2005 - Today Starting with the 1.07 release in July 2005, the ZDaemon project ceased to make source code available and has remained closed source from that point forward (see Source Code). In August 2005, ZDaemon 1.07.01 was released and unlagged support was added. In December 2005, ZDaemon 1.08 was released. For more information on subsequent releases including the current version, see the ZDaemon changelog.

Criticism

Cheating

For the most part the ZDaemon team has managed to keep cheating relatively under control through closing the source, regular security updates, and surveillance (for instance, demo recordings are often demanded during competitive tournaments to combat cheats like aimbots or wallhacks). ZDaemon contains also some kind of cheating detection system which detects third party cheat applications.

Public accusations of cheating (whether founded or not) are frowned upon as unnecessary public disturbance, with Raider once calling it a form of harassment. For this reason, it is usually requested that such reports be relegated to a private dialog with a member of the staff. The administrators maintain that they ban only when given clear evidence by their cheat detection system and stand by their policy.

Source code

The initial ZDaemon release inherited csDoom's conflicting licenses, which made it impossible to legally assign either the GPL or DSL to the codebase. This conflict was resolved in ZDaemon 1.0 when the GPLed parts of the source code were rewritten and the project was again under the DSL, which it inherited from the ZDoom 1.22 codebase. This change allowed ZDaemon 1.0 to to include BUILD licensed code from ZDoom 1.23.

Starting with the ZDaemon 1.07 release in July 2005, the development team stopped releasing the source code due to numerous exploits and cheating incidents. Unlike the GPL, the DSL does not forbid closing the source code. This action caused some free software friendly people to distance themselves from the ZDaemon community, criticizing the move as a form of security through obscurity, though it makes development of cheats more difficult through the implementation of anti-cheating methods. The move also makes development of alternate ZDaemon clients and servers impossible, which is uncommon in the Doom community given that most ports make their source code publicly available. Skulltag, a formerly closed-source multiplayer-oriented source port, faced the same criticism until it was opened in February 2012.

The developers have stated that anyone wishing to develop a new feature or bugfix may do so using the older ZDaemon 1.06 codebase and submit it to the core development team for inclusion.

Bans

The ZDaemon master server will only advertise servers that enforce a ban list controlled by the ZDaemon staff. Servers that do not enforce this ban list are not shown to users. The effective result of this is that the ZDaemon staff have the ability to ban anyone they choose from all ZDaemon servers advertised on the master. No ban list (or other) restrictions apply to servers not advertised on the master. While this allows the removal of cheaters, the mechanism used can occasionally block innocent players as well due to matching dynamic IP ranges. Nevertheless, it is a common banning method used by other multiplayer Doom ports and many online games in general.

Ban appeals, especially those of bystanders caught in the range bans of others, often end up as over-dramatized forum posts. For this reason, it is usually requested that such appeals be relegated to a private dialog with a member of the staff.

GetWAD

Doom source ports require a Doom IWAD file which contains the graphics, levels and other media that are used in the game. These IWAD files are still copyrighted. This means that although source ports can be freely downloaded, users must still buy a copy of Doom in order to play. ZLauncher, IDE and IDEse (Internet Doom Explorer, Skulltag Edition) allowed GetWAD to automatically locate and download any WAD files, including IWAD files, without restrictions. ZDaemon never officially condoned any form of piracy, yet some people took issue with the downloading of IWADs [1]. More recent versions of ZLauncher and IDE block the automatic download of commercial WAD files.

Fake aimbot trojan

ZDaemon staff member Doom2pro released a trojan program, purporting to be a ZDaemon cheat, in a global cheat development forum to trick regular cheaters to download it. When run, the program would inform Doom2pro and delete the ZDaemon folder from the user's computer. Although Doom2pro acted independently of the rest of the ZDaemon staff, ZDaemon has nonetheless been criticised for his methods.

The ZDaemon team

  • Raider: Project Leader
  • AF-Domains: Administration and development
  • Da_maniaC: ZDaemon Steam group administrator
  • Doom2pro: Development
  • Evolution: ZDaemon Steam group administrator
  • Kilgore: Development and support
  • Krawa: Development
  • Lyfe: Development
  • Phenex2: Development and support
  • Rhinoduck: Development
  • Venom: Development
  • Worst-vd-plas: Development

Sources

Source code genealogy
Based on
csDoom
ZDaemon 1.06 Merged
Based on
ZDoom 1.22
Base for
X-Doom
Based on
ZDaemon 1.06
ZDaemon Closed source