<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.minr.org/index.php?action=history&amp;feed=atom&amp;title=The_Map_Model</id>
	<title>The Map Model - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.minr.org/index.php?action=history&amp;feed=atom&amp;title=The_Map_Model"/>
	<link rel="alternate" type="text/html" href="https://wiki.minr.org/index.php?title=The_Map_Model&amp;action=history"/>
	<updated>2026-04-04T07:42:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.minr.org/index.php?title=The_Map_Model&amp;diff=13654&amp;oldid=prev</id>
		<title>Rmanimal: Adds fourth question</title>
		<link rel="alternate" type="text/html" href="https://wiki.minr.org/index.php?title=The_Map_Model&amp;diff=13654&amp;oldid=prev"/>
		<updated>2026-04-04T03:02:32Z</updated>

		<summary type="html">&lt;p&gt;Adds fourth question&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 03:02, 4 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l98&quot; &gt;Line 98:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 98:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Maps cannot add their own staff-enforced rules or directives.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Maps cannot add their own staff-enforced rules or directives.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**They can request players do or not do things, but those requests won't be binding.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;**They can request players do or not do things, but those requests won't be binding.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you have any questions, please feel free to ask (really). Questions that get asked frequently will be added to the FAQ below.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you have any questions, please feel free to ask (really). Questions that get asked frequently will be added to the FAQ below.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l116&quot; &gt;Line 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It did when it was released, but it was changed later. The endstone island's critera has been clarified with an In: [[Warped]] condition.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It did when it was released, but it was changed later. The endstone island's critera has been clarified with an In: [[Warped]] condition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Why is the scripting of a checkpoint-like system not allowed? ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This is just a handful of things from the top of my head, I know I've missed many. Some of them only apply for [[Scripts|script]] re-implementation of checkpoints, but many apply to a setCheckpoint() call as well.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Inconsistent UI - having a single clear mechanism for setting your checkpoint and locking in progress server-wide is very valuable, especially in high-pressure situations where hours or even days of progress is on the line.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Inconsistent functionality - with everyone implementing their own version of the system (be it just a frontend, or the tp-reset too), you have no idea what subtle differences there will be. With one system, you know exactly how it works.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Tp-reset-style script checkpoints don't actually set your checkpoint - even if you get the big &amp;quot;CHECKPOINT RESET&amp;quot; message, there's no guarantee that you will actually respawn there. If your checkpoint wasn't in the [[map]] itself (definitely plausible - see [[Another Castle]], [[Carnivale]], [[Hardcore]], no-cp [[challenges]]), then that &amp;quot;checkpoint&amp;quot; is ineffectual. Big violation of UX.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**As a follow on to that, this means they also don't update your current map (e.g. Another Castle, Carnivale). This means e.g. resource packs won't be applied, /call restrictions/derestrictions won't update, /c cp will be misleading, and if you beat the map your completion will be rejected because you weren't considered to be in the map.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Current checkpoint is not visible - you can always see your or anyone else's checkpoint with /c cp. With script checkpoints this is completely invisible (or if it is exposed, in a way that's bespoke to every map). You have no idea where you'll respawn if you fail or die. While this could be cool as a one-off trick in a puzzle, this is broadly undesirable. Also problematic for staff and investigations.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Checkpoints aren't optional / difficult to avoid - if you accidentally fall back into a previous area of a map, are going back to check on your friends, or are just a staff member doing an investigation, and you enter a checkpoint area, it's impossible not to lose progress. Especially if the checkpoints aren't clearly marked. Anyone who's played the old versions of [[Happy Fun Time Tower of Vertical Ascension and Grandure!|HFT]] knows how awful it is to fall onto a checkpoint below and lose hours of progress. I've done it myself; it is hell.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Interacts badly with soul-link - script checkpoints undermine the whole checkpoint-getting aspect of soul link.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Interacts badly with limited checkpoint challenges - there's no [[Map Signs#Checkpoint Signs|checkpoint sign]] to click to consume the checkpoint, and you weren't given an option in setting that checkpoint anyway.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**&amp;quot;Just don't put this map in challenges&amp;quot; isn't a solution to these points. If we have large swathes of the server using script checkpoints (which will happen if its allowed), then these modifiers basically stop working. Maps that otherwise would have been perfect fits for them are now unusable.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Constrains map suspension - say you've suspended a map. Now you're playing a challenge, and you run into that map again. You do it from start to finish, then complete the challenge. Now you come back to that map, but your progress has been wiped! If that map was using native checkpoints, then we could restore your suspended progress after completing the map in the challenge. May not seem useful for simple maps, but more complex maps (e.g. with multiple endings, multiple paths, etc.) are harmed here.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*If we make map suspension require you to click a checkpoint sign, then scripts aren't going to work here.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*Resilience and integrity - scripts can be updated over time, namespaces can be accidentally taken out, and script-stored progress can be lost. This can't happen with native checkpoints, they're always safely stored. And even in a catastrophe, native checkpoints are always logged, so we can conclusively determine if someone reached them or not. How many people will log script checkpoints? (And how will you look/grep for them, if they're all in different formats?)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;So in short: it harms the user experience a lot, it seriously constrains our design space, potentially makes some requested features impossible, interact badly with existing features, and for [[scripts]] that try to work around not having native support, they don't integrate at all with the holistic checkpoints system and make the first two points worse. And the upside is essentially not having to click a sign. While it's a nice quality-of-life perk, the downsides massively outweigh it here.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;I also don't think the ability for a checkpoint system to be deceptive is really an upside either. It could be a cool gimmick, but it will only work once in one map. It's not really something you broadly want as a feature. What &amp;lt;s&amp;gt;snip answer sharing&amp;lt;/s&amp;gt; does is probably the best way you could go about doing something like that.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rmanimal</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.minr.org/index.php?title=The_Map_Model&amp;diff=13649&amp;oldid=prev</id>
		<title>Rmanimal: The Map Model</title>
		<link rel="alternate" type="text/html" href="https://wiki.minr.org/index.php?title=The_Map_Model&amp;diff=13649&amp;oldid=prev"/>
		<updated>2026-04-04T02:44:02Z</updated>

		<summary type="html">&lt;p&gt;The Map Model&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''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|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 [https://forums.minr.org/threads/the-map-model.7015/ this forum thread].&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
[[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 [[Map Signs#Finish Signs|[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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Maps are required to meet the requirements listed here in order to be published.'''&lt;br /&gt;
&lt;br /&gt;
For the purposes of this thread, [[Difficulty#Variable Maps|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.&lt;br /&gt;
&lt;br /&gt;
Please bear in mind that the spirit of the rules is more important than the exact wording. Don't try to rules-lawyer to &amp;quot;circumvent&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
== Rules ==&lt;br /&gt;
=== Maps are completable by all players at all times. ===&lt;br /&gt;
A fresh player that just joined should be able to go to your map and complete it.&lt;br /&gt;
&lt;br /&gt;
This means that:&lt;br /&gt;
*You must have at least one end sign for the map.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
And you cannot require that a player:&lt;br /&gt;
*Be of a certain [[Ranks|rank]] (or have certain permissions, or lack them).&lt;br /&gt;
*Have a specific mod installed.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
As well:&lt;br /&gt;
*Maps must not contain mechanics that can make themselves unbeatable, even temporarily, or force the player to wait arbitrarily.&lt;br /&gt;
**This includes being restricted from joining/starting the map.&lt;br /&gt;
**For example, if a player fails a jump, you cannot lock them out of the map for 30 minutes.&lt;br /&gt;
**This does not disallow day-night cycle mechanics.&lt;br /&gt;
*Maps may not restrict the sizes of player groups, except in cases of strict mechanical necessity.&lt;br /&gt;
&lt;br /&gt;
=== Maps are started when a player attempts to set their checkpoint at the map's starting checkpoint (cp0). ===&lt;br /&gt;
&lt;br /&gt;
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 [[Map Signs#Join Signs|join signs]] and /checkpoint join: checkpoint set + teleport + display information. There is no difference between joining a map and starting a map).&lt;br /&gt;
&lt;br /&gt;
This means you cannot require that a player:&lt;br /&gt;
*Use a join sign or /checkpoint join to join the map. Clicking the starting checkpoint must be sufficient by itself.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A few other notes on checkpoints:&lt;br /&gt;
*Every checkpoint (including cp0) must have at least one accessible associated checkpoint sign.&lt;br /&gt;
*There must be an accessible cp0 sign near cp0's spawn location.&lt;br /&gt;
*The checkpoint signs for other checkpoints should be near their respective spawn locations unless they have a compelling reason not to be.&lt;br /&gt;
*A map may require that the player sets their checkpoint within it.&lt;br /&gt;
&lt;br /&gt;
=== Maps are quit when a player exits the physical area of the map. ===&lt;br /&gt;
&lt;br /&gt;
This may be by:&lt;br /&gt;
*Players walking out of the map's region&lt;br /&gt;
*Teleporting away (e.g. [[Spawn|/spawn]])&lt;br /&gt;
*Being teleported out (e.g. summoned by the party leader)&lt;br /&gt;
*Dying and respawning elsewhere&lt;br /&gt;
*Or other methods&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Maps should only consider a player as &amp;quot;playing&amp;quot; a map when they are physically in the map's regions, regardless of what has been set by [[scripts]] (or other mechanisms).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
*This means that maps should not use the ''blocked-cmds'' or ''allowed-cmds'' flags on regions.&lt;br /&gt;
&lt;br /&gt;
=== Each map is a fully independent and self-contained thing. Maps do not interact with other maps or other outside entities. ===&lt;br /&gt;
&lt;br /&gt;
This means you cannot require that a player:&lt;br /&gt;
*Have (or have not) beaten another map.&lt;br /&gt;
*Leave the map.&lt;br /&gt;
*Restart the map (e.g. through /checkpoint restart or re-clicking cp0).&lt;br /&gt;
*Re-enter the map (e.g. through /checkpoint join).&lt;br /&gt;
*Enter another map during gameplay.&lt;br /&gt;
**A map may require that, as a prerequisite to starting, a player enters another map beforehand.&lt;br /&gt;
*Set, or have previously set, a checkpoint in another map.&lt;br /&gt;
*Be (or not be) in a [[challenge]].&lt;br /&gt;
*Be (or not be) in a party.&lt;br /&gt;
*Have (or not have) a [[Times|timer]] from another map or challenge.&lt;br /&gt;
*Have knowledge that cannot be found within the map itself or isn't freely available on the internet.&lt;br /&gt;
*Have another player do any of these.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
As above, a fresh player that just joined should be able to go directly to your map and complete it.&lt;br /&gt;
&lt;br /&gt;
This principle also means that it must not be possible for the player to permanently softlock themselves (unable to escape even with /kill).&lt;br /&gt;
&lt;br /&gt;
While [[Difficulty#Variable Maps|purple maps]] are considered to be a single map, maps should not be arbitrarily combined into a purple map to circumvent these restrictions.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Maps should play nice with the server and plugin. They should use features as they are intended to be used. ===&lt;br /&gt;
&lt;br /&gt;
This means that maps:&lt;br /&gt;
*Should use [[Map Signs#Checkpoint Signs|checkpoint signs]] instead of re-implementing checkpoints with [[scripts]].&lt;br /&gt;
*Must not rely on bugs or abuse loopholes in the Minr plugin.&lt;br /&gt;
*Must not require the use of any commands except /kill.&lt;br /&gt;
*Must not use timer invalidation or nullification as a gameplay mechanic.&lt;br /&gt;
**Progress savers and similar are fine.&lt;br /&gt;
*Must not manipulate players' recorded completions and times.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Maps are constrained by the server rules and staff directives (such as this thread). ===&lt;br /&gt;
&lt;br /&gt;
*Maps cannot carve out exceptions to the server rules or directives.&lt;br /&gt;
*Maps cannot add their own staff-enforced rules or directives.&lt;br /&gt;
**They can request players do or not do things, but those requests won't be binding.&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please feel free to ask (really). Questions that get asked frequently will be added to the FAQ below.&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What happens to the maps that are currently violating this? ===&lt;br /&gt;
&lt;br /&gt;
They will remain in [[FFA]] grandfathered. Ideally, they will be brought into line over time, but there's no timeline on that.&lt;br /&gt;
&lt;br /&gt;
=== What about Another Castle's collectible-gated maps? ===&lt;br /&gt;
&lt;br /&gt;
[[Another Castle]] is a single package (much like [[Carnivale]]), so it is considered a [[Difficulty#Variable Maps|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 [[Map Series#Oculus|Oculus 1, 2, and 3]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Doesn't Warped 1's Endstone island require you to leave the map? ===&lt;br /&gt;
&lt;br /&gt;
It did when it was released, but it was changed later. The endstone island's critera has been clarified with an In: [[Warped]] condition.&lt;/div&gt;</summary>
		<author><name>Rmanimal</name></author>
		
	</entry>
</feed>