Circle's complete source code and areas are available for anonymous FTP at the CircleMUD FTP site There is also a CircleMUD Home Page for CircleMUD information.
A number of CircleMUD based Implementors have submitted areas to the public and they are archived at the same sites as the CircleMUD source. You can also use the ftp2 mirror or van mirror site.. If you cannot use FTP, you can contact one of the site maintainers and request a file. The maintainers are Alex Fletcher, Chris Epler, and George Greer, If the FTP site is down, please contact Alex at his alternate address since he will be able to find out the situation. There is also a code snippets site where a number of code suggestions and hints are located.
If you have general questions about the MUD such as how to get it running, how to add new spells, how to add new skills, etc., the first place you should look is the documentation. `coding.doc' will have information about how to add new spells, skills, commands, etc. `building.doc' has information about how to create new worlds, how to read the database files, etc. There are many other documents in the doc directory with useful information.
There is also a new project, started in June of 1996, called the CircleMUD Documentation Project which will eventually be a repository for all Circle-related information. It's still being built as of this writing, but hopefully will become a valuable resource as more documentation is added.
If you still have questions after reading the doucmentation, you can try asking on the CircleMUD mailing list (see next section).
If you have a question you think is too "newbie" for the mailing list, try the help database. Previous questions are accessible though the bugs database. That is also, incidently, where you should go to report bugs.
You can also contact the author, Jeremy Elson. George Greer can also be contacted for most problems.
There is a CircleMUD mailing list for coders, builders, and
administrators. To subscribe, send a message to the
list server with a
message body of
subscribe circle <first name> <last name>.
To unsubscribe from the list send a message to
<email@example.com> with the words
unsubscribe circle as the message body. DO NOT send
subscription or unsubscription requests to the list in general. There
are hundreds of people on the list, and it will only irritate a ton of
people who have no power to remove you from the list. Read the
Mailing List FAQ for more information.
Version 3.0, although still officially in beta-testing, is very portable because it uses the GNU autoconf system, meaning you only need to type ``configure'' to have it automatically determine various features of your system and configure the code accordingly. 3.0 compiles without changes under most BSD and SVR4 systems, including SunOS, Solaris, Ultrix, IRIX, AIX, Linux, BSD/OS, HP/UX, and others.
Version 3.0 is also being ported to various non-UNIX platforms. As of patchlevel 14, you can compile Circle under OS/2 2.x and 3.x with the OS/2 port of gcc, Windows 95/NT using Microsoft Visual C++ version 4.0 or 5.0, Borland (now Inprise) C++ 4.5, Watcom v.11, Cygnus GNU-WIN32, LCC, Macintosh with CodeWarrior, Amiga, and Acorn RiscOS.
The older version of the code, Version 2.20, compiles mainly on BSD UNIX systems but has trouble under SVR4-based systems such as Solaris. The author has personally compiled and tested v2.20 under Ultrix 4.0, IRIX 4.0.1, 4.0.4 and 4.0.5, SunOS 4.1.1 and 4.1.3, AIX 3.2, Linux 0.99.x and 1.0.x, and ConvexOS V10.2. Users have reported that v2.20 compiles with relatively minor changes under NeXTStep 2.1 and 3.0, and HP/UX 9.0.
Jean-Jack Riethoven ported CircleMUD version 2.20 to the Amiga and has contributed his code for version 3.0 of CircleMUD. Questions about the Amiga source should be directed to Jean-Jack Riethoven, not Jeremy Elson or George Greer.
There is a special
uploads area in the CircleMUD domain for submissions of code,
areas, utilities, scripts, and anything else that might be of use to
Circle users. Please make sure only to upload to
upload.circlemud.org and not any of the CircleMUD mirrors. These
portions of code or areas will probably not be added to the full release
of CircleMUD unless you make specific arrangements with Jeremy for code
items, or with Alex for area/lib files.
Patch files are created and used using the ``diff'' and ``patch'' utilities, respectively. They can both be downloaded from the GNU FTP Site under the name ``diffutils-xxx.tar.gz''. If you happen to be using a DOS or Windows machine, you should get patch for DOS. This does not support long filenames (but can be used with short filenames). There is also a set of Windows 95 Utilities now available from the Cygnus Gnu-Win32 Project.
These are the various parameters to use with diff (all work in general on unix based systems, but check out the help entries to be certain.
diff -uN [original_src_directory] [altered_src_directory] > Patch
-u is the unified output. ie. it tells diff to output the text what
is called ``patch'' style. On some systems, you will have to use
but it generates much larger and harder to follow patches.
-N Tells diff to treat files that are in one directory and not there
in the other as being empty in the one they are not there. It allows
entire files to be included into the patch.
-r recursive, add r to the uN above if you want it to recursively
add in any subdirectories. (be careful with this one)
-p Tells diff to indicate what function is being ``patched'' in each
section. This may not be supported by all versions of ``diff.''
If you download a patch file and would like to add it to your code, first make sure to read any instructions that the patch author might have written. The command used to add the patch may vary depending on how the patch was created. This should given in the first line of the patch or in the instructions. Normally, if using GNU patch with a unified diff, the command should be:
patch -u < [patchfile]If the patch was created with a SYSV patcher (i.e. not a unified diff), the patch should be added with:
patch -c < [patchfile]Of course, if the instructions state otherwise, ignore any instructions given here and follow the instructions given with the patchfile instead.
Finally, in modern patches, there are three characters of interest to note: