An interactive campaign manager for the game "Monster", by Kingdom Death. Development blog at This project has no affiliation with Kingdom Death and is a totally independent, fan-maintained project.
JavaScript Python HTML CSS Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src interim commit Jun 24, 2017
v1 2.82.1562 Aug 16, 2018
v2 2.82.1562 Aug 16, 2018
.gitignore interim commit Jun 24, 2017 2.77.1473 May 9, 2018 2.14.411 Jul 3, 2017

Introduction or, as it is generally called, the Manager, is an Interactive campaign manager for Monster by Kingdom Death.

Neither the service nor any of the software utilized by that service (including the API at are developed, authorized in any other way supported by or affiliated with Kingdom Death or Adam Poots Games, LLC.

Both the Manager and the API are totally independent, fan-maintained projects.

For more information, please refer to the 'About' section of the project's development blog.


Follow this guide to install and configure the Manager and the KDM API on a Debian system.

For the time-being, the Manager and the API are tightly coupled and it is highly recommended to install and develop for both simultaneously.

Both and run on Ubuntu 16.04 LTS.

1.) Install Dependencies

If your goal is to start from bare metal on a deb/ubuntu system, you will need to install the following packages:

~# apt-get install git mongodb-server nginx python2.7 python-dev python-setuptools gcc python-imaging python-gridfs

python dependencies (PIP should work for all of these if you've moved from easy_install)

~# easy_install python-dateutil python-daemon=2.1.1 psutil lockfile pymongo pydns validate-email user-agents xlwt requests flask flask_jwt flask-jwt-extended retry gunicorn

Important! If you have installed the normal jwt package (e.g. via easy_install or pip) and experience issues running the Manager, please open an issue in GitHub.

As the non-root user who is going to run the Manager's processes, do this:

~# exit
~$ cd
~$ git clone 

Now that you've got all of the prerequisites in place, you are ready to run the script in the project root directory.

2.) Install the Manager and the API

First, review the script in the root of the kdm-manager folder and set the parameters according to the instructions provided.

Then, as root, run the script:

root@mona:/home/toconnell/kdm-manager# ./

Assuming that you chose the dev install type, the Manager is now the default server and if you point your browser at it, you should be good to go.

If you chose the prod install type, your NGINX sites-enabled directory has a symlink to the v1/nginx/production config and has been reloaded to include it.


The script installs two systemd services, kdm-manager (i.e. the CGI server/webapp) and api.thewatcher.service, which must both be running for the Manager to work properly.

The API, however, does not require the kdm-manager service, and you may choose to stop/disable it using regular systemctl syntax:

# systemctl stop kdm-manager
# systemctl disable kdm-manager

Both services will start when the system starts, unless disabled.

Additional Resources

The headings below provide links to other development/administration resources for both the Manager and the KDM API.

General Development

Please review the Github wiki pages for additional information on installation and deployment, including troubleshooting tips.

The kdm-manager Development Blog contains detailed release notes for every production release of the manager and the KDM API.

API Development

The KDM API has built-in documentation. The production release of that documentation will always be available at

Contact the Author

The Manager and the API are, for now, maintained by a single individual. For more information, including how to get involved in the project, please contact: