Skip to content

tgreaves/ranviermud-cave

 
 

Repository files navigation

Cave

What is Cave?

Cave is a port of the BBC Micro MUD 'CAVE', which was released back in 1985 by XOB Software. Other things that happened in 1985: The UK got its first cellular phone network, DNS was launched and Richard Stallman published the GNU Manifesto.

Cave ran on an Econet network. Interestingly, it didn't use a traditional client / server model. The 'security' of Econet meant that each station in the game would just send data straight into the memory of other computers in the game, where it could be actioned on.

For the original source code, and some notes, please refer to: https://github.com/tgreaves/cave-bbc-econet

What can I do in Cave?

The game is very simplistic compared to more modern MUDs.

You can:

  • Wander around.
  • Attack things! (HIT, STAB, BURN etc -- although you need to find weapons for some of these!)
  • Turn the lights on and off (If you find the light switch)
  • POISON other players (and get cured if you find the MEDICINE)
  • Open and close the portcullis with the rope
  • Earn points by slaying CCMS (Cave Controlled Monsters) or other players.
  • SUMMON other players and CCMs, and TELEPORT to them. Note the chance of success varies depending on your power.
  • FORCE other players to do your will!

Note that the combat system is very simplistic. Fastest player wins!! This is faithful to the original, although the original had inherent lag due to the speed of the computers and network.

You 'level up' at scores of 150 (Warrior), 500 (Master Caver) and 1000 (Wizard). Wizard is pretty much the 'super user' level.

How has this been built?

This game has been built on top of the Ranvier engine. It has been implemented a standalone bundle which this repository pulls in as required.

The bundle source code is here: https://github.com/tgreaves/cave

Can I see this running anywhere?

Yes! Telnet to cave.extricate.org on port 4000 and go from there.

How do I run it myself?

PRE-REQUISITE: Have Node v10+ and npm installed on your system.

Firstly, you need the latest 'core' for Ranvier which fixes some broadcasting bugs. (This step won't be required when these fixes hit the mainstream).

git clone https://github.com/RanvierMUD/core.git
cd core
sudo npm link
cd ..

Then, you can proceed with the installation of Cave:

git clone --recursive https://github.com/tgreaves/ranviermud-cave.git
cd ranviermud-cave
npm ci
npm link ranvier
git submodule foreach npm install
./ranvier

To have the game persist, install forever:

sudo npm install forever -g

Then:

  • forever start -o log/ranvier.log ./ranvier

Once you have created a character (which will appear in your 'data' folder), you can edit it to increase your score to Wizard levels as you see fit :)

Docker

git clone --recursive https://github.com/tgreaves/ranviermud-cave.git
cd ranviermud-cave
docker build . -t ranviermud-cave:latest
docker volume create --name=cave-data
docker-compose up -d

The cave-data volume will persist and contains acccount and player data.

About

A port of the BBC Micro Econet MUD game 'Cave' to Ranvier.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.1%
  • Dockerfile 4.9%