Comparison of Internet Relay Chat daemons

From Wikipedia, the free encyclopedia

The following tables compare general and technical information including the differences in feature sets between popular IRC daemons. Please see the individual products' articles or websites for further information. This article is neither all-inclusive nor necessarily up-to-date.

Contents

[edit] Servers

IRC daemon URL Creator/network Basis Programming language First public release Latest stable version (numeric 351) Software license
Bahamut [1] DALnet DreamForge and IRCD-Hybrid C 2002 bahamut-1.8(04) GPL
Charybdis [2] nenolod, jilles, dwr, gxti ircd-ratbox, IRCD-Hybrid, ircu, ShadowIRCd C 2005 charybdis-3.0.1 GPL/BSD
ConferenceRoom [3] WebMaster Incorporated (from scratch) C++ 1996 ConferenceRoom/3.5 Proprietary
csircd [4] Comstud (from scratch) C 1998 csircd-1.14 GPL
InspIRCd [5] InspIRCd Development Team (from scratch) C++ 2002 1.1.19+Cheshire GPL
IRCD [6] Jarkko Oikarinen, IRCNet (from scratch) C 1988 2.11.1p1 GPL
ircd-ratbox [7] Aaron Sethman, Lee Hardy, EFnet Hybrid 7-rc1 C 2002 ircd-ratbox-2.2.8 GPL
ircu [8] Undernet Coder Committee ircd2.8.10 C 1991 ircu2.10.12.10 GPL
ithildin [9] Chip Norkus (from scratch) C 2006 1.1.2 / 1.0r0 BSD
Nefarious IRCu [10] Evilnet Development, AfterNET ircu2 C 2004 u2.10.11.07+Nefarious(1.0.1)+[1755 2006-08-26] GPL
ngIRCd [11] Alex Barton (from scratch) C 2001 ngircd-0.11.1 GPL
OfficeIRC Server [12] Office IRC Inc, Paul Heinlein (from scratch) VB.net 2006 2.0 Proprietary
PleXusIRCd [13] Rizon, thaprince, static Hybrid 7.2.3 C 2005 ircd-plexus-3.0.0-20070708_0-495 GPL
PTlink IRC Server [14] PTlink IRC Software Hybrid 6 C 2001 (v.6) Hybrid6/PTlink6.19.6 GPL
pureIRCd [15] Dennis Fisch aka Diligent (from scratch) C 2002  ? GPL
solid-ircd [16] Gabriel Baez Bahamut C  ? solid-ircd 3.4.8 GPL
UnrealIRCd [17] UnrealIRCd Team EliteIRCd (potvin) C 1999 Unreal3.2.7 GPL
WeIRCd [18] Eloxoph IRC Network (from scratch) C 2007 WeIRCd 0.3.6 Freeware (custom)

[edit] Obsolete servers

The following servers are no longer maintained, but basic details are maintained for posterity. They will not be listed in feature comparison tables.

IRC daemon URL Creator/network Basis Programming language First public release Outcome Software license
Asuka [19] QuakeNet Dev Team ircu C  ? (replaced by snircd) GPL
Austhex [20] AustNet Development ircu2.9 C, Scheme  ? (replaced by inspircd) GPL
bircd [21] beware (from scratch) Delphi 2002? (now unmaintained) GPL
dancer-ircd none freenode Hybrid 6 C 1999 (replaced by hyperion) GPL
DreamForge [22] DALnet irc2.8.mu3 C 1994 (dal), 1997? (df) (replaced by bahamut) GPL
hyperion [23] freenode dancer-ircd 1.0.35+pre2 C 2005 (to be replaced by ircd-seven) GPL
IRCD-Hybrid [24] Hybrid Development Team irc2.8 (IRCD) C 1997 (largely replaced by ircd-ratbox) GPL
IRCXpro Server [25] IRCXpro, Paul Heinlein IRCPlus Visual Basic  ? (replaced by OfficeIRC) Proprietary
pircd [26] Jay F Kominek (from scratch) Perl 1999 (now unmaintained) Open-source (custom)
QuakeIRCd [27] QuakeIRCd Team, Tiburon UnrealIRCd C 2003 (v1.1) (now unmaintained) GPL
SorIrcd [28] SorceryNet dal4.4.10 and irc2.8.mu3 C 1996 (replaced by Charybdis) GPL
UltimateIRCd [29] ShadowRealm Creations DreamForge 2.8 C 2001 (now unmaintained) GPL
Viagra IRCd [30] Chris Schiffner Titan C 2003 (now unmaintained) GPL

