Monarch Of The Hill - base infrastructure for computer-based puzzle contests
Go to file
Neale Pickett 40b9acf33f ci.sh can build a tarball now 2023-10-18 15:12:38 -06:00
.github/ISSUE_TEMPLATE Remove github workflow 2021-11-05 14:30:06 -06:00
.vscode mkpuzzle working in dev mode 2020-09-11 13:03:19 -06:00
build ci.sh can build a tarball now 2023-10-18 15:12:38 -06:00
cmd Pass unit tests 2023-10-03 11:44:51 -07:00
contrib Bit of reorg, add missing files 2019-08-25 07:10:32 -06:00
docs State: add "Enabeled", remove "Messages" 2023-09-29 15:37:18 -06:00
example-puzzles Counting example category now demonstrates python IDE 2021-04-07 14:36:49 -06:00
pkg Change answer hash algorithm to SHA1₄ 2023-09-15 12:34:31 -06:00
theme window.checkAnswer function 2023-10-03 11:24:26 -07:00
.dockerignore oops 2020-09-18 12:58:35 -06:00
.gitignore ci.sh can build a tarball now 2023-10-18 15:12:38 -06:00
.gitlab-ci.yml Scores, not Score 2023-09-27 16:10:31 -06:00
CHANGELOG.md Document prior releases 2023-10-18 15:01:51 -06:00
LICENSE.md License formatting 2019-08-25 07:20:17 -06:00
README.md make the report card link to the report card 2023-09-27 16:16:04 -06:00
go.mod Attempt to fix packages 2023-04-11 17:56:59 -06:00
go.sum Bump golang.org/x/text from 0.3.7 to 0.3.8 2023-02-23 05:10:45 +00:00

README.md

Dirtbags Monarch Of The Hill Server

Go report card

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.

Run in demonstration mode

docker run --rm -it -p 8080:8080 ghcr.io/dirtbags/moth-devel

Then open http://localhost:8080/ and check out the example puzzles.

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.

Contributing to MOTH

Please read our contributing guide.