A basic MUD server implementation in Rust using Tokio for handling network connections and Diesel for backend data storage.
RedMUD is in the initial stages of development and is not yet in a configurable state. The following instructions are written for Linux, but other systems should be possible.
-
RedMUD requires a stable version of Rust, PostgreSQL 10 and
diesel_cli
. -
Create a database cluster and log into the database as the
postgres
superuser:sudo pg_createcluster 10 main --start sudo -u postgres psql postgres
-
Create an administrative role for the RedMUD database (choosing a secure password). We will use this role to initialize the database:
CREATE ROLE redmud_admin LOGIN CREATEROLE CREATEDB PASSWORD 'wordpass'; GRANT pg_monitor TO redmud_admin;
-
Use diesel to initialize the database (substituting your password):
diesel setup --database-url='postgres://redmud_admin:wordpass@localhost/redmuddb'
-
Once all dependencies are installed and the database is initialized, run RedMUD with
cargo run
. The server will available via any MUD client or telnet by pointing them to localhost on port 3389.
Currently, all RedMUD can do is accept connections and display some very minimal information to connected players.
Further work will hopefully allow RedMUD to do the following:
- Associate player accounts with a character
- Allow players to interact with a generic world map defined in the database
- Allow players to interact with other players selectively via a variety of built-in commands
TBD
RedMUD is licensed under LGPL 3.0+