Code Monkey home page Code Monkey logo

Rust GitHub commits since latest release (by SemVer) GitHub issues by-label dependency status Security audit Coverage Status Discord

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 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

Installation

  • Ubuntu/Debian : Deb packages can be found on the releases page
  • Archlinux/Manjaro : Packages are available on AUR
  • NixOS/Nix : Packages are available in NixPkgs, or from our Flake
  • 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 run

Dependencies 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 run

In 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 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 directly, or with direnv, 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 post an issue or post a question in discussions

Contributing

All contributions are welcome. Check out contributing guidelines.

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.

Blightmud's Projects

libmudtelnet icon libmudtelnet

A low-level Telnet protocol implementation for MUD clients written in Rust. Forked from libtelnet-rs, inspired by libtelnet.

msp icon msp

Mud Sound Protocol plugin for Blightmud

settings icon settings

A settings extension plugin for Blightmud

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.