5680d806d26e10ee5463558dcdfca0bb533dfbe0
While any normal crashes should already remove the pid file if one was created mumo can still be killed in ways which make it unable to clean up after itself. This patch adds a basic heuristic which checks if the pid mentioned in the pid file belongs to a running process. If so we assume this is actually mumo and terminate. If not we assume mumo isn't running and break the lock. This approach is not 100% reliable and it break the acquire timeout properties we had before but should do the trick.
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:
* 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.
* onjoin: Moves players into a specific channel on connect regardless
of which channel they were in when they left last time.
* seen: Makes the server listen for a configurable keyword to ask for
the last time a specific nick was seen on the server.
* 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 uadio 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.
* test: A debugging plugin that registers for all possible events and
outputs every call with parameters into the debug log.
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
creating an issue with a diff-patch 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.
mumo requires:
- python 2.7*
- python-zeroc-ice
- murmur >=1.2.3*
* Not tested with lower versions yet
Description
Languages
Python
97.9%
Shell
1.9%
Dockerfile
0.2%