-
Notifications
You must be signed in to change notification settings - Fork 0
Home
dylanetaft edited this page Oct 9, 2016
·
8 revisions
Welcome to the ScriptyMumBot wiki! Warning, this is barely usable, but seems to be stable, and profilers show no memory leaks.
#Building#
#MACOS Sierra# Makefile SHOULD work, this is my primary build machine. switch G++ to clang++ maybe. You'll need to install the same prereqs as Ubuntu below. Can pull gnutls and some others from homebrew. protobuf and grpc install from git as described in the Ubuntu instructions.
#Ubuntu# Tested on 16.04 LTS
Install prereqs
-
sudo apt-get install build-essential autotools automake libtool pkg-config libogg-dev libopus-dev gnutls-dev (I think that's everything)
-
Protobuf
- Tested with Protobuf 3.0 https://github.com/google/protobuf/releases/tag/v3.0.0
- tar xzvf protobuf-cpp-3.0.0.tar.gz
- as root, ./configure && make && make-install
- confirm no errors in output
- Tested with Protobuf 3.0 https://github.com/google/protobuf/releases/tag/v3.0.0
-
GRPC
- Follow the build and install instructions for C++ here https://github.com/grpc/grpc/blob/master/INSTALL.md
-
Python, tested with 2.7 and 3.4, 3.5 does not seem to work right with GRPC
- Follow Python GRPC setup guide here http://www.grpc.io/docs/quickstart/python.html
Compile and Install ScriptyMumBot
- git clone https://github.com/dylanetaft/ScriptyMumBot.git
- make
- edit test.ini, configure connection for mumble
- ./bot launches bot
- scripts/ScriptyMumBotMPDClient.py will, for example, allow you to queue youtube videos to play back over the bot
- Requires Music Player Daemon and client - apt-get install mpd mpc ncmpc
- Launch mpd with provided config file under mpd subdirectory
#Caveats, To Do# ##Security##
- GRPC server Currently binds to 0.0.0.0. The bot only has a say command and a query messages command over GRPC currently. Switch the code to 127.0.0.1 or firewall if concerned. Will be adding config options for it.
- Mumble client does not do any checking on mumble server certificate, just establishes a TLS connection
- Authentication or client cert support should probably be added to secure RPCs