[edit] Operating system support

The operating systems the daemons can run on without emulation; also supported event dispatch facilities for network sockets (see IRCd for further information).

IRC daemon Windows Mac OS X Linux BSD Solaris HP-UX AIX select() poll() epoll[1] kqueue[2] RT signals[3] /dev/poll Windows IOCP Solaris IOCP
Bahamut No Yes Yes Yes Yes  ?  ? Yes Yes Yes Yes No Yes No No
Charybdis No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No Yes
ConferenceRoom Yes Yes Yes Yes Yes No No Yes Yes Yes Yes No Yes Yes No
InspIRCd Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes
IRCD No No Yes Yes Yes Yes Yes Yes Yes No No No No No No
ircd-ratbox No  ? Yes Yes Yes  ? Yes Yes Yes Yes Yes Yes Yes No Yes
ircu No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No No
ithildin No No Yes Yes  ?  ?  ? Yes Yes No Yes No No No No
Nefarious IRCu Yes Yes Yes Yes Yes Yes  ? Yes Yes Yes Yes No Yes No No
ngIRCd Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No No
OfficeIRC Server Yes No No No No No No  ?  ? No No No No No No
PleXusIRCd Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
PTlink IRC Server Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No
pureIRCd Yes No No No No No No Yes No No No No No No No
solid-ircd No Yes Yes Yes Yes  ?  ? Yes Yes Yes Yes No Yes No No
UnrealIRCd Yes No Yes Yes Yes  ?  ? Yes No No No No No No No
WeIRCd No No Yes Yes No No No Yes No No No No No No No

[edit] Technology

Various networking and IRC technology implemented to date.

IRC daemon Modularity Remote Includes IPv6 Client SSL SSL Linking Zip Linking Hostmasking / Cloaking Services Integration (built-in services) LDAP Authentication IRCX Support SASL Support Server Protocol
Bahamut Partial No No No Partial Yes No No No No No TS5 with extensions
Charybdis Yes No Yes Yes Yes Yes Yes No No No Yes TS6 with extensions
ConferenceRoom Partial No No Yes Yes Yes Yes Yes Yes Partial Partial Proprietary, binary
InspIRCd Yes Yes Yes Yes Yes Yes Yes No Yes No Yes (1.2) TS6 based Spanning Tree
IRCD No No Yes No No Yes No No No No No RFC 1459 and RFC 2813 with SID/UID
ircd-ratbox Yes No Yes Yes Yes Yes No No No No No TS5/TS6
ircu No No Yes No No No Yes No No No No P10
ithildin Yes No Yes Yes Yes Yes Yes Yes No No No Module-dependent
Nefarious IRCu No No No Yes No No No No No No No P10 with extensions
ngIRCd No No Yes No No Yes No No No No No RFC 1459 and RFC 2813
OfficeIRC Server Yes No No Yes Yes Yes Yes Yes No Yes Yes DreamForge/UnrealIRCd compatible
PleXusIRCd Yes No Yes Yes Yes Yes Yes No  ? No No TS5/TS6
PTlink IRC Server Yes No Yes Yes Yes Yes No Yes No No No TS5 with extensions
pureIRCd No No No No No No No No No No No No
solid-ircd No No No Yes Yes Yes Yes No No No No TS5 with extensions
UnrealIRCd Partial Yes Yes Yes Yes Yes Yes No No No No DreamForge/TS5 with extensions
WeIRCd No No No No No No No No No No No No

[edit] Features

IRC server features, mostly extensions to RFC 1459. Probably also implementations of RFC 2810, RFC 2811, RFC 2812, RFC 2813, and possibly IRCX.

  • +channels (In early IRCds, these were simply named channels. At least one modern IRCd (IRCD) uses the + prefix for modeless channels, ie no chanops and channel mode forced to +nt. This is described in RFC 2811.)
  • #channels ("+channels" were later replaced with "#channels" in version 2.7, numeric channels were removed entirely and channel bans (mode +b) were implemented.)
  • &channels (irc2.8, those that exist only on the current server, rather than the entire network)
  •  !channels (irc2.10, those that are theoretically safe from suffering from the many ways that a user could exploit a channel by "riding a netsplit"; IRCds using timestamping provide (most of) this functionality on #channels)
  •  %#channels (#channels whose name are in UTF-8 for IRCX)
  •  %&channels (&channels whose name are in UTF-8 for IRCX)
  •  %!channels (!channels whose name are in UTF-8 for IRCX)
IRC daemon Channel Types Halfop Support

(+h %)

Admin/Protect Support

(+a/+u &/!/*)

Founder/Owner Support

(+q ~/.)

Operator Prefixing[4] Advanced Operator ACL Operator "Levels"[5] vHost via i:line (or equivalent) i18n Nicknames RDBMS Integration (SQL)
Bahamut # No No No No No No Partial No No
Charybdis # & No No No No Yes No Yes No No
ConferenceRoom # & No No Yes No Yes Yes Yes Partial Partial
InspIRCd # Yes Yes Yes Module Yes Module Yes No MySQL, SQLite & PostgreSQL: Authorization, Services Integration, Logging, Operaccess
IRCD # & ! + No No No No  ? No No No No
ircd-ratbox # & No No No No No  ? Yes No No
ircu # & No  ?  ?  ? Yes  ? Yes  ?  ?
ithildin # No No No Yes Yes via privilege system Yes No No
Nefarious IRCu # & Yes No No No No No Yes No No
ngIRCd # No No No No No No No No No
OfficeIRC Server # %# & %& No Yes Yes Yes Partial Yes Yes Yes Partial
PleXusIRCd # & Yes Yes Yes No No  ? Yes  ? No
PTlink IRC Server # & Yes Yes Yes Yes No No Yes No No
pureIRCd # No No  ?  ?  ?  ?  ?  ?  ?
solid-ircd # Yes No No No No No Partial No No
UnrealIRCd # Yes Yes Yes No Yes Commercial Module Yes iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte Commercial Modules for MySQL: Authorization, Services Integration, Logging
WeIRCd # Yes Yes No No No No No No No
IRC daemon Connect-flood detection Channel flood controls
Basic / Advanced
Join throttling Spamfilter
Regexp / Glob
Channel Censor
IRCd Config / Chanop-Controlled
Variable per-channel banlist size Timed bans DNSBL
Bahamut Yes Yes / No Yes No / No No / No No No No
Charybdis Yes No / No Yes No / No No / No Yes No Yes
ConferenceRoom Yes Yes / Yes Yes No / Yes Partial / No No Partial Yes
InspIRCd Yes Yes / Yes Yes Yes / Yes Yes / Yes Yes Yes Yes
IRCD  ?  ? / ?  ? No / No  ? / ? No No No
ircd-ratbox Yes No / No No No / No No / No No No No
ircu  ?  ? / ?  ?  ? / ?  ? / ?  ?  ? No
ithildin Module No / No No No / No No / No No No  ?
Nefarious IRCu No No / No No No / No No / No No No Yes
ngIRCd No No / No No No / No No / No No No No
OfficeIRC Server Yes Yes Yes Yes Yes Yes Yes No
PleXusIRCd Yes No / No No No / No No / No No No No
PTlink IRC Server Yes Yes / No Yes Yes / No Yes / Yes Yes No No
pureIRCd  ?  ? / ?  ?  ? / ?  ? / ?  ?  ?  ?
solid-ircd Yes Yes / No Yes No / No No / No No No No
UnrealIRCd Partial Yes / Yes Yes Yes / No Yes / Free Module No Commercial Module No
WeIRCd No No / No No No / No No / No No No No

[edit] Notes

  1. ^ epoll (Linux since 2.6) - I/O event notification facility. Has a much better performance than select() and poll() system calls.
  2. ^ kqueue (FreeBSD since 4.1) - asynchronous event dispatch mechanism.
  3. ^ "POSIX.4 Real Time Signals" (Linux since 2.4) - special class of Linux system signals used for notification of events on file descriptors. Deprecated in favour of epoll.
  4. ^ The ability for network staff (not channel ops, but ircd opers) to be denoted in a channel with a special prefix
  5. ^ Protect "higher" opers from being killed and/or z, k, or g-lined by "lower" opers

[edit] See also

[edit] External links