Comparison of Internet Relay Chat daemons

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 or the cited references for further information. This article is neither all-inclusive nor necessarily up-to-date.

Servers

IRC daemon

Creator/network

Basis

Programming language

First public release

Latest version (numeric 351)

Software license

Bahamut

DALnet

DreamForge, IRCD-Hybrid

C

1999

bahamut-1.8.6

GPL

bIRCd

DAMnet

DreamForge

C

1999

bIRCd-2.1.0rc4

GPL

Charybdis

nenolod, jilles, dwr, gxti

ircd-ratbox, IRCD-Hybrid, ircu, ShadowIRCd

C

2005

charybdis-3.1.0

GPL/BSD

ConferenceRoom

WebMaster Incorporated

(from scratch)

C++

1996

ConferenceRoom/3.5

Proprietary

csircd

Comstud

(from scratch)

C

1998

csircd-1.14

GPL

InspIRCd

InspIRCd Development Team

(from scratch)

C++

2002

1.1.22

GPL

IRCd

Jarkko Oikarinen, IRCnet

(from scratch)

C

1988

2.95

GPL

IRCD-Hybrid

Hybrid Development Team, EFnet

irc2.8

C

1997

7.2.3

GPL

ircd-ratbox

Aaron Sethman, Lee Hardy, EFnet

Hybrid 7-rc1

C

2002

ircd-ratbox-3.0.0

GPL

ircu

Undernet Coder Committee

irc2.7

C

1991

u2.10.12.12

GPL

ithildin

Chip Norkus

(from scratch)

C

2006

1.1

BSD

Nefarious IRCu

Evilnet Development, AfterNET

ircu2

C

2004

u2.10.11.07+Nefarious(1.2.0)+[2212 2008-08-03]

GPL

ngIRCd

Alex Barton

(from scratch)

C

2001

ngircd-14.1

GPL

OfficeIRC Server

Office IRC Inc, Paul Heinlein

(from scratch)

VB.net

2006

2.2

Proprietary

PleXusIRCd

Rizon, thaprince, static

Hybrid 7.2.3

C

2005

hybrid-7.2.3+plexus-3.0.1(20081028_0-520)

GPL

pureIRCd

Dennis Fisch aka Diligent

(from scratch)

C

2002

?

GPL

ShadowIRCd

dwr, Eko, jdhore, jilles, nenolod

Charybdis

C

2008

shadowircd-6.0.0pre4

GPL

solid-ircd

Gabriel Baez

Bahamut

C

?

solid-ircd 3.4.8

GPL

Synchronet IRCd

Randy E. Sommerfeld

(from scratch)

JavaScript

2003

SynchronetIRCd-1.3a(1.151)

GPL

UnrealIRCd

UnrealIRCd Team

EliteIRCd (potvin)

C

1999

Unreal3.2.8.1

GPL

WeIRCd

Eloxoph IRC Network

(from scratch)

C

2007

WeIRCd 0.6.0.2

GPL

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

Creator/network

Basis

Programming language

First public release

Outcome

Software license

PTlink IRC Server

PTlink IRC Software

Hybrid 6

C

2001 (v.6)

(now unmaintained)

GPL

Asuka

QuakeNet Dev Team

ircu

C

?

(replaced by snircd)

GPL

Austhex

AustNet Development

ircu2.9

C, Scheme

?

(replaced by inspircd)

GPL

bircd

beware

(from scratch)

Delphi

2002?

(now unmaintained)

GPL

dancer-ircd

freenode

Hybrid 6

C

1999

(replaced by hyperion)

GPL

DreamForge

DALnet

irc2.8.mu3

C

1994 (dal), 1997? (df)

(replaced by bahamut)

GPL

hyperion

freenode

dancer-ircd 1.0.35+pre2

C

2005

(to be replaced by ircd-seven)

GPL

IRCXpro Server

IRCXpro, Paul Heinlein

IRCPlus

Visual Basic

2002

(replaced by OfficeIRC)

Proprietary

pircd

Jay F Kominek

(from scratch)

Perl

1999

(now unmaintained)

Open Source (custom)

QuakeIRCd

QuakeIRCd Team, Tiburon

UnrealIRCd

C

2003 (v1.1)

(now unmaintained)

GPL

SorIrcd

SorceryNet

dal4.4.10 and irc2.8.mu3

C

1996

(replaced by Charybdis)

GPL

UltimateIRCd

ShadowRealm Creations

DreamForge 2.8

C

2001

(now unmaintained)

GPL

Viagra IRCd

Chris Schiffner

Titan

C

2003

(now unmaintained)

GPL

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

kqueue

RT signals

/dev/poll

Windows IOCP

Solaris IOCP

Bahamut

?

?

bIRCd

?

?

Charybdis

ConferenceRoom

InspIRCd

IRCD

ircd-ratbox

ircu

ithildin

?

?

?

Nefarious IRCu

?

ngIRCd

OfficeIRC Server

?

?

PleXusIRCd

pureIRCd

ShadowIRCd

solid-ircd

?

?

Synchronet IRCd

?

?

UnrealIRCd

?

?

WeIRCd

{{?}}

{{?}}

{{?}}

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

TS5 with extensions

bIRCd

RFC 1459 and TSpre8

Charybdis

TS6 with extensions

ConferenceRoom

Proprietary, binary

InspIRCd

(1.2)

TS6 based [http://inspircd.org/wiki/InspIRCd_Spanning_Tree_(1.2) Spanning Tree], proprietary

IRCD

RFC 1459 and RFC 2813 with SID/UID

ircd-ratbox

TS6

ircu

P10

ithildin

Module-dependent

Nefarious IRCu

P10 with extensions

ngIRCd

RFC 1459 and RFC 2813

OfficeIRC Server

DreamForge/UnrealIRCd compatible

PleXusIRCd

?

TS5/TS6

pureIRCd

ShadowIRCd

TS6 with extensions

solid-ircd

TS5 with extensions

Synchronet IRCd

TS5 with extensions

UnrealIRCd

DreamForge/TS5 with extensions

WeIRCd

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

Advanced Operator ACL

Operator "Levels"

vHost via i:line (or equivalent)

i18n Nicknames

RDBMS Integration (SQL)

Bahamut

#

bIRCd

# &

Charybdis

# &

ConferenceRoom

# &

InspIRCd

#

IRCD

# & ! +

?

ircd-ratbox

# &

ircu

# &

ithildin

#

Nefarious IRCu

# &

ngIRCd

#

OfficeIRC Server

# %# & %&

PleXusIRCd

# &

?

?

pureIRCd

#

?

?

?

?

?

?

?

ShadowIRCd

# &

solid-ircd

#

Synchronet IRCd

# &

UnrealIRCd

#

iso8859-1/2/7/8-I/9/16, windows-1250/1251, Multibyte

WeIRCd

#

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

bIRCd

Charybdis

ConferenceRoom

InspIRCd

IRCD

?

? / ?

?

? / ?

? / ?

?

?

?

ircd-ratbox

ircu

?

? / ?

?

? / ?

? / ?

?

?

ithildin

Module

?

Nefarious IRCu

ngIRCd

OfficeIRC Server

PleXusIRCd

?

pureIRCd

?

? / ?

?

? / ?

? / ?

?

?

?

ShadowIRCd

solid-ircd

Synchronet IRCd

UnrealIRCd

WeIRCd

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

simple:Comparison of Internet Relay Chat daemons