The Archipelago MUD Code How-To (FAQ)
Tempora Heroica is the descendant of Archipelago MUD that ran from 1993-1995 at the University of Essex in East Anglia, England. Archipelago is based on the CircleMUD 2.2 code and was administered by Ponder and Kalliste. At the end of August 1996, Ponder left the University of Essex, placed a cleaned-up version of the archipelago code on the CircleMud ftp site and handed over the Archipelago administration to Magnifico.
In December 1996, Magnifico branched the existing Archipelago MUD and began running the new branch under the name Archipelago Classic. The MUD was renamed in April 1997 to Tempora Heroica. The archipelago code is not in the public domain, but it is publicly available. The only restrictions on using the code is that the DIKU MUD and CircleMUD licenses are followed and the names of the Archipelago implementors are left in place in the credits and the MUD login screens.
WARNING!
This is unsupported code.
These are unsupported instructions.
Use at your own risk!
Yes, we know the code has lots of bugs.
How to compile in the Cygwin environment
Introduction
With the advent of Cygwin, some people have reported experiencing some minor problems building in that environment. Here is a simple steps to get the mud runing in Cygwin. Type all the following commands in a Cygwin terminal:
1. wget http://www.ibiblio.org/TH/Archipelago-1.1-fixed.tar.gz
Gets the MUD code and related files.2. tar zxvf Archipelago-1.1-fixed.tar.gz
Uncompresses and unarchives the MUD code and related files.3. cd Archipelago/src
Goes into the source directory.4. rm comm.c && wget http://www.ibiblio.org/TH/comm.c
Deletes the old version of comm.c and then gets a new version.5. make clean && make
Builds the MUD application: test1.exe.6. cd ..
Goes up a directory.7. bin/test1.exe
Runs the MUD application on port 2000.
How to compile on (Solaris 2.6) Unix
Introduction
These are the following errors encountered while compiling the stock archipelago code on a Sun Microsystems Solaris 2.6 Unix box using SunOS 5.6 and compiling with gcc (available from www.gnu.org). The errors are listed in the order they appear, followed by the fix. This list of fixes is geared towards SunOS 5.6, but should solve problems encountered by compiling using gcc on Linux as well. Use at your own risk, I will take no responsibility for damage done to your computer or files.
Before you start
Make sure you have downloaded the stock archipelago code from the CircleMud website. Unzip it (gunzip archipelago-1.1.tar.gz) and unarchive it (tar xvf archipelago-1.1.tar).
Download these files (Makefile, comm.c, and db1.c) and use them to replace the existing ones in the /Archipelago/src/ directory.
Error:
act.other.c: In function `save_aliases':
act.other.c:2168: `errno' undeclared (first use in this function)
act.other.c:2168: (Each undeclared identifier is reported only once
act.other.c:2168: for each function it appears in.)
act.other.c:2168: `ENOENT' undeclared (first use in this function)
act.other.c: In function `load_aliases':
act.other.c:2197: `errno' undeclared (first use in this function)
act.other.c:2197: `ENOENT' undeclared (first use in this function)Fix:
Add a new line after line 16 and type this on it: #include <errno.h>
Error:
act.wizard1.c: In function `do_whohas':
act.wizard1.c:2252: `errno' undeclared (first use in this function)
act.wizard1.c:2252: (Each undeclared identifier is reported only once
act.wizard1.c:2252: for each function it appears in.)
act.wizard1.c:2252: `ENOENT' undeclared (first use in this function)Fix:
Add a new line after line 19 and type this on it: #include <errno.h>
Error:
shop.o: In function `shopping_buy':
/Archipelago/src/shop.c:185: undefined reference to `aelfric'
/Archipelago/src/shop.c:185: undefined reference to `aelfric'
/Archipelago/src/shop.c:185: undefined reference to `reimund'
/Archipelago/src/shop.c:185: undefined reference to `reimund'
shop.o: In function `shopping_sell':
/Archipelago/src/shop.c:353: undefined reference to `aelfric'
/Archipelago/src/shop.c:353: undefined reference to `aelfric'
/Archipelago/src/shop.c:353: undefined reference to `reimund'Fix:
Edit line 186 in shop.c to read: (keeper == martha))
Edit line 354 in shop.c to read: ||(keeper == martha))
Conclusion
This is all you should need to get the archipelago code to compile. All of the changes, including the changes to the files downloaded, are simple and should have been easily remedied by an experienced Unix programmer. If you are still having problems getting the source to compile, I suggest reading a few books on C programming and developing software for Unix. It would be a good idea to take a few classes on software architecture and design as well. The only way to learn is by doing, not by getting someone to do it for you.
Text and source file updates, Copyright © 1998-2004.
Last updated on 2004 April 13.