Giter VIP home page Giter VIP logo

abermud2's Introduction

In a fit of nostalgia, some years ago I started trying to find source code to build a version of AberMUD2 close to the one I remember wasting far too much time on circa 1990. What I found was a later release of AberMUD2 (3.8.7) which had been reworked by Rich Salz, and an early AberMUD2 version, taken from the "X2 Support Group Game Development Archives" CD, which was at

  ftp://x2ftp.oulu.fi/pub/msdos/programming/gamesrc/abermud.zip

It's not completely clear which version this is, as the motd file lists it as 1.12, while distrib says 3.7.14, but all the files seem consistent with an early public release.

Although this is pretty much what I was after, the contents of the archive are in a pretty sorry state. It looks like it had been packed with an old MS-DOS archiver program, as all the filenames are truncated to 8.3, and all the directory information has been lost, causing some of the files in EXAMINES/ to be overwritten by those with the same name in TEXT/ROOMS/. Even worse, the code does not build. Comparing against Rich Salz's version, it looks as if long lines have somehow been deleted from several source files.

Armed with these two versions, I decided to see if I could get the earlier and more historically interesting one to run, using the later version as a guide for any missing pices. I ended up making the changes listed below to produce a working version of AberMUD2. No attempt has been made to clean up the code or correct the rather idiosyncratic spelling and grammar.

  • Replaced the 10 or so missing files from EXAMINES/ and TEXT/ROOMS/ with those from Rich Salz's version.
  • Compared code against Rich Salz's version and replaced missing long lines in source files.
  • Included an implementation of BSD's flock() call in terms of fcntl().
  • Replaced a call to getpw() with a call to getpwuid().
  • Replaced calls to the unsafe gets() with fgets() in order to avoid warning messages from glibc.
  • Changed calls to sgtty in key.c to use termios.
  • Changed the world generator to zero memory before writing it to the game's world file.

The source has been tested under FreeBSD and Cygwin (a Unix-like environment for Windows) and should work under any other modern Unix or related system. If you have any problems (or successes, for that matter) let me know.

In order to build you'll need gcc, make and the crypt library. Virtually every Unix system should already have these. If you're using Cygwin, gcc and make are in the "Devel" category of the installer, and crypt is in "Libs". To build, open up a shell, go to the directory containing this file and enter

  cd mud
  sh install.sh
  sh install2.sh

If all goes well you should have built the "mud.1" and "mud.exe" executables, and a new world file in /usr/tmp/. Start up AberMUD:

  ./mud.1

log on as "debugger", set a password, and enter the game. Enter "reset" to make items and mobiles appear, and you're ready to play!

abermud2's People

Contributors

davidkinder avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.