This bot is written for online multiplayer communities playing games like TF2 or CSS, where the spectator's view of the game is sometimes delayed to prevent collusion.
Specators may wish the listen to the communication of the match team, however the delay (typically 90 seconds) between the in-game action and the mumble server normally makes this impossible. This bot was written to facilitate that.
The bot joins the match channel and listens to all comms. For every user in the channel, a mimic will join the spectate channel, and the eavesdropper bot will relay the comms to the correct mimic, with the specified delay. As the bot joins as a normal user, no special murmur server support is required.
The bot is available in 3 versions; a compiled windows package, a compiled ELF binary for Linux or BSD, and the original python script, which should work anywhere you have python, although it might require installing a couple of python modules first.
Extract the files from the archive and run eve-bot.exe (or eve-bot for the *nix version) from a command prompt. On windows, you might need the MSVC runtime although this is likely to have been installed by one thing or other already. The windows version is heavily tested; the unix version less so. In either case, if you encounter errors, please contact me and I'll try to fix them.
protoc --python_out=. Mumble.protoYou must also have Mumble.proto in the current directory. The latest version of this can be found in the mumble/murmur source code
(If you are using the windows binary, the command will be eve-bot.exe, and for the ELF binary it will be eve-bot)
In the simplest case, running the bot by typing
eve-bot.py -e "Match Channel" -r "Spectator Channel"
This will attempt to connect to a mumble server on the default port, on the same machine as the bot is running on. The channels MUST exist; they can be the same if you wish, though this is likely to cause confusion. Running the bot with no options will give a list of the available parameters.
If you are running this from a different machine, and the server is example.com at port 1234:
eve-bot.py -e "Match Channel" -r "Spectator Channel" -s "example.com" -p 1234
By default, the mumble server bans for too many connection attempts in a short period of time. This can cause issues when testing, and if many people join the eavesdrop channel at once (many mimics will need to be spawned). If this happens, consider changing the autobanAttempts value upwards.
Depending on feedback, there are several features that could be added to the bot:
None of these is likely to be written unless there is interest, so:
Feedback greatly appreciated