NodeJS 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 use to connect to the MUD you played 15 years ago will work with Ranvier.
- 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 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 event emitters for more.
- 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.
- Arbitrary room exits custom to each room not locked into n/s/e/w and it’s not a pain in the ass to add them.
- Leveling, passive/active skills, effects.
- Flexible channel system.
- Incredibly simple-to-add commands.
- NodeJS >= v7.1.0
Up and running
git clone git://github.com/shawncplus/ranviermud cd ranviermud npm install sudo ./ranvier -v --save=10 --respawn=10
Connect to the server using
telnet localhost 23
- [ ] Respawn
- [ ] “Hotboot” - Reload anything from a bundle. Changing core will require a restart
- [ ] Rewrite script attachment to entities with the new bundle loader
- [ ] Implement containers
- [ ] Implement equipping (allow configuration of valid slots)
- [ ] Implement some kind of helper for time-based events
[X] Refactor/rewrite entity loading
- Completely new bundle system in place
[X] Clean up object handling code (item_util, get, put, containers, equipment, inventory, etc)
- Object handling rewritten from scratch
[X] Revisit localization
- [X] Implement global config file to allow sweeping changes without changing code
- [X] Completely rewrite helpfiles
[X] Refactor channels to have types that will allow things like yell vs chat
- Channels were completely rewritten
- [ ] Remove/refactor doors
- [ ] Remove sean’s skills
- [X] Remove examine
- [ ] Fix effects to only serialize options, not the entire effects array
- [ ] Remove/move/refactor combat_util/rtcombat
Nice to have
- [ ] Update help to autogenerate usage for channels
- [ ] Update help to allow data like skill cost as tokens