Monarch Of The Hill - base infrastructure for computer-based puzzle contests
Go to file
Neale Pickett 3a482e09ca Ugh, I checked in cruft 2020-09-11 20:24:37 -06:00
.github Adding some issue templates 2020-02-28 23:14:05 +00:00
.vscode mkpuzzle working in dev mode 2020-09-11 13:03:19 -06:00
cmd Ugh, I checked in cruft 2020-09-11 20:24:37 -06:00
contrib Bit of reorg, add missing files 2019-08-25 07:10:32 -06:00
doc Remove dev server, update documentation. 2020-09-11 20:16:58 -06:00
example-puzzles Pull out puzzle.py puzzles. 2020-09-11 17:51:43 -06:00
pkg Port some example puzzles 2020-09-11 17:33:43 -06:00
theme Pull out puzzle.py puzzles. 2020-09-11 17:51:43 -06:00
.dockerignore More dockering 2017-09-11 16:12:22 +00:00
.gitignore Port some example puzzles 2020-09-11 17:33:43 -06:00
CHANGELOG.md Merge branch 'devel' into v4 2020-08-14 18:01:25 -06:00
CONTRIBUTING.md @nealey 's spelling is impractical 2020-02-21 21:25:13 +00:00
Dockerfile.moth Adding license to Docker images 2020-01-30 00:03:07 +00:00
Dockerfile.moth-devel Merge branch 'v3.5_devel' of https://github.com/dirtbags/moth into add_contributing_document 2020-02-21 18:33:34 +00:00
LICENSE.md License formatting 2019-08-25 07:20:17 -06:00
README.md Remove dev server, update documentation. 2020-09-11 20:16:58 -06:00
TODO.md mkpuzzle working in dev mode 2020-09-11 13:03:19 -06:00
VERSION Releasing v3.5.1 2020-03-16 16:34:36 +00:00
build.sh No, I meant push latest 2018-10-03 01:26:40 +00:00
go.mod Sort puzzle list 2020-08-28 14:15:19 -06:00
go.sum Sort puzzle list 2020-08-28 14:15:19 -06:00

README.md

Dirtbags Monarch Of The Hill Server

Master:

Devel:

Monarch Of The Hill (MOTH) is a puzzle server. We (the authors) have used it for instructional and contest events called "Tracer FIRE", "Project 2", "HACK", "Queen Of The Hill", "Cyber Spark", "Cyber Fire", "Cyber Fire Puzzles", and "Cyber Fire Foundry".

Information about these events is at http://dirtbags.net/contest/

A few things make MOTH different than other Capture The Flag server projects:

  • 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

You can read more about why we made these decisions in philosophy.

Documentation

  • Development: The development server lets you create and test categories, and compile mothballs.
  • Getting Started: This guide will get you started with a production server.
  • Administration: How to set hours, and change setup.

Running a Production Server

docker run --rm -it -p 8080:8080 -v /path/to/moth/state:/state -v /path/to/moth/mothballs:/mothballs:ro dirtbags/moth

You can be more fine-grained about directories, if you like. Inside the container, you need the following paths:

  • /state (rw) Where state is stored. Read the overview to learn what's what in here.
  • /mothballs (ro) Mothballs (puzzle bundles) as provided by the development server.
  • /theme (ro) Overrides for the built-in theme.

Contributing to MOTH

Please read CONTRIBUTING.md