2016-01-31 20:45:35 -07:00
|
|
|
Dirtbags Monarch Of The Hill Server
|
2016-01-31 20:41:22 -07:00
|
|
|
=====================
|
|
|
|
|
2020-09-17 18:56:40 -06:00
|
|
|
![Build badge](https://github.com/dirtbags/moth/workflows/Mothd%20Docker%20build/badge.svg?branch=master)
|
|
|
|
![Go report card](https://goreportcard.com/badge/github.com/dirtbags/moth)
|
2020-02-28 14:52:25 -07:00
|
|
|
|
2020-09-11 20:16:58 -06:00
|
|
|
Monarch Of The Hill (MOTH) is a puzzle server.
|
|
|
|
We (the authors) have used it for instructional and contest events called
|
2016-01-31 20:45:35 -07:00
|
|
|
"Tracer FIRE",
|
|
|
|
"Project 2",
|
|
|
|
"HACK",
|
|
|
|
"Queen Of The Hill",
|
2016-10-21 14:38:19 -06:00
|
|
|
"Cyber Spark",
|
2018-09-17 17:00:08 -06:00
|
|
|
"Cyber Fire",
|
|
|
|
"Cyber Fire Puzzles",
|
|
|
|
and "Cyber Fire Foundry".
|
2016-01-31 20:41:22 -07:00
|
|
|
|
2016-01-31 20:45:35 -07:00
|
|
|
Information about these events is at
|
|
|
|
http://dirtbags.net/contest/
|
|
|
|
|
2020-09-11 20:16:58 -06:00
|
|
|
A few things make MOTH different than other Capture The Flag server projects:
|
2016-01-31 20:41:22 -07:00
|
|
|
|
2020-09-11 20:16:58 -06:00
|
|
|
* Once any team opens a puzzle, all teams can work on it (high fives to DC949/Orange County for this idea)
|
|
|
|
* No penalties for wrong answers
|
|
|
|
* No time-based point deductions (if you're faster, you get to answer more puzzles)
|
|
|
|
* No internal notion of ranking or score: it only stores an event log, and scoreboards parse it however they want
|
|
|
|
* All puzzles must be compiled to static content before it can be served up
|
|
|
|
* The server does very little: most functionality is in client-side JavaScript
|
2016-01-31 20:41:22 -07:00
|
|
|
|
2020-09-11 21:26:07 -06:00
|
|
|
You can read more about why we made these decisions in [philosophy](docs/philosophy.md).
|
2018-09-20 10:15:34 -06:00
|
|
|
|
2019-06-11 16:58:15 -06:00
|
|
|
|
2020-09-11 20:16:58 -06:00
|
|
|
Documentation
|
|
|
|
==========
|
2018-09-20 10:15:34 -06:00
|
|
|
|
2020-09-11 21:26:07 -06:00
|
|
|
* [Development](docs/development.md): The development server lets you create and test categories, and compile mothballs.
|
|
|
|
* [Getting Started](docs/getting-started.md): This guide will get you started with a production server.
|
|
|
|
* [Administration](docs/administration.md): How to set hours, and change setup.
|
2018-09-20 10:15:34 -06:00
|
|
|
|
|
|
|
Running a Production Server
|
|
|
|
===========================
|
|
|
|
|
2020-09-11 20:16:58 -06:00
|
|
|
docker run --rm -it -p 8080:8080 -v /path/to/moth/state:/state -v /path/to/moth/mothballs:/mothballs:ro dirtbags/moth
|
2018-09-20 10:15:34 -06:00
|
|
|
|
|
|
|
You can be more fine-grained about directories, if you like.
|
|
|
|
Inside the container, you need the following paths:
|
|
|
|
|
2019-09-02 19:47:24 -06:00
|
|
|
* `/state` (rw) Where state is stored. Read [the overview](doc/overview.md) to learn what's what in here.
|
2018-10-02 11:52:31 -06:00
|
|
|
* `/mothballs` (ro) Mothballs (puzzle bundles) as provided by the development server.
|
2020-09-11 20:16:58 -06:00
|
|
|
* `/theme` (ro) Overrides for the built-in theme.
|
2018-09-17 17:00:08 -06:00
|
|
|
|
|
|
|
|
2019-12-17 10:48:22 -07:00
|
|
|
Contributing to MOTH
|
|
|
|
==================
|
2018-09-17 17:00:08 -06:00
|
|
|
|
2019-12-17 10:48:22 -07:00
|
|
|
Please read [CONTRIBUTING.md](CONTRIBUTING.md)
|