Code Monkey home page Code Monkey logo

libmudtelnet's Introduction

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.

libmudtelnet's People

Contributors

atmelfan avatar cpu avatar envis10n avatar jhall11 avatar liquidityc avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

cpu jhall11

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.