Archipelago MUD old code instructions

For my project restoring Archipelago as it was in about 1997 see this page for the latest files.

Archipelago was a an excellent MUD application based on CIRCLEMUD.  The source code is available to mess around with, the only successor to Archipelago online today is Tempora Heroica http://www.ibiblio.org/th

The details below, showing how to compile the publicly released, heavily cut down version 1.1 dated 1996 is based partly on instructions at http://www.ibiblio.org/TH/codefaq.html

Note – You should the below is probably OK just to learn how to compile and get a feel for Archipelago however I’ve noted many bugs, broken zone resets and other causes of segmentation faults in 1.1, this is because a lot of the code refers to objects etc. which are not in the cut down version, the code is also heavily dated and my restored version has several updates to the src files which allow it to compile on the latest gcc versions.

Before reading these instructions I recommend you learn the most basic UNIX commands to allow you to move up and down the file structure and perform basic file operations (see list of Unix commands at end of this guide), you can do this alternatively in Windows, but beware of expanding archives in Windows or native Windows software such as WinZip as this will introduce odd behaviour into the expanded files.

1.

Download and install Cygwin http://www.cygwin.com/

In Cygwin when you install it will list only default libraries and applications, you also need to install the following: binutils, gcc, gdb, make, wget, also make sure you have installed all crypt libraries.

Personally I selected all options under base (should be selected by default anyway), devel, interpreters, libs to be on the safe side…

You can use the “view” option in Cygwin’s top-right corner to list all files or select by category.

Start Cygwin, you will see a command prompt in a terminal window, looking something like:

defualt@(your computer’s name) >

2. In Cygwin, to obtain the Archipelago files type:

wget http://www.ibiblio.org/TH/Archipelago-1.1-fixed.tar.gz

this will download the archipelago 1.1 package from the TH Web site.

3.

Expand the files by typing:

tar zxvf Archipelago-1.1-fixed.tar.gz

This uncompresses  and unarchives the MUD code and related files, you will see all the files expanding and listing on screen.

4. Type:

cd Archipelago/src

This will browse up to the src folder containing the build files.

5. Type:

rm comm.c && wget http://www.ibiblio.org/TH/comm.c

Deletes the old version of comm.c and then gets a new version from the TH Web site.

NOTE 1 – to fix certain warnings and errors, you can replace the header section of the ‘makefile’ (in the SRC folder) with the following:

###################################
CC = gcc
MYFLAGS = -ggdb  -pedantic -DDEBUG -Wno-int-to-pointer-cast -Wno-char-subscripts -fno-builtin-exit -fno-builtin-strcat -fno-builtin-strncat -fno-builtin-strcpy -fno-builtin-strlen -fno-builtin-calloc -Wno-overlength-strings -ansi
PROFILE =
LIBS =
OSFLAGS = -DLINUX
LIBS = -lcrypt
###################################
To get the whole replacement Makefile instead visit

http://draigweb.co.uk/archipelago/Makefile

or within Cygwin browse to the src folder (if at the root of the Archipelago folder type CD src) and type –

rm Makefile && wget http://draigweb.co.uk/archipelago/Makefile

This will delete the old Makefile and download my suggested version.

NOTE 2 – the following fixes may also be needed in Cygwin –

Some c files (In the Src folder) will need the following adding to the list of includes, I would suggest just adding to all the c files as it does no harm:

#include “crypt.h”

NOTE 3 – you should add this at the top of the list of includes in interpreter.c (In the Src folder):

#define __INTERPRETER_C__

NOTE 4 – there are a few code updates I have done to improve archipelago, one of these is an updated act.inform1.c to show auto full room exits – these added autoexits are not optional, they always show – but you can still use Brief or Compact to reduce the display format. this update also includes more colour within the MUD.

To get this download from http://draigweb.co.uk/archipelago/act.inform1.c

or within Cygwin browse to the src folder (if at the root of the Archipelago folder type CD src) and type –

rm act.inform1.c && wget http://draigweb.co.uk/archipelago/act.inform1.c

Another update is roomedit.c so you don’t have to press Shift every time you use the Q key – this fixes the uppercase-only ‘Q’ for quit when editing rooms.

To get this download from http://draigweb.co.uk/archipelago/roomedit.c

or within Cygwin browse to the src folder (if at the root of the Archipelago folder type CD src) and type –

rm roomedit.c && wget http://draigweb.co.uk/archipelago/roomedit.c

6.

Whilst still in the Src folder, to compile the MUD type:

make clean && make

This clears anything in the bin folder (where the application lives) and builds the MUD application: test1.exe

Alternatively you can do this separately as two commands, ‘make clean’ then ‘make’.

NOTE – to make all the MUD applications (not sure if these are needed) instead of typing make, type:

make all

If use use ‘make all’ you will have the ‘archipelago’ executable in the bin folder along with other executables, you can use this instead of test1 although I think they are the same executable.

7. Type

cd ..

This will go down a directory to the Archipelago folder (from where you need to run the MUD).

To run the mud from within the Archipelago folder type

./bin/test1

or

./bin/archipelago

…The former if you just make the basic test server or latter if you make all the circleMUD applications, there doesn’t seem much use for them so it may be simpler to use the test server.

8.

You can now conntect using a telnet program such as teraterm to localhost or 127.0.0.1 on port 2000
=================================

For Building instructions using the online builder tool take a look in the Text folder for building_h and see the HTML folder for guides

For a list of immort commands see Wizhelp (these are actually the old Circlemud instructions).

=================================

Cygwin/ Unx brief command reference

pwd Print working directory, shows you the path / directory name you are in
ls Shows you all files / folders in current directory
cd  Return to the root (home/default  directory)
cd .. Go back a directory
cd path Move up to the specified directory(s) from the current directory, eg:  cd archipelago    or   cd archipelago/src
cp file destination Copy a file to specified path, eg:  cp archi.zip new
Copies archi.zip to a folder called new from the current location.
rm file Remove the specified file in the current directory
mkdir name Make a new directory in the current directory.
rmdir name Remove a new directory in the current directory.
man keyword Search the manual for help on a keyword
./  run a file, eg:   ./hello.exe
gunzip filename uncompress a tar.gz  compressed archive in current directory, into a tar archive, eg :    gunzip ok.tar.gz
it will convert to a tar archive in the current directory
tar xvf filename uncompress a tar archive in current directory, eg : tar xvf ok.tar
It will expand fully into the directory structure contained in the archive.
wget path download a file into current directory, eg  wget http://awebsite.com/file.zip
make    send ‘make’ command to a makefile in the current (usually Src) directory to compile files specified in the makefile
make all  send ‘make all’ command to a makefile in the current directory to compile files specified in the makefile