moth/README.md

57 lines
2.1 KiB
Markdown
Raw Normal View History

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 19:51:38 -06:00
![Build badge](https://github.com/dirtbags/moth/workflows/Tests/badge.svg)
2020-09-17 18:56:40 -06:00
![Go report card](https://goreportcard.com/badge/github.com/dirtbags/moth)
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/
A few things make MOTH different than other Capture The Flag server projects:
2016-01-31 20:41:22 -07: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
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
===========================
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.
* `/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)