• We have recently updated sign-up settings after many spam signups. If you are a legitimate user and having issues signing up, please contact Brandon#6130 on Discord.

Official AuroraMC Datapoint Guide

Status
Not open for further replies.

Heliology

Chief Operations Officer
Owner
COM
Quality Assurance
COM
Support
In order to make maps for the network, our build server takes advantage of a system called Datapoints. Our datapoints keep track of everything the server needs to know about a map, including spawns, game specific locations and more. This guide takes you through what datapoints are, how they are formatted, and how they work to help you be able to make maps for the network.

What are datapoints?
Datapoints are signs (or sponges, but more on that later in the thread) placed in a map, which tells the game server information about the map. This information includes but is not limited to:
  • Spawn points for each team.
  • Spectator spawn points.
  • Borders.
  • Map settings e.g. time of day etc.
  • Game specific locations e.g. locations of crystals in Crystal Quest.
All of this information allows the game servers to interpret a map and know exactly where things need to go.

How are they formatted?
Datapoints are relatively simple. The first line of every datapoint sign is "[DATAPOINT]". This allows the server to distinguish between datapoint signs and regular signs. The second line is one of the following:
  • BORDER - For specifying a world border.
  • SPAWN - For specifying a spawn location.
  • SETTING - For changing a map setting.
  • GAME - For game specific datapoints.
The third and fourth line depends on what datapoint you are using.

Border
Border does not have any additional lines. Additional lines will be ignored.

Spawn
Spawn datapoints are formatted with the third line as the team name. In solo games, this is simply "PLAYERS", where as in teamed games it is either "RED", "BLUE", "GREEN", or "YELLOW". For spectators it is simply "SPECTATOR".
The fourth line is ignored.
It should be noted, this sign is directional, so the direction the sign is placed facing is used to spawn the player facing the right direction. The direction that the text is facing is what is taken.

Setting
Setting datapoints use a key-value format, with the third line being the key and the fourth line being the value. For example, if we wanted to set the maps time to 18000, we would put "TIME" on the third line and "18000" on the fourth.

Game
This datapoint differs per game. Refer to each games map requirements for a full list of datapoints for each game.
It should be noted, this sign is directional, although not all games take into account direction. The direction that the text is facing is what is taken.

You mentioned sponges. What are they used for?
As part of datapoints, sponges serve 2 purposes:

Dried sponges act as a placeholder block that is set to air when placed under a datapoint sign, so datapoint signs can be placed mid-air. If a sponge is placed under a datapoint sign, the sponge along with the sign is removed from the map when the map is prepared.

Wet sponges simply act as a "data location", referring to large areas of blocks, normally in the case that they would need to be replaced, that the game should know about. For example, in Crystal Quest, our mines are made from wet sponges so the server knows where the mine locations are.

How do datapoints work?
On our private build server, we have a system called the Map Parser, which scans the world for datapoints. Once a parse has begun, it scans a radius around 0,0 for datapoint signs, checking to see if all required signs are there and that the map has a border.

If border locations are not found, the parser will assume a +-256 border. If spawn locations are not found, the map parse will be aborted. Any other datapoint is dependant on game, so if nothing is found, nothing happens.

Once a map has been scanned, all of the datapoints, settings and map metadata (such as name, author and game type, which are handled separately to datapoints in our Build Server) are exported to a JSON file in the map directory. The world files, along with the JSON file, are then zipped and uploaded directly to our database ready to be tested and pushed.

How do you manage all of those maps?
That is quite simple. As part of a custom-written admin panel, we can view all maps that are parsed or live on the network, prepare updates and push maps to the live network.
Screenshot 2022-04-22 at 10.40.54 am.png
 
Last edited by a moderator:
Status
Not open for further replies.

Featured Package

Plus (365 Days)

60 Days Free!  •  £49.90

Buy