.____                  .__    .___ __________              .__              
 |    |    __ __   ____ |__| __| _/ \_  _____/ ____    ____ |__| ____   ____ 
 |    |   |  |  \_/ ___\|  |/ __ |   |   __)_ /    \  / ___\|  |/    \_/ __ \
 |    |___|  |  /\  \___|  / /_/ |   |       \   |  \/ /_/  |  |   |  \  ___/
 |_______ \____/  \___  |__\____ |  /______  /___|  /\___  /|__|___|  /\___| 
         \/           \/        \/         \/     \//_____/         \/       

Lucid Mud Engine is a Ruby based modern mud engine designed from the ground up to be both fast and versatile. Lucid Mud is backed by RabbitMQ, Postgresql, and redis Redis. The Lucid Mud Engine was developed with the goal of being both easy to use for those new to Ruby or programming, yet fully hackable for more advanced users. It is designed from the ground up for durability and speed using multiple battle tested third party technologies rather than depending on its own.

Lucid Mud Engine requires at least Ruby 2.3.0 to run, and must be run on a *nix friendly environment (Linux, MacOS)

Features

  • Hackable - You can change nearly every aspect of the gameplay, from the races to the actual gameplay mechanics
  • Extensible - Lucid Mud sports a robust plugin system, allowing anyone to create extensions by simply creating a Ruby gem. Extensions can be anything from custom races, to weather systems, to fully custom game experiences.
  • Fault Tolerant - Lucid separates the socket handler (the Portal) from the acutal game (the World) allowing the game world to be updated or reset without losing user connections. All user input is fully buffered so that as soon as the world service is restarted game play can commence from where it left off.
  • Open Source - Lucid Mud is open sourced under the MIT license!
  • Popular MUD protocol support - Built in support for MXP (Mud eXtension Protocol), GMCP (Generic Mud Communication Protocol), and MCCP MUD Client Compression Protocol.

Installation

Requirements

  • Ruby At least 2.3.0. We suggest RVM!
  • Redis
  • RabbitMQ
  • PostgreSQL - While Lucid utilizes ActiveRecord for handling the database, it specifically depends on PostgreSQL, and does not support any other database.

The lucid-mud gem

Run gem install lucid-mud

Create your world

Once lucid is installed you can create your new world by running:

lucid new [name_of_your_world] && cd [name_of_your_world]

Start it up!

A Lucid world requires two running services, the portal service, and the world service. Start each one up:

lucid portal start
lucid world start

Congratulations, your're up and running!

Plugins

A plugin is simply a Ruby Gem tooled specifically to extend the functionality of Lucid.

Driver

The Driver is a special plugin for Lucid Mud that provides the core functionality of the game. By default Lucid uses the D20 driver, based off of, you guessed it, Dungeons & Dragons D20 system. It is also possible to create your own Driver, either by forking the D20 driver, or creating and entirely custom one.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/lucid-mud. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.