Mumble DiceBot with HTTP side channel written in C++
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Martin Bober e40109d20b Readme files 2 years ago
doc Updated documentation 3 years ago
docker Updated to Ubuntu 20.04 2 years ago
docker-build Dockerize DiceBot 6 years ago
lib Readme files 2 years ago
protobuf Connecting to mumble server (very basic) 6 years ago
src Created library de.mbober.util.net 2 years ago
test Code coverage analysis 4 years ago
.dockerignore Updated documentation 3 years ago
.gitignore Updated documentation 3 years ago
CMakeLists.txt Created library de.mbober.util.net 2 years ago
Doxyfile.in Updated documentation 3 years ago
Readme.md Fixing Savage Worlds handling of large attribute rolls 2 years ago
docker-compose.yml Temporary channel can be created with MumbleConnection 4 years ago
docker_build.sh Updated docker build flow 4 years ago

Readme.md

Mumble WebRTC proxy

Documentation of the HTTP API can be found here.

This project is developed using CLion but should work with any IDE with CMake support.

Developing new ruleset

Start by creating a new class in src/com/charxchange/dicebot/rules that inherits from BaseCommandHandler. See that header file for a basic documentation.

After you finish, don't forget to add your ruleset to CommandHandlerManager.

Test-driven development

Please make sure to write meaningful unit tests for your ruleset. Our goal is a 100% coverage over the rule sets. Check out the tests already existing in src/com/charxchange/dicebot/test/.

Build

Normal build

Setup environment

On a normal Ubuntu Linux, the following should be enough:

sudo apt-get install libssl-dev libprotobuf-dev libcurl4-openssl-dev doxygen graphviz lcov

mkdir build
cd build
cmake ..

Build binaries

cd build
make

Execute unit tests

cd build
make test

Generate documentation

cd build
make doc

Docker build

See docker_build.sh

Running offline

Mumble server is available as Docker image.

sudo mkdir /opt/mumble-dev-server
sudo chmod a+rw /opt/mumble-dev-server
sudo docker run --name=mumble-server -d --net=host -v /opt/mumble-dev-server/:/data -t coppit/mumble-server
sudo docker start mumble-server