mud
Version, currently 0.1.01 version
- 0.1.0latestJul 17, 2023
github.com/lewis-weinberger/mud
A Western-themed Multi User Dungeon (MUD)
Installation
# Add this to your shard.yml
dependencies:
mud:
github: lewis-weinberger/mud
version: ~> 0.1.0Then run:
shards installshard.yml
- Crystal
>= 1.0.0, < 2.0.0- License
- ISC
- Author
- lewis-weinberger
- Target
mudfrom src/mud.cr
- Executable
mud
Dependencies
Runtime Dependencies
- sqlite3~> 0.19github: crystal-lang/crystal-sqlite3
README
WesternMUD
A simple Western-themed Multi User Dungeon (MUD) server, currently in progress:
- [x] Telnet protocol interface
- [x] ANSI colour support
- [ ] An array of user commands and interesting game items
- [ ] Prefab and randomly-generated areas and rooms
- [ ] World persistence (with SQLite)
Installation
From source
To build the server from source you'll need to install Crystal (including its package manager Shards) and SQLite.
git clone https://github.com/lewis-weinberger/mud.git
cd mud
shards build --production --release --no-debug
This should generate bin and lib directories, with an executable bin/mud.
Download
Alternatively if you're running Linux on x86_64 you can try the latest pre-built binary in Releases.
Usage
Hosting a server
The server can be started by specifying an address and port to host on:
mud 127.0.0.1 5000
Clients can then connect using their favourite Telnet client (see below):
telnet 127.0.0.1 5000
Note if you're hosting over the internet you may need to set up port forwarding on your local network.
The amount of logging can be set via the environment variable LOG_LEVEL.
Telnet clients
Telnet clients come in all shapes and sizes, with varying support for the different protocol options. As a minimum, WesternMUD requires a client to support:
- 8-bit clean data transfer (the Binary Transmission option from RFC 856),
- Terminal emulation capable of interpreting ANSI control codes (confirmed via the Terminal Type option from RFC 1091).
It is also worth noting that WesternMUD assumes UTF-8 encoding of text. If your client chooses otherwise (or if its font doesn't have enough glyphs) then you may experience problems.
Clients running on Unix-like operating systems should set the TERM environment variable
to either xterm or ansi.
License
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.1.0- Tagged
- Jul 17, 2023
- Commit
b6a6f8e04a12- Crystal
>= 1.0.0, < 2.0.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/lewis-weinberger/mud
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 15, 2026
- Synced
- Aug 15, 2026
- Versions
- 1