matrix-appservice-mumble
matrix-appservice-mumble copied to clipboard
Matrix <--> Murmur Bridge
matrix-appservice-mumble
A Matrix to Mumble bridge. It sends messages between bridged rooms and tells you when people join / leave Murmur.
Installation
These instructions are for a development version, please use the instructions located here
Compiling Murmur with gRPC support
Murmur is not compiled with gRPC support by default (as of 1.3.0). If you are using Fedora or CentOS, I have a COPR that you can use. Otherwise, you will need to compile Murmur yourself. I have some basic notes and directions on compiling Murmur here.
Setup bridge
-
Install
Using npm:
npm install --global matrix-appservice-mumble
Manually:
Download the latest release and build
npm i ./build.sh
-
Configure your homeserver
- Use
matrix-appservice-mumble
to generatemumble-registration.yaml
Replace "http://localhost:port" with the address your homeserver will use to talk with matrix-appservice-mumble.
The port matrix-appservice-mumble uses can be set with -p. (Default is 8090)
matrix-appservice-mumble -r -u "http://localhost:port"
-
Copy
mumble-registration.yaml
to your homeserver install directory, e.g./etc/matrix-synapse/
-
Edit
homeserver.yaml
and add the path to the just generatedmumble-registration.yaml
.
# A list of application service config files to use app_service_config_files: - /etc/matrix-synapse/mumble-registration.yaml
- Use
-
Create a new file named
mumble-config.yaml
on the server thatmatrix-appservice-mumble
is installed on.-
Copy the contents of mumble-config.yaml.example into
mumble-config.yaml
and change the options as needed. -
matrixRoom
should be a private room-
Create a new room (should be invite-only, which is the default)
-
Invite
@mumblebot:<your homeserver domain>
to the room. Your client may warn you that the user does not exist, click "Invite anyway" -
Copy the internal room id of the newly created room to
mumble-config.yaml
-
-
-
Start the bridge
$ matrix-appservice-mumble -c /path/to/mumble-config.yaml -f /path/to/mumble-registration.yaml
-
Link a room to a channel
-
You should see a message from the bot in
matrixRoom
after it has successfully started up -
Send a link command to the admin room (
matrixRoom
). Typehelp
to get a list of all commands.
# To link the topmost (root) Mumble channel link <internal Matrix room id> root_channel # To link a subchannel link <internal Matrix room id> <name of Mumble channel> # To link the root channel and send join/leave messages link <internal Matrix room id> root_channel true # To link a subchannel and send join/leave messages link <internal Matrix room id> <name of Mumble channel> true
-
Troubleshooting
Bridge Startup
-
Unhandled rejection Error: Failed to join room
on bridge startup- This means that the bot cannot join
matrixRoom
. Make sure that the bot has access (I.e. has the bot been invited) to the room. - Check the homeserver logs (e.g.
/var/log/matrix-synapse/homeserver.log
) for more information
- This means that the bot cannot join
Matrix -> Murmr not working
- Can you curl
url
inmumble-config.yaml
from the homeserver?- Check firewall configuration
- Check if matrix-appservice-mumble is running
- Check logs
- Check
mumble-registration.yaml
on both sides (should be in working directory of matrix-appservice-mumble and on homeserver)