- 1 mumo - The Mumble moderator
- 1.1 Currently mumo comes with the following modules
- 1.2 3rd Party Modules
- 1.2.1 Image Injection Modules
- 1.2.2 Message forwarder
- 1.2.3 Wrong Version
- 1.2.4 Lowbw
- 1.2.5 Videoinfo
- 1.2.6 Set Status
- 1.2.7 Deaf to AFK
- 1.2.8 Anti recording
- 1.2.9 Max users
- 1.2.10 Opcommand
- 1.2.11 Sticky
- 1.2.12 AntiFlood
- 1.2.13 GetSupport
- 1.2.14 OS-Suffixes
- 1.2.15 mumo-password
- 1.2.16 mumo-chatlogger
- 1.2.17 mumo-registerusers-contextmenu
- 1.2.18 mumo-welcomemessage
- 1.3 Contributions
- 1.4 Configuration
- 1.5 Requirements
- 2 Installing mumo
mumo - The Mumble moderator
Mumo is meant to provide a platform on which Python based Mumble server plugins can be built upon. The goal is to reduce the boilerplate needed to interact with the Mumble server to a minimum.
To achieve this goal tasks like Ice interface setup, basic error handling, configuration management, logging and more are provided by mumo. Developers can focus on their specific functionality instead.
Currently mumo comes with the following modules
Battlefield 2 game management plugin that can dynamically move players into appropriate channels and groups to fit the in-game command structure. This is achieved by using data gathered from Mumble's positional audio system and does not require cooperation by the game server.
Plugin for moving players that have been idle for a configurable amount of time into a idle channel. Optionally the players can be muted/deafened on move.
Makes the server listen for a configurable keyword to ask for the last time a specific nick was seen on the server.
Source game management plugin that can dynamically move players into on-the-fly created channel structures representing in-game team setup. This is achieved by using data gathered from Mumble's positional audio system and does not require cooperation by the game server. Currently the following source engine based games are supported: Team Fortress 2, Day of Defeat: Source, Counter-Strike: Source, Half-Life 2: Deathmatch.
For more information on how to configure and use the source plugin see here.
A debugging plugin that registers for all possible events and outputs every call with parameters into the debug log.
3rd Party Modules
Image Injection Modules
URL to image
If you send an image URL to the channel, the server fetches it and sends the image instead of the image link to the current channel.
A more full featured implementation of the same functionality as Url to Image. Allows injection of photos into chat, re-sizing them if they are larger then the size accepted by the mumble protocol and allowing the server admin to set a max width/height for the image so that it is scaled through html or thumbnailing to never be larger then prescribed. Allows the conversion of images within regular chat messages w/o bang commands as an option. Finally the injection of any number of images present after the bang or within a message.
Forwards messages to all linked channels.
Users with older Mumble versions will get a message (triggering version is configurable).
Creates a Low bw channel whenever a member of group "bots" enters a room and removes it later if empty...
Mumo plugin to provide YouTube video information to Mumble.
Users can add a temporary status to your username via chat command.
Deaf to AFK
Moves deafened users into an AFK channel.
If a user starts to record in Mumble they will be deafened or kicked from the server.
This is a MuMo module to provide an administrator the capability of enforcing granular user limits by channel in mumble.
Temporarily add user or remove user to/from a group via GUI command line.
A user who gets the sticky status can't do more than sitting in one special channel. Even admins will loose their permissions while sticked.
If a user exceeds a limit of actions within a timeframe (both can be changed) they will be kicked from the server.
A user can write for example "!helpme support message up to 160 characters..." to a channel/user/themselves and everyone on the server who is member of a special group gets a notification.
Adds suffixes to user names based on operating system.
"Generates a random password for mumble which expires in 30 minutes."
"Logs server chats and makes them accessible to the users as a history"
"Ability to define one or more groups whose users are able to register new users on a server by right clicking them."
"Displays a welcome message depending on registration, new user ..."
If you have a module that you would like to see shipped with mumo or have any improvements or suggestions please contact us. Whether you prefer a pull request, visiting us in IRC in #mumble on Freenode or starting a thread in our forums at http://forums.mumble.info is up to you.
To configure and run mumo take a look at the mumo.ini and the module specific configurations in modules-available folder. Enabling modules is done by linking the configuration in modules-available to the modules-enabled folder.
- python 2.7* - python-zeroc-ice - murmur >=1.2.3* - murmur >=1.2.4 if you want to use a module which needs user interaction via text commands
- Not tested with lower versions yet
The newest version of mumo is always available from our mumo repository at https://github.com/mumble-voip/mumo .
A docker image can be run with the command:
docker run --name mumo --net=container:<id_of_mumble_server_container> -d -v /path/to/mumo/folder:/data mumblevoip/mumo
This is the base of the mumo service. It's allow addition of new module.
- the service network-mode is mandatory to link mumble and mumo. Ice need to be in mumble-server localhost. - the volume is to store all modules and configurations, you can add yours here. Subfolders will be automatically created ad first start. - When you add new modules, you need the restart the container.
Here a docker-compose(v2.4) example:
mumble-mumo: image: mumblevoip/mumo container_name: mumble-mumo restart: on-failure volumes: - /path/to/mumo/folder:/data network_mode : "service:mumble-server" depends_on: - mumble-server
Note: This guide only shows the basic steps for trying out mumo. For a more permanent setup you'll want to run mumo with its own user and a startup script.
- Make sure you are running a recent Murmur release (1.2.4 or later). Ice should be enabled and a writesecret must be set (see configuration file).
- Install dependencies
sudo apt-get install python-zeroc-ice python-daemon git
- Clone repository
cd ~/ git clone https://github.com/mumble-voip/mumo.git
- Adjust configuration
cd mumo nano mumo.ini
In the editor set your server's Ice writesecret as the secret variable so mumo can control your server.
secret = mysecretwritesecret
Close and save by pressing Ctrl + X followed by Y and Enter.
- Configure the modules you want to use by editing their ini file in the modules-available folder
- Enable modules by linking their config file into the modules-enabled folder
cd modules-enabled ln -s ../modules-available/moduleyouwanttouse.ini
- Run mumo
Mumo should now be working with your mumble server. If it doesn't work check the mumo.log file for more information.