Any System

  1. Scenerio 1: Using CVS
    1. cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/firstmud login
    2. cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/firstmud checkout <version>
  2. Scenerio 2: Download
    1. Download from the Project Files
    2. Extract. (tar -xzvf firstmud-4.5.4.tar.gz, PowerArchiver, WinZip, WinRar)
    3. You can rename the folder if you want.

Unix/Cygwin Flavour

Requires automake and autoconf programs.

  1. Change to the main (the firstmud root) directory. (cd firstmud-4.5.4).
  2. Run the setup.sh script. This will attempt to find system dependencies and create a configure script. (./setup.sh) Later on you can run ./setup.sh clean to clean to the distrobution standard. See ./configure --help for help once the script is made or see Preprocessor Definitions below for additional arguments.
  3. Type 'make' (or 'gmake' for GNU make) to build firstmud and if all goes well, a 'firstmud' binary will be created. Type 'make install' to install it into the ../bin directory.

KDE/KDevelop

  1. Open Kdevelop and select Project->Import Existing Project.
  2. Select the firstmud directory for the project location.
  3. Select "Generic C++ Application (Automake based)".

Windows/MS Visual C++ (6.0+)

  1. Open MSCV++ and select File->New
  2. Select "Win32 Console Application" in the wizard that comes up. Also set the project name (ex. 'firstmud'), and the project location (typically the '..\win' directory). Click OK.
  3. Now choose "an empty project" and click Finish.
  4. Goto Project->Add to Project->Files and select all the .cpp files in ..\src. Don't worry about the .h files. We'll set an include path later, you can add them if you want.
  5. Goto Project->Settings (ALT+F7):
  6. Under the Debug tab (optional):
    1. Add the working directory. Typically any subdirectory of firstmud, if you set the project location to win\firstmud for example, '..\' would put you in the 'win' subdirectory.
    2. Add any program arguments. (Ex. '<port>' to set the port)
  7. Under the C/C++ tab:
    1. Under Preprocessor Definitions add ',ZLIB_DLL,_WINDOWS' to use MCCP, define DISABLE_MCCP instead if you choose not to use it. MCCP requires zlib1.dll with the exe file.
    2. Select "Preprocessor" from the Category list box. Under additional include directories add ..\..\src\h,..\ seperated by a comma. (relative paths are from the project file location) The goal here is to add 'src/h' and 'win' directories.
  8. Under the Link tab:
    1. Select "Input" from the Category list box and under "Additional Library path" add '..\', or the relative path to the 'win' directory. The necessary libraries like windows sockets are added to the project when compiled.

Cygwin Notes

Requires automake and autoconf programs.

  1. The installer from www.cygwin.com lets you pick what packages you would like, take the Cygwin installer default but in addition within the Devel section select the latest versions of the following:
    1. binutils
    2. gcc
    3. gdb
    4. make
    5. configure
    6. install
    7. indent
    8. crypt
    9. zlib
    10. plus anything else you might want, like wget
  2. Note that the exe file requires the cygwin\bin\cygwin1.dll. Copy it to your windows directory to save having to move one around.

Preprocessor Definitions

DISABLE_WEBSRV
Disables using the internal web server, --disable-web argument using the configure script.
DISABLE_MCCP
Disables using Mud Client Compression Protocol, disabled automatically under cygwin, disabled on unix if zlib library was not found.
DISABLE_SENDSTAT
Disables sending statistics back to
DISABLE_CRYPT
Disable encrypting of passwords, disabled under Windows, disabled under unix if crypt library not found
OLD_RAND
Uses the old random number system, disabled with configure if random functions not found, or using.
NO_INITIAL_ALPHA_PFILEDIRS
Disables using inital directories for player files. Default is disabled under windows, enabled on unix.
DISABLE_I3
Disables the use of the InterMUD3 network. Enabled by default but will not autoconnect.
MSVC++ 6 Only
WIN32
Defined automatically by MSVC++, will not compile without it.
_WINDOWS
Only needed when using MCCP. Tells the compiler we're building a Windows Program.
ZLIB_DLL
Only needed when using MCCP. Enables using the zlib.dll dynamic library.
Cygwin Only
__CYGWIN__
Defined automatically by Cygwin, unable to compile without it.

A list of additional definitions can be found in src/config/config.h.in

Running firstmud-4.5.4

  1. Run a startup script:
    1. The startup script can found in the ../bin directory.
      Ex: ./startup start <port> <args> &
      ./startup stop
      )
    2. Optionally you can have your crontab run boot.pl, this should be prefered once your mud is stable.
  2. Program arguments should be viewed first using the '--help' option. (Ex. ./firstmud --help)
    firstmud runs as a background process witha log file by default.
  3. You may run firstmud safely in any of the ./firstmud-4.5.4 directories, providing the executable is only 1 folder deep. (ex. ../bin, ../win)

Any missing or needed information for this page? Email Ryan.