Inhaltsverzeichnis
Installation of Mumble Moderator
The installation of MuMo is a bit tricky …
This howto is outdated, please try to use the German one, which I updated in 2020. I will later try to update this English version as well :)
Dependencies
- Debian 6 or later; in the section „Configure Mumble Moderator“ and later the system is not relevant anymore.
- A Mumble server should be installed on the same system and should be accessible through Ice; see also Install a Mumble-Server (German).
Howto
Prepare
One needs root permissions for the following steps:
Packets (on a Debian Squeeze or later):
- python-zeroc-ice – Python-Bindings, to be able to use Ice
- git-core – We need this to get the latest version of Mumble Moderator
- python-daemon – Needed if MuMo should run as a daemon
Install all packages with:
apt-get install git-core python-zeroc-ice python-daemon
Create a new user:
adduser mumo
Get Mumble Moderator
Now login as the new user:
su - mumo
And clone the project files from MuMo:
git clone https://github.com/mumble-voip/mumo.git
All files are now in the directory 'mumo
'.
Configure Mumble Moderator
Change to the new directory:
cd mumo
Here you can edit the file mumo.ini, see next section.
slice variable
If you are using a Mumble-Server >= 1.2.4 then you don't need to setup the 'slice =
' variable, Mumble Moderator will get the file from the server automatically.
If your server is older than 1.2.4 then you must point slice =
to the correct path. On Debian this file is located in '/usr/share/slice/Murmur.ice
after the installation of the package 'mumble-server
'.
If you did not use the Debian package to install the Mumble server copy the file Murmur.ice from your own package to /usr/share/slice/Murmur.ice and add that path to the slice variable:
slice = /usr/share/slice/Murmur.ice#'
Icesecret
If your server uses an icesecretwrite you must add this to the mumo.ini
.
secret = yourpassword
Modules
Create a new directory named modules-enabled
:
mkdir modules-enabled
Now change into the created directory and link all *.ini files of modules that should be active, for example:
cd modules-enabled && ln -s ../modules-available/seen.ini && cd -
Examples
This is an example of a complete mumo.ini
, click to show the content:
[ice] ; Host and port of the Ice interface on ; the target Murmur server. host = 127.0.0.1 port = 6502 ; Slicefile to use (e.g. /etc/slice/Murmur.ice), ; if empty MuMo will load the slice file from the ; target server at startup. slice = ; Semicolon seperated list of slice include directories ; to consider. This is only used on legacy platforms ; with old or broken Ice versions. slicedirs = /usr/share/slice;/usr/share/Ice/slice ; Shared secret between the MuMo and the Murmur ; server. For security reason you should always ; use a shared secret. secret = ;Check Ice connection every x seconds watchdog = 15 [murmur] ; Comma seperated list of server ids to listen on (empty for all) ; note that if a server isn't listed here no events for it can ; be received in any module servers = [modules] mod_dir = modules/ cfg_dir = modules-enabled/ timeout = 2 [system] pidfile = mumo.pid ; Logging configuration [log] ; Available loglevels: 10 = DEBUG (default) | 20 = INFO | 30 = WARNING | 40 = ERROR level = file = mumo.log [iceraw] Ice.ThreadPool.Server.Size = 5
Start MuMo
Now you can start your Mumble Moderator:
python mumo.py -a
Thats it :)
Close it with Ctrl + c.
Run Mumble Moderator as a system daemon
You can choose between:
- Init script (recommended)
- Start it by hand
Use an init script
In this section you must work with root permissions or with sudo
on Ubuntu.
The init script can be downloaded from the Mumble Moderator repository: https://github.com/mumble-voip/mumo/blob/master/init-script.
Copy it to /etc/init.d/mumo
Now you must change the wordir in the script from
WORKDIR=/opt/mumo
to
WORKDIR=/home/mumo/mumo
Make it executable chmod a+x /etc/init.d/mumo
Now add it to the runlevel:
update-rc.d mumo defaults
On the next system start Mumble Moderator starts automatically; to start it without a system restart, execute
service mumo start
Start Mumble Moderator by hand
You need to start Mumble Moderator with the parameter -d
to let it fork to the background.
python mumo.py -d
Problems
Lockfile
When Mumble Moderator does not start as a daemon and the log contains:
Traceback (most recent call last): File “mumo.py”, line 535, in context.__enter__() File “/usr/lib/pymodules/python2.7/daemon/daemon.py”, line 352, in __enter__ self.open() File “/usr/lib/pymodules/python2.7/daemon/daemon.py”, line 344, in open self.pidfile.__enter__() File “/usr/lib/pymodules/python2.7/lockfile.py”, line 223, in __enter__ self.acquire() File “/usr/lib/pymodules/python2.7/daemon/pidlockfile.py”, line 109, in acquire super(TimeoutPIDLockFile, self).acquire(timeout, *args, **kwargs) File “/usr/lib/pymodules/python2.7/daemon/pidlockfile.py”, line 59, in acquire super(PIDLockFile, self).acquire(*args, **kwargs) File “/usr/lib/pymodules/python2.7/lockfile.py”, line 261, in acquire raise LockTimeout lockfile.LockTimeout
Remove the file mumo.pid.lock
to solve this.
See also
- A list of modules for Mumble Moderator can be found here.