The situation:
I want to play around with IRC bots as general communications interfaces to other code I am investigating. The server hardware would be old and low-memory, but running on a relatively up-to-date Debian GNU/Linux install. I don't expect more than a hundred users at a time, tops, and probably in the single-digits most of the time. The interfaces are more of interest here than the server itself, so I'd prefer something relatively simple to maintain over something with a huge number of configuration and tuning options more useful to a larger site.
Referencing the Wikipedia comparison and the Google PageRank list against the available package list for Debian comes up with the following top contenders: Undernet (ircd-ircu), Ratbox (ircd-ratbox), and Inspire (inspircd). Unfortunately, I can't find any serious comparisons of them, so I'm hoping that asking here will provide a faster solution than just trying them one at a time until something frustrates me enough to move.
Unreal IRCd is full featured if a little complex on the setup.
Use XMPP instead. IRC is not very well designed for your situation; it can be made to work, but it is a big pain.
During the past couple days I have been coding a bot with Python and IRCLib. Since I am coding the communication interface I needed to see the raw data transfered between the server and the client. So, I needed an IRC server which would support that. At first I was using IRCD, and it was totally fine. But after a while I realized that I was missing some features that IRCD did not have since it's outdated. So, after further research I found ngIRCd.
I compiled it from source with those options "--enable-sniffer --enable-debug". Now when I want to see the information sent between my bot and my client I only need to start the server with the -n and -s option. Like that : ngircd -n -s
Here is the website of the server : http://ngircd.barton.de/
Unreal IRCd is what I finally picked for hosting an IRCD. Why? Halfop, admin/protect, founder/owner, advanced operator acl, vHost via i:line and etc...
Also see