Comparison of IRCds
From Wikipedia, the free encyclopedia
The following tables compare general and technical information including the differences in feature sets between popular IRCds. Please see the individual products' websites for further information. This article is neither all-inclusive nor necessarily up-to-date.
Contents |
[edit] General information
IRCd | Creator/Network | Basis | Programming Language | Public Release | Latest stable version (numeric 351) | Software license |
---|---|---|---|---|---|---|
Asuka | QuakeNet Dev Team | ircu2 | C | ? | 1.2.1 | GPL |
Austhex | AustNet Development | ircu2.9 | C, Scheme | ? | austhex.servd7.5.pre13.dbuf.ghash3.sec. | GPL |
Bahamut | DALnet | DreamForge and Hybrid | C | 2002 | bahamut-1.8(04) | GPL |
Charybdis | nenolod, jilles, gxti | ircd-ratbox, ircd-hybrid, ircu, shadowircd | C, (C++, Python -- modules in charybdis -devel) | 2005 | charybdis-2.1.2 | GPL |
ConferenceRoom | WebMaster Incorporated | (from scratch) | C++ | 1996 | ConferenceRoom/3.2.2 | Proprietary |
dancer-ircd | freenode (now unmaintained) | Hybrid 6 | C | 1999 | (Replaced by hyperion-ircd) | GPL |
DreamForge | DALnet (now unmaintained) | ? | C | ? | (Replaced by Bahamut) | GPL |
Microsoft Exchange 5.5 / 2000 | Microsoft | ? | C (Theorised) | 1997 | (~6.0.6249.0 / Service Pack 3 ?) | Proprietary |
hyperion-ircd | freenode (jilles, gxti, nenolod, asuffield, lilo) | dancer-ircd | C | 2005 | hyperion-1.0.2(230). | GPL |
InspIRCd | InspIRCd Development Team | (from scratch) | C++ | 2002 | InspIRCd-1.1.2+Klosterkrone | GPL |
IRCD | IRCnet | (the original ircd) | C | 1988 | irc2.11.1p1 | GPL |
IRCD-Hybrid | IRCD-Hybrid Development Team | irc2.8 (IRCD) | C | 1997 | ircd-hybrid-7.2.1 | GPL |
ircd-ratbox | EFnet | Hybrid 7-rc1 | C | 2002 | ircd-ratbox-2.2.4 | GPL |
ircu | Undernet Coder Committee | irc2.7 (IRCD) | C | ? | ircu2.10.12.09 | GPL |
IRCXpro Server | IRCXpro, Paul Heinlein | IRCPlus | Visual Basic | ? | ? | Proprietary |
ithildin | Chip Norkus | (from scratch) | C | 2006 | 1.1.2 / 1.0r0 | BSD license |
Nefarious IRCu | Evilnet Development, AfterNET | ircu2 | C | 2004 | u2.10.11.07+Nefarious(1.0.1)+[1755 2006-08-26] | GPL |
pircd | Jay F Kominek | (from scratch) | Perl | 1999 | Beta One | Open Source (custom) |
PleXusIRCd | thaprince | Hybrid 7.2 | C | ? | ircd-plexus-3.0.0-20070216_0-467 | GPL |
PTlink IRC Server | PTlink IRC Software | Hybrid 6 | C | 2001 (v.6) | Hybrid6/PTlink6.19.6 | GPL |
pureIRCd | Dennis Fisch aka Diligent | (from scratch) | Visual Basic | 2002 | ? | GPL |
QuakeIRCd | QuakeIRCd Team, Tiburon | UnrealIRCd | C | 2003 (v1.1) | QuakeIRCd-2.0.0-Beta1 | GPL |
SorIrcd | SorceryNet (no longer maintained) | dal4.4.10 and irc2.8.mu3 | C | 1996 | (Replaced by Charybdis) | GPL |
UltimateIRCd | ShadowRealm Creations | DreamForge | C | ? | UltimateIRCd(Tsunami)-3.0(01) | GPL |
UnrealIRCd | UnrealIRCd Team | DreamForge | C | 1999 | Unreal3.2.6 | GPL |
Viagra IRCd | OvErRiTe | Bahamut | C | 2003 | ViagraIRCd 1.3.3 | GPL |
IRCd | Creator/Network | Basis | Programming Language | Public Release | Latest stable version (numeric 351) | Software license |
[edit] Operating system support
The operating systems the daemons can run on without emulation. Also supported socket engines (see IRCd for further information).
IRCd | Windows | Mac OS X | Linux | BSD | Unix | select() | poll() | epoll (Linux since 2.6) |
kqueue (FreeBSD since 4.1) |
rtsigio()[1] (Linux since 2.4) |
/dev/poll (Solaris since version 7) |
---|---|---|---|---|---|---|---|---|---|---|---|
Asuka | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Austhex | No | ? | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? |
Bahamut | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Charybdis | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
ConferenceRoom | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
dancer-ircd | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No |
DreamForge | ? | No | Yes | Yes | Yes | Yes | No | No | No | No | No |
Microsoft Exchange 5.5 / 2000 | Yes | No | No | No | No | ? | ? | No | No | No | No |
hyperion-ircd | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No |
InspIRCd | 1.0 Only | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Planned |
IRCD | ? | ? | Yes | Yes | Yes | Yes | Yes | No | No | No | No |
IRCD-Hybrid | Yes | Yes | Yes | Yes | ? | No | Yes | No | Yes | Yes | Broken |
ircd-ratbox | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ircu | No | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? |
IRCXpro Server | Yes | No | No | No | No | ? | ? | No | No | No | No |
ithildin | No | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No |
Nefarious IRCu | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
pircd | ? | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? |
PleXusIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Broken |
PTlink IRC Server | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
pureIRCd | Yes | No | No | No | No | ? | ? | No | No | No | No |
QuakeIRCd | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? |
SorIrcd | ? | No | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? |
UltimateIRCd | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
UnrealIRCd | Yes | Yes | Yes | Yes | Yes | Yes | Planned | Planned | Planned | No | Planned |
Viagra IRCd | Cygwin 1.3+ | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
IRCd | Windows | Mac OS X | Linux | BSD | Unix | select() | poll() | epoll (Linux since 2.6) |
kqueue (FreeBSD since 4.1) |
rtsigio()[1] (Linux since 2.6) |
/dev/poll (Solaris since version 7) |
[edit] Technology
Various networking and IRC technology implemented to date.
IRCd | Modularity | Remote Includes | IPv6 | Client SSL | SSL Linking | Zip Linking | Meshed Linking | Hostmasking / Cloaking | Services Integration (built-in services) | LDAP Authentication | IRCX Support | SASL Support | Server Protocol |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Asuka | No | No | No | No | No | ? | No | Yes | No | No | No | No | P10 with some extensions |
Austhex | No | ? | No | No | ? | ? | No | Yes, VW | No | ? | No | ? | P13 |
Bahamut | No | No | No | No | Yes | Yes | No | No | No | No | No | No | EFnet TS5 with extensions |
Charybdis | Yes | No | Yes | No | No | Yes | No | Yes | No | No | No | Yes | EFnet TS6 with extensions |
ConferenceRoom | Partial | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | No | ? | Binary ConferenceRoom Protocol |
dancer-ircd | No | No | No | ? | ? | ? | ? | ? | ? | ? | ? | No | EFnet TS3 with extensions |
DreamForge | No | No | No | ? | ? | ? | ? | ? | ? | ? | ? | No | 2.8 protocol with TS hacks |
Microsoft Exchange 5.5 / 2000 | No | ? | No | ? | No | No | No | No | No | ? | Yes | No | Binary Microsoft Chat Protocol |
hyperion-ircd | No | No | Partial | No | ? | ? | ? | Yes | No | ? | ? | No | EFnet TS5 with extensions |
InspIRCd | Yes | Planned | Yes | Yes | Yes | Yes | Planned | Yes | Planned | No | No | Planned | Dependent upon linking module |
IRCD | No | No | Yes | No | No | Yes | No | No | No | No | No | No | 2.8 protocol with NJOIN and UIDs |
IRCD-Hybrid | Yes | No | 7.0.3 | 7.2.0 | Yes | Yes | No | No | ? | ? | ? | No | EFnet TS5/TS6 |
ircd-ratbox | Yes | No | Yes | No | No | Yes | No | No | No | ? | No | No | EFnet TS5/TS6 |
ircu | No | No | 2.10.12 | No | No | ? | ? | ? | ? | ? | ? | No | P10 |
IRCXpro Server | Yes | No | No | No | No | ? | ? | Yes | Yes | No | Yes | No | ? |
ithildin | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | No | Dependent upon protocol module |
Nefarious IRCu | No | No | No | Yes | No | No | No | No | No | No | No | No | P10 Nefarious |
pircd | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PleXusIRCd | Yes | No | Yes | Yes | Yes | Yes | No | Yes | No | ? | No | No | EFnet TS5/ts6 |
PTlink IRC Server | No | No | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | EFnet TS5 + ptlink extensions |
QuakeIRCd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | UnrealIRCD |
SorIrcd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | No | DreamForge |
UltimateIRCd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
UnrealIRCd | Yes | Libcurl | Yes | Yes | Yes | Yes | Planned | Yes | No | Planned | No | No | A mixture of DreamForge and EFnet TS with SJOIN, extra user modes, SPAMFILTER, etc. |
Viagra IRCd | Partial | No | No | No | No | Yes | No | Yes | No | No | No | No | No |
IRCd | Modularity | Remote Includes | IPv6 | Client SSL | SSL Linking | Zip Linking | Meshed Linking | Hostmasking / Cloaking | Services Integration (built-in services) | LDAP Authentication | IRCX Support | SASL Support | Server Protocol |
[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)
IRCd | Channel Types | Halfop Support
(+h %) |
Admin/Protect Support
(+a/+u &/!/*) |
Founder/Owner Support
(+q ~) |
Operator Prefixing[2] | Advanced Operator ACL | Operator "Levels"[3] | vHost via i:line (or equivalent) | i18n Nicknames | RDBMS Integration (SQL) |
---|---|---|---|---|---|---|---|---|---|---|
Asuka | # & | No | No | No | No | No | No | Yes | No | No |
Austhex | # | No | No | No | No | ? | ? | ? | No | ? |
Bahamut | # | No | No | No | No | No | No | Partial | No | No |
Charybdis | # & | No | No | No | No | Yes | No | Yes | No | No |
ConferenceRoom | # & | No | No | No | No | Yes | Yes | Yes | No | Partial |
dancer-ircd | # | No | No | No | No | Yes | ? | Yes | No | No |
DreamForge | # | No | No | No | No | ? | ? | No | No | No |
Microsoft Exchange 5.5 / 2000 | at least # %# | ? | ? | ? | ? | ? | ? | ? | ? | ? |
hyperion-ircd | # | No | No | No | No | Yes | ? | Yes | No | No |
InspIRCd | # | Yes | Yes | Yes | No | Yes | m_operlevels.so | Yes | No | MySQL, SQLite and PostgreSQL: Authorization, Services Integration, Logging, Operaccess |
IRCD | # & ! + | No | No | No | No | ? | No | No | No | No |
IRCD-Hybrid | # & | Yes (since 7.0) | No | No | No | No | ? | Yes | ? | No |
ircd-ratbox | # & | No | No | No | No | No | ? | Yes | No | No |
ircu | # & | No | ? | ? | ? | ? | ? | Yes | ? | ? |
IRCXpro Server | # %# & %& | No | Yes | Yes | Yes | Partial | Yes | Yes | Yes | Partial |
ithildin | # | No | Planned | No | Yes | Yes | via privilege system | Yes | No | No |
Nefarious IRCu | # & | Yes | No | No | No | No | No | Yes | No | No |
pircd | # | No | No | No | No | No | ? | No | No | No |
PleXusIRCd | # & | Yes | Yes | Yes | No | No | ? | Yes | ? | No |
PTlink IRC Server | # & | Yes | Yes | No | No | ? | ? | ? | ? | ? |
QuakeIRCd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SorIrcd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
UltimateIRCd | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
UnrealIRCd | # | Yes | Yes | Yes | No | No | Commercial Module | Yes | iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte | Commercial Modules for MySQL: Authorization, Services Integration, Logging |
Viagra IRCd | # & | Yes | Yes | Yes | No | No | Yes | Yes | No | No |
IRCd | Channel Types | Halfop Support
(+h %) |
Admin/Protect Support
(+a/+u &/!/*) |
Founder/Owner Support
(+q ~) |
Operator Prefixing[2] | Advanced Operator ACL | Operator "Levels"[3] | vHost via i:line (or equivalent) | i18n Nicknames | RDBMS Integration (SQL) |
IRCd | 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 |
---|---|---|---|---|---|---|---|---|
Asuka | ? | ? | No | No | No | No | No | No |
Austhex | ? | ? | ? | ? | ? | ? | ? | ? |
Bahamut | Yes | Yes / No | Yes | No / No | No / No | No | No | ? |
Charybdis | No | No | Yes | No | No | Yes | No | Yes |
ConferenceRoom | Yes | Yes / Yes | Yes | No / Yes | Partial / No | No | Partial | ? |
dancer-ircd | ? | ? | ? | ? | ? | ? | ? | ? |
DreamForge | ? | ? | ? | ? | ? | ? | ? | ? |
Microsoft Exchange 5.5 / 2000 | ? | ? | ? | ? | ? | ? | ? | ? |
hyperion-ircd | No | Yes / No | Yes | No / ? | No / No | Yes | No | ? |
InspIRCd | Yes | Yes / Yes | Yes | Yes / Yes | Yes / Yes | Yes | Yes | Yes |
IRCD | ? | ? | ? | ? | ? | ? | ? | ? |
IRCD-Hybrid | Yes | No / No | No | No / No | No / No | No | No | ? |
ircd-ratbox | Yes | No / No | No | No / No | No / No | No | No | ? |
ircu | ? | ? | ? | ? | ? | ? | ? | No |
IRCXpro Server | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
ithildin | Yes (module) | No | No | No | No | No | No | ? |
Nefarious IRCu | No | No / No | No | No / No | No / No | No | No | Yes |
pircd | No | Yes / No | No | No | No | No | No | ? |
PleXusIRCd | Yes | No / No | No | No / No | No / No | No | No | ? |
PTlink IRC Server | ? | ? | ? | ? | ? | ? | ? | ? |
QuakeIRCd | ? | ? | ? | ? | ? | ? | ? | ? |
SorIrcd | ? | ? | ? | ? | ? | ? | ? | ? |
UltimateIRCd | ? | ? | ? | ? | ? | ? | ? | ? |
UnrealIRCd | Partial | Yes / Yes | Yes | Yes / Planned | Yes / Free Module | No | Commercial Module | ? |
Viagra IRCd | Yes | Partial | Yes | Yes | No | No | No | No |
IRCd | 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 |
[edit] Notes
[edit] See also
- IRCd
- IRC services
- Internet Relay Chat
- IRCX
- Comparison of IRC clients
- Comparison of IRC services
- Comparison of instant messaging clients
- Comparison of instant messaging protocols