Difference between revisions of "Worlds"

From Minetest Wiki
Jump to navigation Jump to search
(→‎Installation: expanded foldertree example)
(added info from world_format.txt about map folder content)
Line 52: Line 52:
 
     └── minetest.conf.example  (a list of all possible settings)
 
     └── minetest.conf.example  (a list of all possible settings)
 
</pre>
 
</pre>
 +
 +
 +
 +
== World Folder Content ==
 +
as described in the file [https://github.com/minetest/minetest/blob/master/doc/world_format.txt world_format.txt] shipped with each Minetest in the docs folder.
 +
 +
 +
===auth.txt===
 +
 +
Contains authentication data, player per line.
 +
  <name>:<password hash>:<privilege1,...>
 +
 +
Legacy format (until 0.4.12) of password hash is <name><password> SHA1'd,
 +
in the base64 encoding.
 +
 +
Format (since 0.4.13) of password hash is #1#<salt>#<verifier>, with the
 +
parts inside <> encoded in the base64 encoding.
 +
<verifier> is an RFC 2945 compatible SRP verifier,
 +
of the given salt, password, and the player's name lowercased,
 +
using the 2048-bit group specified in RFC 5054 and the SHA-256 hash function.
 +
 +
 +
===env_meta.txt===
 +
 +
Simple global environment variables.
 +
Example content:
 +
  game_time = 73471
 +
  time_of_day = 19118
 +
  EnvArgsEnd
 +
 +
 +
===ipban.txt===
 +
 +
Banned IP addresses and usernames.
 +
Example content:
 +
  123.456.78.9|foo
 +
  123.456.78.10|bar
 +
 +
 +
===map_meta.txt===
 +
 +
Simple global map variables. The [[map generator]] may be defined here and [[Map generator/settings|tweaked with parameters]].
 +
Example content:
 +
  seed = 7980462765762429666
 +
  [end_of_params]
 +
 +
 +
===map.sqlite===
 +
 +
Map data.
 +
Name may differ according to the [[Database backends|database backend]] type used.
 +
 +
 +
===world.mt===
 +
 +
World metadata.
 +
At least this file should be present together with a database file as minetest will not list the world if it does not know which subgame is needed for the map.
 +
Example content:
 +
  gameid = mesetint
 +
 +
 +
===/player (folder)===
 +
 +
Player data.
 +
Filename can be anything.
 +
Contains ingame data for each player in a file named after the player.
 +
 +
 +
===/worldmods (folder)===
 +
 +
This optional folder may contain mods that are needed for this map exclusivly.
 +
  
 
== Finding Maps ==
 
== Finding Maps ==

Revision as of 08:11, 17 February 2017

Languages Language: English • Deutsch • Bahasa Melayu


What is a Map?

A Map is a world who contains an environment and/or building(s).

Installation

To install maps : you have to extract them first—most of them are in .zip, some of them can be in .rar or .tar.gz format. To extract .tar.gz and .rar files on Windows, you need 7-Zip.

Put the extracted files in the “worlds” folder of your Minetest installation folder. The files such as env_meta.txt must be directly in the world’s folder (eg. “worlds/my_world/env_meta.txt”).

Often, the compressed file also contains a “mods” folder, his files have to be put into your “mods” folder to show some additional blocks.

  • Location of the worlds (aka maps) folder within the folder structure of a run-in-place installation of Minetest, including some of the folders Minetest adds after some usage as client and server, as well as the positions (…) that custom-made content goes. Irrelevant folders are not expanded.
This commented example shows the location and structure of a world called "someworld":

    minetest/
    ├── bin/ (contains the executable program file)
    ├── builtin/
    ├── cache/
    ├── client/
    ├── doc/
    ├── fonts/
    ├── games/  (collection of mods tweacked or designed to work well together)
    │   ├── minetest_game/
    │   ├── minimal/
    │   └── … (installed extra games)
    ├── locale/ (language files)
    ├── mods/
    │   └── … (installed extra mods and modpacks)
    ├── textures/
    │   ├── base/
    │   │   └── pack/
    │   └── … (installed extra texturepacks)
    │
    ├── worlds/         (this folder will be created when the first local/singleplayer world is created)
    │   ├── someworld        (the name given to the world by the user when it is created)
    │   │   ├── players/     (ingame data for each player)
    │   │   ├── worldmods/   (create this folder for world exclusive mods)
    │   │   ├── auth.txt     (player login data)
    │   │   ├── env_meta.txt (contains mostly time related information)
    │   │   ├── map.sqlite   (database containing the map. The name may differ depending on backend used)
    │   │   ├── map_meta.txt (defines which mapgen is used and how)
    │   │   └── world.mt     (should at least contain the subgame-id without which the world 
    │   │                     will not show up in the singleplayer tab)
    │   └── … (more saved worlds. Some with exclusive world mods)
    │
    ├── minetest.conf          (will be created with first start of Minetest)
    └── minetest.conf.example  (a list of all possible settings)


World Folder Content

as described in the file world_format.txt shipped with each Minetest in the docs folder.


auth.txt

Contains authentication data, player per line.

 <name>:<password hash>:<privilege1,...>

Legacy format (until 0.4.12) of password hash is <name><password> SHA1'd, in the base64 encoding.

Format (since 0.4.13) of password hash is #1#<salt>#<verifier>, with the parts inside <> encoded in the base64 encoding. <verifier> is an RFC 2945 compatible SRP verifier, of the given salt, password, and the player's name lowercased, using the 2048-bit group specified in RFC 5054 and the SHA-256 hash function.


env_meta.txt

Simple global environment variables. Example content:

 game_time = 73471
 time_of_day = 19118
 EnvArgsEnd


ipban.txt

Banned IP addresses and usernames. Example content:

 123.456.78.9|foo
 123.456.78.10|bar


map_meta.txt

Simple global map variables. The map generator may be defined here and tweaked with parameters. Example content:

 seed = 7980462765762429666
 [end_of_params]


map.sqlite

Map data. Name may differ according to the database backend type used.


world.mt

World metadata. At least this file should be present together with a database file as minetest will not list the world if it does not know which subgame is needed for the map. Example content:

 gameid = mesetint


/player (folder)

Player data. Filename can be anything. Contains ingame data for each player in a file named after the player.


/worldmods (folder)

This optional folder may contain mods that are needed for this map exclusivly.


Finding Maps


Schem file Creation / Import

A schem file (.mts) is used to import building(s) into a world with the WorldEdit mod. This file can be found in “worlds/<my_world>/schems” folder.


  • To create a schem file :
  1. Type in your world name (with WorldEdit activated).
  2. Grant yourself all privileges: /grantme all
  3. Press F5 to show the coordinates.
  4. Select the area to export by commands with //pos1 and //pos2 (these positions corresponds to an invisible diagonal of a cuboid selection).
  5. Create your schem file with //mtschemcreate <name of your schem file>. The file will be created into your “worlds/<my_world>/schems” folder.


  • To import a schem file :
  1. Enter in your world (with WorldEdit activated).
  2. Grant yourself all privileges: /grantme all
  3. Put a schem file into your “worlds/<name of your new world>/schems" folder.
  4. Press F5 to show the coordinatess.
  5. Place a position where you want with command: //pos1
  6. Import your schem file with //mtschemplace <name of your schem file>


See also