Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(wiki): Migrate Mumo wiki page #187

Draft
wants to merge 33 commits into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
3e3c149
docs(wiki): Add readme as initial page
hacst May 31, 2013
ade060c
docs(wiki): Nicen it up a little
hacst May 31, 2013
44bd429
docs(wiki): /* source */ Links to source plugin specific page
hacst May 31, 2013
c269415
docs(wiki): /* Currently mumo comes with the following modules */ re…
hacst May 31, 2013
5ea0833
docs(wiki): Description on how to set-up mumo.
hacst Jun 1, 2013
469ac45
docs(wiki): /* source */ correct game name spelling
hacst Jun 1, 2013
f852cdd
docs(wiki): added 3rd party modules
Natenom Jun 18, 2013
45e3f2a
docs(wiki): /* 3rd Party Modules */
Kissaki Jun 18, 2013
322211c
docs(wiki): /* Added mumo-maxusers */
Natenom Oct 14, 2013
c5afad8
docs(wiki): /* Added mumo-opcommand */
Natenom Oct 16, 2013
e10609e
docs(wiki): /* added mumo-sticky */
Natenom Oct 17, 2013
8b6f1ab
docs(wiki): /* added antiflood module */
Natenom Mar 16, 2014
fe4bfff
docs(wiki): Update mumo repo urls
hacst Jul 15, 2014
a72299c
docs(wiki): typo, link ice
Natenom Aug 17, 2014
20796e6
docs(wiki): add to category 3rd party
Natenom Oct 23, 2014
03fbe96
docs(wiki): /* fix link to forums */
Natenom Apr 1, 2015
6ff8f08
docs(wiki): /* Image injection modules */
while-loop May 27, 2015
73b5515
docs(wiki): /* added modules with context menus */
Natenom May 30, 2015
57d7cd3
docs(wiki): /* added mumo-getsupport and mumo-ossuffixes */
Natenom Nov 17, 2015
a85314b
docs(wiki): added lowbw and videoinfo modules
Natenom Mar 4, 2016
6fef997
docs(wiki): /* added message forwarder */
Natenom Mar 9, 2016
8474163
docs(wiki): /* Installing mumo */
Natenom Apr 12, 2016
2db781c
docs(wiki): /* add mumo-password module */
Natenom Jul 20, 2016
ce56433
docs(wiki): /* added mumo-registerusers-contextmenu */
Natenom Feb 23, 2017
bffd66c
docs(wiki): /* fix */
Natenom Feb 23, 2017
847f0cd
docs(wiki): /* add mumo-welcomemessage */
Natenom Mar 7, 2017
f0ef618
docs(wiki): update to new github urls
Natenom Mar 25, 2017
b8c1894
docs(wiki): /* 3rd Party Modules */
braandl Feb 19, 2018
2949e00
docs(wiki): /* 3rd Party Modules */
braandl Feb 19, 2018
2b44c21
docs(wiki): Fixing Plugin Commecnts
braandl Jul 30, 2018
0eb04ce
docs(wiki): Adjust mumo.md
braandl Jul 30, 2018
2992f23
docs(wiki): Changed pronouns to gender-neutral they-based pronouns
May 12, 2020
a90f6cd
docs(wiki): Add docker help
azlux Jul 17, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
230 changes: 230 additions & 0 deletions hugo/content/documentation/mumble-server/mumo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
+++
title = "Mumo"
date = "2020-07-17T21:09:29"
license = "CC by-sa 2.5"
categories = ["3rd Party"]
+++
# 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](https://wiki.mumble.info/wiki/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
### bf2
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.

### idlemove
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.

### seen
Makes the server listen for a configurable keyword to ask for
the last time a specific nick was seen on the server.

### [source](https://wiki.mumble.info/wiki/mumo_source)
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](https://wiki.mumble.info/wiki/mumo_source).

### test
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
[urltoimg on GitHub](https://github.com/aciid/urltoimg-for-mumo)

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.

#### Chat Img
[chatimg on GitHub](https://github.com/aselus-hub/chatimg-mumo)

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.

### Message forwarder
[messageforwarder on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/messageforwarder)

Forwards messages to all linked channels.

### Wrong Version
[wrongversion on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/wrongversion)

Users with older Mumble versions will get a message (triggering version is configurable).

### Lowbw
[lowbandwidth-channel on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/lowbandwidth-channel)

Creates a Low bw channel whenever a member of group "bots" enters a room and removes it later if empty...

### Videoinfo
[mumo-videoinfo on GitHub](https://github.com/while-loop/mumo-videoinfo)

Mumo plugin to provide YouTube video information to Mumble.

### Set Status
[setstatus on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/setstatus)

Users can add a temporary status to your username via chat command.

### Deaf to AFK
[deaftoafk on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/deaftoafk)

Moves deafened users into an AFK channel.

### Anti recording
* [antirec with contextmenus on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/antirec-contextmenu)

If a user starts to record in Mumble they will be deafened or kicked from the server.

### Max users
[mumo-maxusers on GitHub](https://github.com/ExplodingFist/mumo-maxusers/)

This is a MuMo module to provide an administrator the capability of enforcing granular user limits by channel in mumble.

### Opcommand
[mumo-opcommand on GitHub](https://github.com/ExplodingFist/mumo-opcommand)

Temporarily add user or remove user to/from a group via GUI command line.

### Sticky
* [sticky with contextmenus on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/sticky-contextmenu)

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.

### AntiFlood
[antiflood on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/antiflood)

If a user exceeds a limit of actions within a timeframe (both can be changed) they will be kicked from the server.

### GetSupport
[getsupport on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/getsupport)

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.

### OS-Suffixes
[os-suffixes on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/os-suffixes)

Adds suffixes to user names based on operating system.

### mumo-password
[mumo-password on GitHub](https://github.com/Betriebsrat/mumo-password)

"Generates a random password for mumble which expires in 30 minutes."

### mumo-chatlogger
[mumo-chatlogger on GitHub](https://github.com/braandl/chatlogger-for-mumo)

"Logs server chats and makes them accessible to the users as a history"

### mumo-registerusers-contextmenu
[registerusers-contextmenu on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/registerusers-contextmenu)

"Ability to define one or more groups whose users are able to register new users on a server by right clicking them."

### mumo-welcomemessage
[welcomemessage on GitHub](https://github.com/Natenom/mumblemoderator-module-collection/tree/master/welcomemessage)

"Displays a welcome message depending on registration, new user ..."

## Contributions
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.

## Configuration
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.

## Requirements
mumo requires:

- 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

# Installing mumo
The newest version of mumo is always available from our mumo repository at https://github.com/mumble-voip/mumo .

## Docker
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.

Warning:

- 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

## Ubuntu 12.04
*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.py

Mumo should now be working with your mumble server. If it doesn't work check the *mumo.log* file for more information.