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
The game is very simplistic compared to more modern MUDs.
- 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.
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
Yes! Telnet to cave.extricate.org on port 4000 and go from there.
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
sudo npm install forever -g
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 :)
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
cave-data volume will persist and contains acccount and player data.