Skip to content

bajr/redmud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RedMUD

A basic MUD server implementation in Rust using Tokio for handling network connections and Diesel for backend data storage.

Getting Started

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.

  1. RedMUD requires a stable version of Rust, PostgreSQL 10 and diesel_cli.

  2. Create a database cluster and log into the database as the postgres superuser:

     sudo pg_createcluster 10 main --start
     sudo -u postgres psql postgres
    
  3. 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;
    
  4. Use diesel to initialize the database (substituting your password):

     diesel setup --database-url='postgres://redmud_admin:wordpass@localhost/redmuddb'
    
  5. 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.

Implementation Goals

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

Stretch Goals

TBD

License

RedMUD is licensed under LGPL 3.0+

Author

Bradley Rasmussen: rasmbj@pdx.edu

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages