The Map Model
The Map Model is a set of rules new maps must follow to ensure that maps function the same regarding some of the server's fundamental concepts like map signs and challenges. This is to prevent situations where players are confused on what to do and to avoid development problems when updating the server plugin. Most of the information on this page comes from this forum thread.
Contents
- 1 General
- 2 Rules
- 2.1 Maps are completable by all players at all times.
- 2.2 Maps are started when a player attempts to set their checkpoint at the map's starting checkpoint (cp0).
- 2.3 Maps are quit when a player exits the physical area of the map.
- 2.4 Each map is a fully independent and self-contained thing. Maps do not interact with other maps or other outside entities.
- 2.5 Maps should play nice with the server and plugin. They should use features as they are intended to be used.
- 2.6 Maps are constrained by the server rules and staff directives (such as this thread).
- 3 Frequently Asked Questions
General
Maps on Zero can vary wildly in terms of gameplay, but there are some baseline attributes they all share. For example, every map is finished by clicking a [Finish] sign with its map code on it. This server-wide consistency gives us a number of benefits. As a new player, it helps you navigate and learn the server, as the absolute fundamentals are consistent no matter where you go. They reduce unexpected surprises (which you don't want when hours of progress are on the line). From a staff perspective, it also allows us to implement new features. For example, since we know every map has a checkpoint sign for its starting checkpoint (cp0), we can require the player to click that to suspend their challenge. If some maps didn't have that, we wouldn't be able to implement challenge suspension, since you wouldn't be able to use it reliably.
However, for the longest time, these set of attributes and assumptions have not been documented anywhere, only being passed along by word of mouth. So here, we will finally lay out the Map Model - the model for how maps should fundamentally work. This thread is split into sections. Each section has a guiding principle and then a bunch of specific notes on how that principle applies. While this model may read as a bunch of restrictions, it is not meant to restrict your creativity. Rather, it's to make all maps better for all players. It may sound cheesy, but it's true. This list isn't exhaustive, and there may be cases we have missed. This list may also be updated over time as the server evolves.
Maps are required to meet the requirements listed here in order to be published.
For the purposes of this thread, purple maps are considered to be a single map. The intent is that, in the future, maps will be treated the same way in-game.
Please bear in mind that the spirit of the rules is more important than the exact wording. Don't try to rules-lawyer to "circumvent" requirements. This is only a universal baseline for maps. Board reserves the right to disallow elements of maps on a case-by-case basis based on if they are relevant and/or fitting, even if this thread permits them.
Rules
Maps are completable by all players at all times.
A fresh player that just joined should be able to go to your map and complete it.
This means that:
- You must have at least one end sign for the map.
And you cannot require that a player:
- Be of a certain rank (or have certain permissions, or lack them).
- Have a specific mod installed.
As well:
- Maps must not contain mechanics that can make themselves unbeatable, even temporarily, or force the player to wait arbitrarily.
- This includes being restricted from joining/starting the map.
- For example, if a player fails a jump, you cannot lock them out of the map for 30 minutes.
- This does not disallow day-night cycle mechanics.
- Maps may not restrict the sizes of player groups, except in cases of strict mechanical necessity.
Maps are started when a player attempts to set their checkpoint at the map's starting checkpoint (cp0).
The only thing required for a player to start a map is for them to attempt to set their checkpoint at cp0. (This is the primary function of join signs and /checkpoint join: checkpoint set + teleport + display information. There is no difference between joining a map and starting a map).
This means you cannot require that a player:
- Use a join sign or /checkpoint join to join the map. Clicking the starting checkpoint must be sufficient by itself.
A few other notes on checkpoints:
- Every checkpoint (including cp0) must have at least one accessible associated checkpoint sign.
- There must be an accessible cp0 sign near cp0's spawn location.
- The checkpoint signs for other checkpoints should be near their respective spawn locations unless they have a compelling reason not to be.
- A map may require that the player sets their checkpoint within it.
Maps are quit when a player exits the physical area of the map.
This may be by:
- Players walking out of the map's region
- Teleporting away (e.g. /spawn)
- Being teleported out (e.g. summoned by the party leader)
- Dying and respawning elsewhere
- Or other methods
Maps should only consider a player as "playing" a map when they are physically in the map's regions, regardless of what has been set by scripts (or other mechanisms).
Maps must also not attempt to block players from exiting them, except for the purposes of preventing players who haven't completed Hardcore from escaping into the overworld.
- This means that maps should not use the blocked-cmds or allowed-cmds flags on regions.
Each map is a fully independent and self-contained thing. Maps do not interact with other maps or other outside entities.
This means you cannot require that a player:
- Have (or have not) beaten another map.
- Leave the map.
- Restart the map (e.g. through /checkpoint restart or re-clicking cp0).
- Re-enter the map (e.g. through /checkpoint join).
- Enter another map during gameplay.
- A map may require that, as a prerequisite to starting, a player enters another map beforehand.
- Set, or have previously set, a checkpoint in another map.
- Be (or not be) in a challenge.
- Be (or not be) in a party.
- Have (or not have) a timer from another map or challenge.
- Have knowledge that cannot be found within the map itself or isn't freely available on the internet.
- Have another player do any of these.
As above, a fresh player that just joined should be able to go directly to your map and complete it.
This principle also means that it must not be possible for the player to permanently softlock themselves (unable to escape even with /kill).
While purple maps are considered to be a single map, maps should not be arbitrarily combined into a purple map to circumvent these restrictions.
Maps also should not modify or affect players who are not currently playing them. Combined with the previous principle, maps should not affect players who are not physically present within the bounds of the map.
Maps should play nice with the server and plugin. They should use features as they are intended to be used.
This means that maps:
- Should use checkpoint signs instead of re-implementing checkpoints with scripts.
- Must not rely on bugs or abuse loopholes in the Minr plugin.
- Must not require the use of any commands except /kill.
- Must not use timer invalidation or nullification as a gameplay mechanic.
- Progress savers and similar are fine.
- Must not manipulate players' recorded completions and times.
Bugs in the server itself (be it Vanilla or Paper) or other plugins may be used but are prone to being fixed over time. Use them at your own risk.
Maps are constrained by the server rules and staff directives (such as this thread).
- Maps cannot carve out exceptions to the server rules or directives.
- Maps cannot add their own staff-enforced rules or directives.
- They can request players do or not do things, but those requests won't be binding.
If you have any questions, please feel free to ask (really). Questions that get asked frequently will be added to the FAQ below.
Frequently Asked Questions
What happens to the maps that are currently violating this?
They will remain in FFA grandfathered. Ideally, they will be brought into line over time, but there's no timeline on that.
What about Another Castle's collectible-gated maps?
Another Castle is a single package (much like Carnivale), so it is considered a purple map. As such, all of its collectibles are within a single map, so they're fine. However, something like Omniscience (if it still existed) wouldn't be fine, since it requires visiting Oculus 1, 2, and 3.
Long-term, the plan is to unify things like Another Castle and Carnivale into single actual purple maps (with submaps) that can be completed. Completing all of the submaps will give you a completion of the main map.
Doesn't Warped 1's Endstone island require you to leave the map?
It did when it was released, but it was changed later. The endstone island's critera has been clarified with an In: Warped condition.