summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2012-03-22 13:36:56 +0200
committerPerttu Ahola <celeron55@gmail.com>2012-03-22 14:11:20 +0200
commitc353709f7efe6b66b3f661a67417f5209258ecd3 (patch)
tree9c03e6a7c76acd98f20d627c702953a2e6dd0068
parentc13691a8e6febee561c839ded33b0f33c53b12d3 (diff)
downloadminetest-c353709f7efe6b66b3f661a67417f5209258ecd3.tar.gz
minetest-c353709f7efe6b66b3f661a67417f5209258ecd3.tar.bz2
minetest-c353709f7efe6b66b3f661a67417f5209258ecd3.zip
mapformat WIP
-rw-r--r--doc/mapformat.txt73
1 files changed, 69 insertions, 4 deletions
diff --git a/doc/mapformat.txt b/doc/mapformat.txt
index 206f5f350..430be2d48 100644
--- a/doc/mapformat.txt
+++ b/doc/mapformat.txt
@@ -1,7 +1,72 @@
-I'll try to quickly document the newest block format in here (might contain
-errors). Refer to the mapgen or minetestmapper script for the directory
-structure and file naming. There are two sector namings possible,
-sector/XXXXZZZZ and sector/XXX/ZZZ.
+=========================================
+ Minetest World Format
+=========================================
+
+Format used as of 0.4.dev-120322
+==================================
+
+This applies to a world format carrying the serialization version 22 which
+is used at least in version 0.4.dev-120322.
+
+The serialization version used is 22. It does not fully specify every aspect
+of this format; if compliance with this format is to be checked, it needs to
+be done by detecting if the files and data indeed follows it.
+
+Legacy stuff:
+-------------
+Data can, in theory, be contained in the flat file directory structure
+described below in Version 17, but it is not officially supported.
+
+Files:
+------
+Everything is contained in a directory, the name of which is freeform, but
+often serves as the name of the world.
+
+Currently the authentication and ban data is stored on a per-world basis. It
+can be copied over from an old world to a newly created world.
+
+World
+|-- auth.txt ----- Authentication data
+|-- env_meta.txt - Environment metadata
+|-- ipban.txt ---- Banned ips/users
+|-- map_meta.txt - Map metadata
+|-- map.sqlite --- Map data
+|-- players ------ Player directory
+| |-- player1 -- Player file
+| '-- player2 -- Player file
+`-- world.mt ----- World metadata
+
+auth.txt
+---------
+Contains authentication data, player per line.
+<name>:<password hash as <name><password> SHA1 base64>:<privilege1,...>
+Example lines:
+Player "celeron55", no password, privileges "interact" and "shout":
+celeron55::interact,shout
+Player "Foo", password "bar", privileges "interact" and "shout":
+foo:iEPX+SQWIR3p67lj/0zigSWTKHg:interact,shout
+
+env_meta.txt
+-------------
+--- Example content ---
+game_time = 73471
+time_of_day = 19118
+EnvArgsEnd
+-----------------------
+
+ipban.txt
+----------
+
+
+Format used as of 2011-05 or so
+================================
+
+Map data serialization format version 17.
+
+Directory structure:
+sectors/XXXXZZZZ or sectors2/XXX/ZZZ
+XXXX, ZZZZ, XXX and ZZZ being the hexadecimal X and Z coordinates.
+Under these, the block files are stored, called YYYY.
There also exists files map_meta.txt and chunk_meta, that are used by the
generator. If they are not found or invalid, the generator will currently