I have spent the last several weeks looking for a stable chat module for Drupal that allows me to host the chat on my own server BUT doesn't result in the server being brought to a crawl. I tried the chatroom module but with only 10 users in chat I was politely asked to either move to a dedicated server or close the door as I left by my hosting company.
I then learned when speaking to another host that the module is practically on a ban list with several hosting companies due to the way it hits the server every second or so (admittedly configurable) for everyone in chat. I guess when my page hits went from 30k to nearly a million in one day I should have suspected something but I had my fingers crossed that this was just organic growth in traffic! ;-)
My needs are/were simple. I needed a single chat page where users could chat and exchange URLs. I wanted their Drupal name to be their chat name and anonymous users not to have access to chat.
I had come across a simple but stable chat app a year or two back called Lace. Unfortunately it is no more, although the code is still available online.
I am not a coder by any means but in only a couple of days of fumbling around now have it working nicely with Drupal. It only allows logged in users to access the page and with 15-20 users in chat the server registers no additional 'hits'. The site runs very fast and my members are happy campers.
I have a couple of items to get resolved this week, primarily inserting the chat app into a Drupal page as opposed to the standalone page where it sits at present.
If there is interest I am happy to document what I did in here once it is running but wanted to share my experience thus far as I know most people moan about the lack of a good chat solution for Drupal. This is by no means an 'all bells and whistles' solution but if you want a single, community wide chat with restricted access for Drupal roles then this might fit the bill.
I will also try to put up a demo at some point in the near future.
If anyone with PHP skills is willing to help integrate this into a Drupal page let me know.
Paul