@(#) email@example.com|README|20000730165942|47296 @(#)
Koala Distributed Mud Server documentation series
Copyright (c) 1999-2000 First Step Internet Services, Inc.
All Rights Reserved
This software and all the documentation is licensed for usage under
the BSD license. This licence basically states that you can do whatever you
want with the code, as long as the copyrights remain on the code. You can
find the full text of this license in the file 'BSD' that came with this
Koala requires libxml, also known as Gnome-xml, for handling the
configuration files. Koala will no longer compile or run without libxml.
At this time, Koala requires Glibc 2.1 in order to run on Linux.
To compile on FreeBSD, gmake is required. The standard FreeBSD make does
not support some of the structuring that is used for compiling.
By default, Koala requires a libc that supports the AF independent system
calls. Most recent systems should have this. If you are using glibc >= 2.1 or
FreeBSD >= 4.0, you probably have the needed support. The best thing to do is
to try compiling with the AF independant code enabled. If it fails, then you
need to specify --disable-afindep to the configure line. It is better to use
the AF independant code if your system supports it as this line will *always*
be better tested. This should be autodetected eventually.
FreeBSD 4.0 now includes IPv6 support. Curent Koala code is now tested
against this IPv6 support.
Koala has been tested to work on the following configurations:
Linux-2.3.9 and glibc-2.1.2
Nothing really needed here yet.
* Edit include/config.h and make sure all the settings are correct
* bin/hubd -g koala.xml // Generate default configuration
* bin/hubd // Start hub daemon
* bin/zoned // Start zone daemon
* bin/clientd // Start client daemon
If koala.xml is not changed, this will bring up the hub daemon on port
8204, followed by the zone daemon which will connect to the hub daemon, and
finally the client daemon which will connect to the hub daemon before it
starts listening on port 6464.
Depending on your system, you may have to tell the system how to find the
shared library. If hubd fails to start, look at the man pages to find out how
to add a directory to the shared library search path. libkoala.so is found in
the lib subdirectory.
Please let me know if you get any compile warnings. If possible, please
include a patch to fix the warnings.
Koala code builds with optimizations off and debugging symbols on by
default. If you want optimized binaries, edit Makefile.in and use the other
form of 'MYCFLAGS'. The cflags that configure comes up with are ignored by
The following demonstration servers are available.
koalamud.org port 6500 This server runs the latest released version
koalamud.org port 6464 This server runs the absolute latest code
I (NiteHawk) am almost always online as Tas, although I'm not always
around that computer. If noone responds, just stick around a while and
someone will probably be around to help/talk to you.
Virtual Memory/Database driver:
The virtual memory and database driver library is designed to be self
contained and easily split from the main koala code. This has been done to
make it easy for other projects that may want to use an existing, well tested,
well optimized database and virtual memory driver. Here are some basic
instructions on what is needed to split off the driver.
* Copy all the files in lib/vm
* Copy include/vm.h and include/module.h and include/config.h and
* Copy lib/koala/moduleops.c and lib/koala/conf.c
These files can all go into the same directory. The only portion of
config.h that is needed for the driver is the portion that enables/disables
the individual database backends. Compiling all these files and linking them
in should be sufficient to allow usage of of the vm module in other
conf.c depends on include/koalatypes.h for the error return values used.
Other applications may skip using conf.c if they implement similar
functionality. At a minimum, 'confgetoptionsfromsection' must be
There are currently four mailing lists for KoalaMud:
firstname.lastname@example.org - General discussion list
email@example.com - Announcement list
firstname.lastname@example.org - Development list
email@example.com - Changeset notification list
All four lists are low volume at this time. The commit list will likely
be the highest volume list since every changeset commit will trigger a message
sent to the list. If you are interested in contributing code to koalamud, it
is highly recommended that you join all four lists. Any official developer
is required to be on all koalamud lists.
To subscribe to a list, send a message to:
The contents of the subject header and body of the message are ignored.
The easiest way for me to make use of contributions is if they are provided
as BitKeeper (www.bitkeeper.com) changesets. The distribution is actually a
BitKeeper repository. I'm not going to go into the operation of bitkeeper here,
but if you would like help on doing things correctly, don't hesitate to ask.
Use 'bk send' to send your changesets to: firstname.lastname@example.org
If you do not have access to BitKeeper, please send unified diffs with a good
description of the changes to: email@example.com