IRCD
|
An IRCD (Internet Relay Chat Daemon) is a computer program to create an IRC server on which people can talk to each other via the internet.
Running a large (more than a few thousand users) IRC server requires keeping a very large number of connections open for long periods. Very few ircds are multithreaded due to the fact that nearly every action needs to access (at least read and possibly modify) the global state. The result is that the best platforms for ircds are those that offer efficient mechanisms for handling huge numbers of connections in a single thread. Linux offers this abilit in the form of epoll (http://www.xmailserver.org/linux-patches/nio-improve.html), in kernel series newer than 2.4.x. FreeBSD (since 4.1) offers kqueue (http://www.hmug.org/man/2/kqueue.html). Solaris has had /dev/poll (http://access1.sun.com/techarticles/devpoll.html) since version 7. The difference made by theese new interfaces can be dramatic. IRCU coders have mentioned increases in the practical capacity per server from 10,000 users to 20,000 users.
Originally there was just one IRCD, but gradually others have been developed, with different features and aims:
- Some IRCDs have chosen to concentrate primarily on stability and security, such as ircu (http://coder-com.undernet.org), bahamut (http://bahamut.dal.net), and hybrid (http://ircd-hybrid.com). Often these are developed under the control of a very large IRC network.
- Other IRCDs have chosen to develop more features, such as UnrealIRCD (http://www.unrealircd.com), and UltimateIRCd (http://www.shadow-realm.org). These have features such as swear word filtering, and they are mainly used on smaller IRC networks, as well as very common.
- There have been other IRCDs developed from scratch, such as ConferenceRoom (http://www.webmaster.com),ircplus , and beware ircd (http://www.xs4all.nl/~beware3/irc/). Most of these were written primarilly for Microsoft Windows. These are usually easier to set up than hurried ports of unix ircds (especially cygwin based ports) and may perform better than those hurried ports, in a select group of cases.
- There are also some new, fresh IRCds, such as InspIRCd (http://www.inspircd.org), Ithildin (http://www.ithildin.org/) and Asteriskircd (http://searchirc.com/boards/viewtopic.php?t=2098), mostly written from scratch, with new and innovative ideas
- Some IRCDs were developed because of conflicting design decisions.
See also
- Wircd - Windows internet relay chat daemon
External links
IRCDs
- ircu (http://coder-com.undernet.org/)
- bahamut (http://bahamut.dal.net/)
- hybrid (http://www.ircd-hybrid.com)
- IRCnet ircd (http://www.ircd.org)
- ircd-ratbox (http://www.ircd-ratbox.org)
- UnrealIRCD (http://www.unrealircd.com)
- InspIRCd (http://www.inspircd.org)
- UltimateIRCd (http://www.shadow-realm.org)
- beware ircd (http://www.xs4all.nl/~beware3/irc/)
- ConferenceRoom (http://www.webmaster.com)
- ShadowIRCd (http://www.shadowircd.net)