IRC daemon

From IRC Wiki
Jump to: navigation, search

An IRC daemon is a server software which, run on the IRC server's hardware, enables the IRC clients to connect and distributes the messages between them, implementing the server-side part of the Internet Relay Chat protocol.

Originally, there was only one single server software named IRCd, but by today, there are douzens of different pieces of IRC server software[1] that are not only forks of the original IRCd (that is, independent enhancements of the original server that go into different directions) like ircu[2] or, a fork of other IRCd forks, UnrealIRCd,[3] but also complete re-implementations written from such scratch as InspIRCd[4], ngIRCd or WeIRCd.

See how they stack up against each other in our IRCd Comparison

The term "IRC daemon"

"IRC daemon" was originally only referring to the first and only IRCd, which is short for "IRC daemon". But today it is an established term for any IRC server software out there, and the first IRCd is simply the "original IRC daemon".

"IRCd" is the short form of "IRC daemon". It more often refers to the original IRCd, but may aswell as "IRC daemon" refer to any IRC daemon or IRC daemons in general.

Therefore, the context has always to be examined closely.

In IRC wiki, "IRCd" without any additions will always refer to the original IRCd and any "IRC daemon" to IRC server software in general, while "XYZ IRCd/XYZ IRC daemon" will refer to a specific daemon.

Technological challenges

Most of the older IRC daemons, including the original IRCd, are single-threaded programs which therefore cannot do multiple things at a time[Source?] and may not prompt any action that will block the program for a longer time.

This poses some challenges e.g. in reverse DNS lookup which is often used for determining the host of an ip address to show it in chat. As most systems' libraries would do this in a blocking mode, some IRCds implement an own DNS resolver[5] which can do it in an asynchronous manner to keep the server running.

Commercial IRC daemons

Despite most IRC daemons being free to use (and even open source), there are some commercial IRC daemons to be found. Most notably, this is OfficeIRC which is geared towards companies as internal chat server and offers a very complex, graphical administration frontend for its Windows users. Most non-commercial IRC daemons target the Unix platform, while often still having Windows forks.

References

  1. http://searchirc.com/ircd-versions
  2. http://www.serverwatch.com/stypes/servers/article.php/15935_1433991/article.htm
  3. http://cvs.unrealircd.com/cgi/viewcvs.cgi/*checkout*/unreal/doc/unrealircd.doc?rev=1.1
  4. http://www.inspircd.org/
  5. http://www.vulnscan.org/UnrealIRCd/faq/#58

See also