Go-mud

Go based MUD Server

Download as .zip Download as .tar.gz View on GitHub

Multi User Dungeon Server

This MUD server started as a hackathon project at the Berlin Google DevFest 2013 which hat the topic "Retro" so i thought a MUD Server that is using XML as config is pretty retro.

The 2015 edition of Berlin Google DevFest was coming and the topic "ASCII" was a easy pick for me and so i worked again on the MUD Server

Features

At first the feature that is not existent: password protection, just a username and you are in.

Rooms

All levels/rooms/area are defined by a XML files per room, so you can merge different "worlds" by just copying all the files in to one folder and create a connecting room

All the room need to have a unique key by whom they are identified by the server. These keys are also used for directions.

Directions

Directions can have a free form name which must be unique per room and need to to have a key of an existing room. They can also be hidden and only be seen when the look command will be called with the direction name. You should give hints to find them. Directions can also have one or multiple dependencies.

Dependencies

The dependency system in Go-MUD is based on multiple things such as places you visit, actions you did there and attributes you have and their value. At the moment actions and directions can be marked with dependencies. Later this will be extended with the not yet build inventory system.

Attributes

Attributes can be used as dependency for rooms, there they can be used and Min and/or Max value filters.

Actions

Rooms can have multiple action which you can perform there. These actions can have and be in it self dependencies for other actions or rooms

Future Work

Here all future ideas for Go-Mud will be listed, if you have a cool idea just add a "enhancement" issue

Inventory

There should also be an inventory system for players and also containers in rooms that can be lootet and also be used as storage when the player inventory is full

Scripting

Some sort of scripting language maybe based on Lua or EcmaScript

Plugins

Plugins for when simple scripts are not enough

Authors and Contributors

@woodworker