Crates.io | mumd |
lib.rs | mumd |
version | 0.4.0 |
source | src |
created_at | 2020-12-26 20:34:22.9198 |
updated_at | 2021-06-20 21:53:25.464184 |
description | Mumble client daemon. |
homepage | |
repository | https://github.com/sornas/mum |
max_upload_size | |
id | 327619 |
size | 203,590 |
Mumble daemon with controller (think mpd(1)
/mpc(1)
) written in Rust.
mumd and mumctl are available on crates.io and can be installed with
$ cargo install mumd
$ cargo install mumctl
They are also available on the AUR. Thirdly, we publish compiled binaries on Github.
These are for Arch Linux. You might need other packages on other distributions and operating systems, or they might be named something different.
Windows is not currently supported but could be in the future. macOS should work. Other operating systems haven't been tested. The limiting factor on Windows is IPC communication which is (currently) done via the crate ipc-channel.
We only "guarantee" compilation on latest Rust stable. Open a ticket if this is an issue for you and we'll see what we can do.
$ cargo build --release
$ ln -s $PWD/target/release/mumctl $HOME/.local/bin/
$ ln -s $PWD/target/release/mumd $HOME/.local/bin/
mum contains optional features that are enabled by default. To compile without them, build with --no-default-features. Features can then be enabled with --features "FEATURES".
The following features can be specified:
| Name | Needed for | |--------------------+--------------------| | mumd/notifications | Notifications | | mumd/ogg | .ogg sound effects |
If you're using Cargo 1.51 or later you can specify features directly from the workspace root:
$ cargo build [--release] --no-default-features
Older versions need to build the packages separately:
$ cd mumd
$ cargo build --release --no-default-features
$ cd ../mumctl
$ cargo build --release --no-default-features # technically unneeded
# since no features exist
Man-pages for mumd, mumctl and mumdrc (the configuration file) are included as both asciidoc txt-files and already formatted groff-files. They are generated with
$ asciidoctor -b manpage *.txt
This describes how to connect to a server and join different channels.
See $ mumctl --help
or documentation/*.txt
for more information.
Start the daemon with mumd. Currently it attaches to the terminal, so if you want to run it in the background you can detach it with e.g. (zsh):
$ mumd &>/dev/null &|
Somewhere down the line we're aiming to have a --daemonize
.
Interfacing with the daemon is done through mumctl. Some examples:
$ mumctl connect 127.0.0.1 spock # connect to 127.0.0.1 with username 'spock'
$ mumctl channel list
ServerRoot
-user1
-user2
-user2
Channel2
Channel3
$ mumctl channel connect Channel2
The main hub for issues is our issue tracker. Additionally, there are some features that aren't present on the issue tracker:
Mostly because it's a fun way of learning a new language. Also: