Modules

Main Elements

Every map XML file must contain the base <map> module. It contains modules that specify the map name, version, objective, authors, contributors and all other map settings. The objective is the text that players see when they join the match, and so it’s important for this to be very clear, concise, and informative.

The proto="" attribute specifies what PGM version the XML file was created for. If this value is higher than the version of PGM that is running, the map won’t load. If it’s lower, the map will load but the XML may be interpreted in an outdated way. Mapmakers should always use the latest supported XML version, and this may be required of new maps that are to be added to the Stratus Network rotations.

The maps version should follow the versioning schema major.minor.patch.

Map Element Description Value/Children
<map> </map> The main map node containing all the modules used in this match. XML Modules
Map Attributes
Attribute Description Value Default
proto Required The maps XML protocol version. 1.4.3
game A custom title for this match's gamemode. String
internal Prevent compass teleports above Y 255 true/false false
Map Sub-elements
Element Description Value/Children Default
<name> Required The name of the map. String
<slug> The map's slug, usually auto generated from the maps name. This should only be used when a map is renamed to retain the map's ratings, etc.
Valid slugs are lowercase and only contain the characters: a-z 0-9 _
String Auto Generated
<version> Required The map's semantic version string. 1.0.0
<objective> Required The map's objective, shown at the start of the match. String
<authors> Required The authors of the map, at least one author is required. <author>
<contributors> Contributors to the map. <contributor>
<phase> Phase of this map. Only maps with phase `production` show up on the website. development production production
<edition> Edition of this map, describes which servers it is run on. Only maps with edition `standard` and/or phase `production` show up on the website. standard ranked tournament standard
<gamemode> The gamemode(s) of this map, if this is not specified the map will set the gamemode(s) to whatever modules are used. Gamemode ID
<?xml version="1.0"?>
<map proto="1.4.3">
<name>Map Name</name>
<version>1.0.0</version>
<objective>Short description about the maps objective.</objective>

<!-- Map authors & contributors. -->

<!-- Map modules, i.e. objectives, regions, spawns. -->

</map>


Authors & Contributors

The authors and contributors elements provide information about who created and helped create the map. There can be multiple authors and contributors to a map. The contribution attribute should be used to specify what their contribution to the map was.

A players name should not be used to credit them, instead their UUID should be used. A UUID is a unique user identifier that is used to keep track of players even if they change their name. You can check player UUID’s at mcuuid.net. If an author or contributor is defined without a UUID that player will not get any mapmaker perks on the map. The mapmaker perks include being able to join the map as if they had a premium rank, and a designated map maker star.

Author or Contributor Sub-elements
Element Description Value/Children
<author> A major author of the map, used in <authors>
String
<contributor> A contributor to the map, used in <contributors> String
Author & Contributor Attributes
Attribute Description Value
contribution The contribution this author or contributor made to the map. String
uuid UUID used to identify a player. String
<!-- Major map authors. -->
<authors>
    <author>aPerson</author>
    <author uuid="ef4ea031-998f-4ec9-b7b6-1bdd428bcef8" contribution="Clarification of element usage, etc."/> <!-- Plastix -->
    <author uuid="260004f0-996b-4539-ba21-df4ee6336b63"/> <!-- Elliott_ -->
</authors>

<!-- People that contributed in some way to the map. -->
<contributors>
    <!-- Credit a person that doesn't have a minecraft account -->
    <contributor contribution="A contribution">aHelper</contributor>
    <contributor uuid="3fbec7dd-0a5f-40bf-9d11-885a54507112" contribution="Some Help"/> <!-- Cubist -->
</contributors>


Map Gamemode

The gamemode element is used to specify the gamemode(s) of the map. This mainly affects how the map is categorized and displayed. If no <gamemode> tags are specified the map will set the gamemode(s) to whatever modules are used. This means that a map that uses destroyables and flags would be listed as a “DTM & CTF” unless specified otherwise.

Element Description Value/Children
<gamemode> </gamemode> The gamemode(s) of this map. Gamemode ID
Gamemode ID's
ID Description ID Description
tdm Team Deathmatch ctw Capture the Wool
ctf Capture the Flag dtc Destroy the Core
dtm Destroy the Monument ad Attack/Defend
koth King of the Hill blitz Blitz
rage Rage scorebox Scorebox
arcade Arcade gs Ghost Squadron
ffa Free-for-All mixed Mixed Gamemodes

Example

<!-- A FFA map with scoreboxes -->
<gamemode>ffa</gamemode>
<gamemode>scorebox</gamemode>