Puzzle properties defined - PuzzleServer/mainpuzzleserver GitHub Wiki
There are many properties described in the puzzle details page.
This page describes each of them.
-
Name [required]: The name of the puzzle
-
Group: A field for us to loosely categorize puzzles. Players will see it as a column in the puzzles page. We will see it as a column in the "Status" page
-
Group order: The order the puzzle should show up within a specific group
-
Type: The type of the puzzle
- Normal - A normal puzzle that doesn't fall into the other categories. Most puzzles in the event will be this kind of puzzle.
- MetaPuzzle - a meta puzzle that does not win the event. Meta puzzles are puzzles that use answers from other puzzles solve and are generally worth more points than non-meta puzzles.
- FinalMetaPuzzle - a meta puzzle that wins the event
- CheatCode - A puzzle that allows players to skip portions of the meta. Teams that use this will disqualify them from the leaderboard
- StartPuzzle - a special kind of puzzle that we normally use to lock the event puzzles behind (pretty much a special form of Invisible puzzle)
- InvisiblePuzzle - a puzzle meant to never be shown to the user. We generally use them for resources, to set up timing, etc.
-
SolveValue: The amount of points the team gets if they solve the puzzle
-
MinPrerequisiteCount: The minimum number of prerequisites needed to be unlocked
-
SupportEmailAlias: The alias of the person you want answering questions about your puzzle; solvers will be directed to email this address for questions (or a default event address if this isn't filled). Puzzleday authors should only fill this in if you will not be available on the day of the event to support your puzzle.
-
IsGloballyVisiblePrerequisite: Check if you want your puzzle to be seen as an item on all the event puzzles' prerequisite lists. Generally only used for puzzlehunt.
-
PrerequisiteWeight: The weight of the prerequisites
-
HintCoinsForSolve: The number of hint coins the player will receive if they solve the puzzle
-
Token: The answer token associated with the puzzle. This token will generally be filled for you by the meta puzzle author because meta puzzles often use these tokens to feed into the meta puzzle
-
IsFreeform: Check if the answer is a freeform answer, meaning that answers are checked manually and are not automatically marked as "wrong" if they do not match an expected response. This has been used to allow players to submit media they created (pictures/video/audio) for human grading. Once you've enabled IsFreeform for a puzzle, you can navigate to the freeform section of the author dashboard for that puzzle to review submissions. If you accept a submission, the puzzle will be marked correct for that team. If you reject it, it will not be. Marking a submission as favorite will allow you to find it later (e.g. to display the best solutions at closing).
-
MinutesToAutomaticallySolve: Number of minutes that should pass before the puzzle solves itself
-
MinutesOfEventLockout: Number of minutes the user should be locked out of the puzzle if they submit too many wrong answers
-
MaxAnnotationKey: Only used for puzzles that store and share user data (as of 2023, The Play That Goes Wrong meta from PH20 is the only example)
-
PuzzleVersion: Used for puzzles that have a backend component and load HTML themselves (again, last used for the TPTGW meta)
-
CustomURL: The URL that the puzzle file is located at, usually used when the puzzle has no PDF file uploaded for it (for example, when the puzzle is a functional webpage whose various resources including the page itself have been added as material files to the puzzle). If a PDF file is uploaded for a puzzle and this field is set, the link to the puzzle on the puzzle list will use this field and the PDF will not be accessible by players. Note that URLs to files uploaded as puzzle materials should not be the be the [Raw] URLs since those are only accessible from the event they were uploaded to. Instead, in order to use files in multiple events, use the non-[Raw] URL and replace any instances of the event ID with the {eventId} variable (including the {curly braces}). The puzzle ID can also be used in URLs using the {puzzleId} variable.
-
CustomSolutionURL: The URL that the solution file is located at, usually used when the puzzle has no PDF file uploaded for it. If a PDF file is uploaded for a puzzle and this field is set, the link to the solution on the puzzle list will use this field and the PDF will not be accessible by players. URL variables are supported for this field as well.
-
Description: Not normally visible to players, but was used in PH19 to allow players to choose between different puzzles to unlock on a custom page
-
PieceMetaUsage: Allows for simple token metas that exchange tokens for solves. States whether there is no meta, or whether all puzzles in the event count, or whether only puzzles in a group count.
-
PieceMetaTagFilter (a Regex): Allows a simple token meta (see above) to further filter the puzzles that count for it, by filtering against the PieceTag field for puzzles that match PieceMetaUsage.
-
PieceTag: A tag that can be used for filtering above.
-
PieceWeight: Used to modify how much a specific puzzle is worth (default is 1). This allows, for example, a cheat code puzzle that when solved awards all the meta progress needed.
-
Errata: Errors you want to alert players of. If this field is filled, the players will see an exclamation point next to that puzzle on the puzzle list page. They will see the full errata text on the "submit" page.
What it looks like on the puzzle list page:
What it looks like on the submission page:
-
Prerequisites: These puzzles unlock me - Solving puzzles added to this list count toward MinPrerequisiteCount, which must be met before the player can see the current puzzle. Make sure there are at least MinPrerequisiteCount puzzles on this list or the puzzle will never unlock (except if you do it manually).
-
Prerequisites: I help unlock these puzzles - This puzzle counts towards the minimum prerequisite count for unlocking the puzzles in this list
-
Authors: Lists all the authors who are allows to update responses and edit this specific puzzle