mymindstorm / matrix-appservice-mumble

Matrix <--> Murmur Bridge
https://matrix.org/docs/projects/bridge/matrix-appservice-mumble
MIT License
29 stars 8 forks source link
grpc matrix mumble murmur

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

  1. Install

    Using npm:

    npm install --global matrix-appservice-mumble

    Manually:

    Download the latest release and build

    npm i
    ./build.sh
  2. Configure your homeserver

    1. Use matrix-appservice-mumble to generate mumble-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"
    1. Copy mumble-registration.yaml to your homeserver install directory, e.g. /etc/matrix-synapse/

    2. Edit homeserver.yaml and add the path to the just generated mumble-registration.yaml.

    # A list of application service config files to use
    app_service_config_files:
    - /etc/matrix-synapse/mumble-registration.yaml
  3. Create a new file named mumble-config.yaml on the server that matrix-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

      1. Create a new room (should be invite-only, which is the default)

      2. Invite @mumblebot:<your homeserver domain> to the room. Your client may warn you that the user does not exist, click "Invite anyway"

      3. Copy the internal room id of the newly created room to mumble-config.yaml

  4. Start the bridge

$ matrix-appservice-mumble -c /path/to/mumble-config.yaml -f /path/to/mumble-registration.yaml
  1. Link a room to a channel

    1. You should see a message from the bot in matrixRoom after it has successfully started up

    2. Send a link command to the admin room (matrixRoom). Type help 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

Matrix -> Murmr not working