Current edition: Vol.6, No.9, September 2003

Active Worlds News

New 3D Homepage Themes
World of the Month
Worlds to Watch
Report Card Award
Bot of the Month
Artist's Tip
AWTrivia Winners
AWUniversity News
Property Search
England Celebration
Hot Spots to Visit
Meet Your Neighbor
AWEC Calendar


Building Links
Community Links










Bot of the Month - ChatRelayBot

Courtesy of Tony M

As always, when you check this information out, be careful to only download programs and files from people you trust, to eliminate the chance of getting a virus.

Having my bot featured in the Active Worlds newsletter was a surprise to find, but nonetheless I present to you a little history of how the bot came to be what it is today, and what's coming up in the next version. I hope you find this article informative! :)

A year or two ago (after the release of Active Worlds 3.2 with its dynamic terrain system), Star Sedai, Shred, and I (Tony M) were working in Zion; back in that theme, we had builds in some corners of the world (a P-20 at that time), and we noted that we had a problem - we needed to be able to talk outside of the 200m chat range. Eventually, I got around to writing what was the very first chat relay system.

The system was fairly simplistic - you were either part of the relay, or you weren't. There was no choice of color; you got orange text if someone was out of your chat range. The system worked well for quite some time, with minor enhancements such as removal of "joining" the system.

Later on, I decided that I would release the ChatRelayBot to the public. I rewrote the entire bot, with the GUI resembling something like Faber's Preston. I chose the DelphiŪ programming language; at that time I was not very familiar with C/C++. Version 1.x of the ChatRelayBot was not very efficient internally, but it did what it was advertised to do - it changed the way users communicated in Active Worlds.

Active Worlds 3.4 set the stage for a whole new version of the ChatRelayBot - rewritten entirely from the ground up, ChatRelayBot version 2.0 offers a new relay mode, known as the Hide Chat Relay Mode. The Hide Chat feature of Active Worlds 3.4 has allowed for nearly limitless possibilities, such as a word censor, aliases, permanently appearing colors. Internally, ChatRelayBot 2.0 is much more object-oriented than its predecessor version 1.042. This design allows it to be easily adapted to roles such as a Windows NTŪ service, something I was unfortunately not able to provide at the release of version 2.0.

The Bone Network was discovered when I was looking for a way of creating the inter-world relay system. I had remembered that Ima Genius created some type of basic chat system, and I ended up finding it through the ImaBot Forums. The Bone Network was exactly what I was looking for - I wasn't particularly interested in reinventing the wheel. I first checked out Bone to see who was on; it isn't too popular, but Ima can be found regularly on the network. I decided to go ahead and implement the Bone SDK into the ChatRelayBot.

One of the more persistent problems I found during the development of ChatRelayBot 2.0 was latency between users chat and the bot's reaction. Eventually, I learned that this latency is not something I have control over - I continue to recommend the ChatRelayBot being run as close to the worldserver as possible, and stress caution with operating it alongside the Active Worlds browser; running it on a modern operating system such as Windows XP and Windows 2000 (the OS I currently use) is also a general recommendation.

ChatRelayBot 2.0 was designed to get the basic system going - later releases, such as version 2.1, will go in and further enhance the tiny details that need to be addressed. The upcoming version focuses more on features for users within ChatRelayBot-enhanced worlds. The GUI in this new version is more streamlined, and hopefully makes it easier for new users to operate the ChatRelayBot.

Version 2.1 now makes it possible to mute people in similarity to what the browser allows. The inverse is also possible - you can "cloak" your chat from someone. If the user desires, these mute and cloak lists can be linked together so that modifications to one goes into the other. It also includes the ability for operating multiple ChatRelayBots in different worlds/universes inside a single application. This feature, and the eventual release of the ChatRelayBot Windows NTŪ service, is targeted squarely at world/bot hosters.

Numerous other internal improvements will certainly make ChatRelayBot version 2.1 worth the wait; it is expected to enter public-beta within the next week or two. If you want to receive an email announcement of this and future versions, send an email to with "subscribe crb-announce" in the body (not the subject).

If you're considering whether you want to use the ChatRelayBot in your world, visit the website and give it a try:

Do you have a bot or know of one that you would like to see featured in the newsletter? Contact us at:


  Active Worlds   |   Newsletter Home   |   Newsletter Archive   |   Contact Us    |   Disclaimer