Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Blightmud/Blightmud
A terminal mud client written in Rust
https://github.com/Blightmud/Blightmud
hacktoberfest linux lua mac mud mud-client rust rust-lang terminal terminal-based vt102
Last synced: about 1 month ago
JSON representation
A terminal mud client written in Rust
- Host: GitHub
- URL: https://github.com/Blightmud/Blightmud
- Owner: Blightmud
- License: gpl-3.0
- Created: 2020-04-25T20:18:22.000Z (over 4 years ago)
- Default Branch: dev
- Last Pushed: 2024-11-05T18:58:26.000Z (about 2 months ago)
- Last Synced: 2024-11-05T19:43:24.953Z (about 2 months ago)
- Topics: hacktoberfest, linux, lua, mac, mud, mud-client, rust, rust-lang, terminal, terminal-based, vt102
- Language: Rust
- Homepage:
- Size: 18.9 MB
- Stars: 217
- Watchers: 10
- Forks: 58
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-mud - Blightmud - A mud client for the terminal (Clients)
README
![Rust](https://github.com/Blightmud/Blightmud/workflows/Test%20&%20Build/badge.svg)
![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/blightmud/blightmud/latest?sort=semver)
![GitHub issues by-label](https://img.shields.io/github/issues-raw/blightmud/blightmud/bug)
[![dependency status](https://deps.rs/repo/github/blightmud/blightmud/status.svg)](https://deps.rs/repo/github/blightmud/blightmud)
![Security audit](https://github.com/Blightmud/blightmud/workflows/Security%20audit/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/Blightmud/Blightmud/badge.svg?branch=dev)](https://coveralls.io/github/Blightmud/Blightmud?branch=dev)
[![Discord](https://img.shields.io/discord/712214526463836191?label=Discord)](https://discord.gg/qnxgUC5)
# Blightmud : A mud client for the terminal
Blightmud has been a passion project of mine for some time. A big user of the
old but great [tinyfugue](http://tinyfugue.sourceforge.net/) I always wanted to
create my own similar mud client. Even though I don't play much muds these
days.## The name?
The client is written in rust. Some navigating throught the thesaurus brought
me to the word **blight** and here we are.## Features
- Completely terminal based (mac and linux)
- Telnet:
- TLS
- GMCP
- MSDP
- MCCP2 (compress2)
- NAWS
- TTYPE
- TELNET CHARSET
- MSSP
- Lua scripting:
- Output and sending
- Aliases
- Triggers
- Timers
- Customizing status bar
- Persistent storage
- Session storage
- Keybindings
- Audio playback (music/ambiance and sound effects)
- Text-To-Speech
- Mouse scrolling
- Plugins
- Sockets (TCP connecting and sending only)
- Spellchecking
- Low resource and fast
- In client help and manuals
- Native Text-To-Speech functionality (optional compile)
- Text searching
- Tab completion
- Split view when scrolling
- Screen reader friendly mode## Demo
![screenshot](resources/images/demo.gif)
## Installation
- **Ubuntu/Debian** : Deb packages can be found on the releases page
- **Archlinux/Manjaro** : Packages are available on [AUR](https://aur.archlinux.org/packages/?O=0&K=blightmud)
- **NixOS/Nix** : Packages are available in [NixPkgs](https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=blightmud), or from our [Flake](flake.nix)
- **Mac/Homebrew** : We have a homebrew tap `brew tap Blightmud/blightmud` (intel only, if you're on Apple Silicon (darwin) compiling is the best option)
- **Cargo** : If you have rust installed just run `cargo install --git https://github.com/blightmud/blightmud blightmud` from your favourite terminal.
- **Other/Alternative** : Download source and run `cargo install --path .` from the project root
- **Windows** : No native windows support but Blightmud runs fine under WSL## Compiling
- Install rust
- Run `cargo build` to compile
- Run `cargo run` to runDependencies include, openssl, alsa-libs and pkg-config
- Ubuntu `apt install pkg-config libopenssl-dev libasound2-dev libclang-dev`
- Arch `pacman -S pkgconf alsa-lib openssl clang`### Compile with text-to-speech
- Install rust
- Run `cargo build --all-features` to compile
- Run `cargo run --all-features` to runIn order for this to build correctly you will need to install some additional
dev dependencies: **libclang** and **libspeechd**. Below are some installation
commands that might fit your system:- Ubuntu `apt install libclang-dev libspeechd-dev speech-dispatcher speech-dispatcher-espeak espeak`
- Arch `pacman -S speech-dispatcher espeak`### Compile without spellchecking
Some users may encounter issues building the spellcheck feature on MacOS ARM64 (M1/M2). To
build Blightmud without the spellcheck feature, use `--no-default-features`. E.g.:- Install rust
- Run `cargo build --no-default-features` or `cargo build --no-default-features --features text-to-speech`
- Run `cargo run --no-default-features` or `cargo run --no-default-features --features text-to-speech` to run### Nix
If you're using [Nix](https://nixos.org/) or NixOS you can try Blightmud
right away with:- `nix run github:blightmud/blightmud`
For developers, once you've cloned this repo you can use the
[Blightmud flake](flake.nix) directly, or with [direnv](https://direnv.net/), to
have a ready-to-go and self-contained build environment:- Run `nix build` to build Blightmud without text to speech.
- Run `nix build .#blightmud-tts` to build Blightmud with text to speech.
- Run `nix develop` to enter a dev. env. with Rust nightly.
- Run `nix develop .#stable` to enter a dev. env. with the latest stable Rust.## Support, questions and help
Join our [discord](https://discord.gg/qnxgUC5) post an [issue](https://github.com/Blightmud/Blightmud/issues/new/choose) or post a question in [discussions](https://github.com/Blightmud/Blightmud/discussions)
## Contributing
All contributions are welcome. Check out [contributing guidelines](CONTRIBUTING.md).
## Side notes
This is my first rust project that has actually grown a bit. Some things might
look silly but thanks to rust they should still be safe. Anywho. If you find
some antipattern where you have a better idea I'm more then happy to se the PR
and learn some more rustier ways.