Node.js-based MUD engine

See the staging branch for the latest features.

Ranvier is not a WebSocket MUD. It does not have a web client. It is a plain ol' fashioned telnet MUD. Any client you can use to connect to the MUD you played 15 years ago will work with Ranvier.


Ranvier prides itself on having thorough documentation which is available on our website: ranviermud.com (You can also view them locally; see the Documentation section of our Contributing guide.)


We have a Slack channel you can use to ask questions, suggest features, or just keep up to date with the project: https://ranviermud.slack.com

Get an invite


  • Robust bundle system: Nearly every aspect of the game can be modified without changing the core and allows for easy packaging and sharing of commands/areas/items/npcs/channels/behaviors
  • Scripting support: It's in JavaScript! No need for a shitty DSL. The codebase is JavaScript, the scripting is JavaScript.
  • Scripting is event-based. Put a listener in the script attached to your mob and it'll automagically happen when the event is emitted. Adding new events is easy as npc.emit('eventName') See documentation on Node.js event emitters for more detail
  • Pfile saving in JSON, easy to parse for external usage
  • Rooms, items, and NPCs are easily described in YAML. No weird bullshit ~~~~ and byte-specific parsing that requires a GUI editor to build (though we do have a GUI editor in the works!)
  • Did I mention it's in blasting JavaScript? No compiling, no C, no cygwin, no 15 year old spaghetti code

Built-in Bundles

The default bundles come together to make a basic Diku-style MUD with the following features:

  • Classes
  • Leveling
  • Passive/active skills
  • Spell effects
  • Flexible channel system
  • Incredibly simple-to-add commands
  • Quest system allowing for starting/progress/completion from any event in the game
  • Simple Diku-style combat system
  • Grouping/following
  • Loot tables allowing for meta pools for things like world or area drops in addition to NPC specific loot
  • Currency system allowing NPCs to be configured to drop different amounts of multiple currencies instead of just gold
  • A fast travel wayshrine system
  • Vendors with the ability to list items of multiple currencies
  • Crafting/resource gathering
  • NPC behaviors
  • Create NPCs aggressive to players or other NPCs (in general or specific NPC types)
  • Wandering NPCs (optionally restricted to certain paths or areas)
  • Conversational NPCs controlled via an integration with API.AI

You can build your MUD on top of these bundles or disable them and build yours completely fresh while still taking advantage of all of the core code.


  • Node.js >= v7.1.0

"I just want to check it out quickly"

git clone git://github.com/shawncplus/ranviermud
cd ranviermud
npm install
telnet localhost 4000

The default admin user/pass is admin/ranviermud

Play it

To try out what Ranvier looks like out of the box, as a player, telnet or point your favorite client to mud.ranviermud.com on port 4000. The server is updated from the Github staging branch, reset, and restarted every hour.