I've been working on
NFC Chat for a bit over a month now and it's come along quite nicely.
Carnage Blender has been running on it for a week now.
NFC provides several advantages over the IRC server I was employing previously. First, NFC supports many authentication methods, including from a database. Second, the code quality is better than that of any other open source project I have seen, including OpenACS. This is in _stark_ contrast to all the IRC servers I looked at. I've been able to easily add a number of "little" features like permanant ignore. (A must when your site attracts so many teenagers. :) Third, I added a fairly comprehensive set of priviledge levels -- you're not just limited to a hardcoded god and whoever gets to the channel first is op.
The biggest drawback right now is that NFC predates the Java 1.4 nonblocking IO and creates one thread per client, which rather limits its scalability compared to IRC. As soon as someone needs it, I'm sure it will be appropriately modified. The most simultaneous users I've had is 41, so for me this is not a problem.
If you want the cool features (and a few bugfixes) you will have to d/l NFC from CVS. JDK 1.4 is required. OACS-specific example code is in contrib/postgres.sql and contrib/nfc.tcl.