Natenoms Wiki

Weil Teilen Spaß macht :)

User Tools

Site Tools


Sidebar

Translations of this page:

Navigation



Lizenz dieses Wikis
Über dieses Wiki
Feed des Wikis
Impressum


Was gerade in meinem Blog geschieht:

en:mumble:tools:mumo:mumo-installation

Installation of Mumble Moderator

The installation of MuMo is a bit tricky …

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

This is the directory structure of a full MuMo installation.

This is the directory structure of a full MuMo installation.

/home/mumo
|-- modules
|   |-- antirec.py
|   |-- antirec.pyc
|   |-- bf2.py
|   |-- deaftoafk.py
|   |-- deaftoafk.pyc
|   |-- idlemove.py
|   |-- idlemove.pyc
|   |-- onjoin.py
|   |-- onjoin.pyc
|   |-- seen.py
|   |-- seen.pyc
|   |-- test.py
|   |-- test.pyc
|   |-- wrongversion.py
|   `-- wrongversion.pyc
|-- modules-available
|   |-- antirec.ini
|   |-- bf2.ini
|   |-- deaftoafk.ini
|   |-- idlemove.ini
|   |-- onjoin.ini
|   |-- seen.ini
|   |-- test.ini
|   `-- wrongversion.ini
|-- modules-enabled
|   |-- antirec.ini -> ../modules-available/antirec.ini
|   |-- deaftoafk.ini -> ../modules-available/deaftoafk.ini
|   |-- seen.ini -> ../modules-available/seen.ini
|   `-- wrongversion.ini -> ../modules-available/wrongversion.ini

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

en/mumble/tools/mumo/mumo-installation.txt · Last modified: 2017/02/16 13:18 by Natenom