This is a python implmentation of a MUD client, using the textual library.
I love automating my character. I love progress bars and other cool UI elements. I want to use a terminal UI to MUD.
I've used tintin++ since 1993, but I've gotten to the point where things I want to do are either too complex, or too cumbersome to maintain in tintin. I wrote tintin-helper which scratched the itch for a while, but I want to do more, and I want to enable you to as well.
This project is named after Farancia abacura, the Mud snake.
I haven't published pip packages yet, waiting on some stability.
Check out the repository and run:
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
Note: If you intend on using the dev tools, use requirements-dev.txt
instead.
Launch with abacura
. You can specify --config /path/to/config.file
,
abacura will look in ~/.abacura by default, but a config file is not required.
The app starts in the #null
session. You can use @connect <name> <host> <port>
to connect to a MUD, or you can define a session in ~/.abacura and use @connect <name>
.
For Legends of Kallisti, there is an add-on module on github
at abacura-kallisti which contains
more advanced features that are specific to that MUD.
I'll be working on a user manual when i get close to a beta-quality release.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please include information about your PR.
Will likely be MIT
- named sections can be used with
@connect <section>
to avoid typing host css_path
can be used to replace the default Textual CSS configurationscreen_class
can be used to replace the default screen layout
[global]
module_paths = ["/path/to/additional/python_packages"]
#css_path = "/path/to/custom.css"
[kensho]
#screen_class = "abacura_kallisti.screens.UpsideDownScreen"
host = "kallistimud.com"
port = 4000
Working:
- Custom per-session screen layouts
- sessions via the
@connect
command (should rename to #session) @config
command to view config, or@config <section>
to view specific section- scrollback
- MSDP parsing (specific to Legends of Kallisti for complex values, view with
@msdp
command) - TOML config in ~/.abacura, but defaults if it doesn't exist
- Commands, Triggers, Actions, Timers
- Session PluginManager - mud- or player-specific stuff goes here
todo:
- Per Player/Session variables
- Persistent per-session in-game configuration and preferences
- Many stock widgets, modal dialogs, etc
- Trigger matching on ansi-color or plaintext
- Websocket/REST API support
- Logging
- SSL support
- GCMP and other telnet sub protocols
- Features comparable to my other project tintin-helper
- Custom script support