This is geektalkd 1.07, functions version 1.20. It is a free perl-based chat server designed with thin clients in mind. USAGE geektalkd [-a] [-c] [-d] [-h] [-l ] [-p ] [-r] [-V] -a : Enable access control. This uses apache-style control. See the server documentation. -c: Enable the /code feature, which allows arbitrary code to be run. This is dangerous, and not of much use unless you know the server's codebase pretty wellwell, so it's off by default. Make sure to change the password in the 'functions' file if you use this! -d: Debug mode. Logs to stderr and won't fork. -h: Prints this message and exits. -l : Logging enabled. -p : Sets the port that the server will run on. -r: Allows the server to be run regardless of uid/gid. -V: Prints version information and exits. CONNECTING The simplest way to connect to the server is just to telnet to it. From the box you ran it on, just type "telnet localhost ". The port is 41000 if you used the default. Once connected, type /signon to log into the server or /help to see the help files. There are also special clients avaliable on www.geektalk.org which have their own special tweaks. INSTALLING NEW VERSIONS You can download new versions of the server from www.geektalk.org. Because the server comes in two parts, it has two version numbers. The server (geektalkd) rarely gets updated, but the functions file gets updated a fair amount currently. The file is at http://www.geektalk.org/geektalkd.tar.gz Once you download and untar it, simply copy your new geektalkd and functions file over the old one, connect to the (already running) server, and type /reparse, which will get you all the new functionality from the functions file. If the geektalkd file has a new version, you'll need to restart the server to get that functionality. HISTORY The basic server is modeled after an old C-based "chatd" server which came from some unknown location, and was used on our local server for chatting between users for a long time. You can download the old chatd from www.geektalk.org. After using chatd for some time, I began extending it and adding weird new commands to it. This was rather difficult because C isn't exactly the best at string processing, and because whenever I added new functions, everyone had to be kicked off the server so it could restarted. That got to be a pain because there were about 10 users on our server who use screen(1) to remain connected to the server at all times. The most recent hacked version of chatd is also avaliable at www.geektalk.org. So one day, mostly just to see if I could, I decided to rewrite chatd in perl. The main advantages that brings are: 1) Its much easier to add new functions and change how the server operates, because (in my opinion) perl is better suited for it. 2) Its possible to issue a /reparse command and reload all the parsing code. This means you can completely change the way the server works on the fly, and without anyone even knowing you did it. (Franklin Johnson actually mentioned that he had this "softboot" functionality in a C-based chat server. Mind-boggling.) 3) chatd had a nasty buffer overflow in it, and the server often crashed when users would accidently send data that was too long. The drawbacks, of course, are: 1) Speed. Yeah, its perl. The good part is that for an application like this, speed doesn't really matter. 2) Memory. geektalkd uses about 10x the memory of chatd, but its still only about 1.5-2MB of memory. geektalkd is currently under fairly active development, and new versions of it can always be downloaded from www.geektalk.org. BUGS The code isn't documented. I intend to fix that. AUTHOR geektalkd was written by Michael Plump with portions by David Elkins and Jade Nicoletti . It is released under the GPL.