Difference between revisions of "Worlds"

From Luanti Wiki
Jump to navigation Jump to search
(Replaced content with "[https://dev.luanti.org/worlds/ This page has moved to the Luanti Developer Wiki]")
Tag: Replaced
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Languages}}
+
[https://dev.luanti.org/worlds/ This page has moved to the Luanti Developer Wiki]
 
 
A '''world''' contains an environment and/or building(s) you can play in. A world also includes all saved data associated with a world, like player data, mob positions, health, breath, and the like.
 
 
 
== Finding worlds ==
 
* See [https://forum.minetest.net/viewforum.php?f=12 Maps] in the [http://forum.minetest.net forums] to find downloads to worlds that others have made.
 
 
 
== Installation ==
 
'''To install worlds:''' You have to extract them first. Most of them are in <code>.zip</code>, some of them can be in <code>.7z</code>, <code>.rar</code> or <code>.tar.gz</code> format. To extract archive files other than <code>.zip</code> on Windows, you need [https://7-zip.org/ 7-Zip].
 
 
 
For world creators, <code>.7z</code> is the recommended archive format as it is a free format (as compared to <code>.rar</code>) that typically allows for the best compression.
 
 
 
Put the extracted files in the “<code>worlds</code>” folder of your Minetest installation folder. The files such as <code>env_meta.txt</code> must be in the root of the world’s folder (eg. “<code>worlds/my_world/env_meta.txt</code>”).
 
 
 
* Location of the <code>worlds</code> directory within the directory 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.
 
<pre>
 
This commented example shows the location and structure of a world called "someworld":
 
 
 
    minetest/
 
    ├── 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.sqlite (ingame data for each player)
 
    │  │  ├── worldmods/    (create this folder for world exclusive mods)
 
    │  │  ├── auth.sqlite    (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 game ID without which the world
 
    │  │                      will not show up in the singleplayer tab)
 
    │  └── … (more saved worlds. Some with exclusive world mods)
 
    └── (other files and directories)
 
</pre>
 
 
 
== World directory content ==
 
For documentation about the structure of e.g. databases and the mapblock binary format, see [https://github.com/minetest/minetest/blob/master/doc/world_format.txt world_format.txt] in the Minetest source tree.
 
 
 
===auth.sqlite===
 
The authentication database. Name may differ according to the [[Database backends|database backend]] type used.
 
 
 
===env_meta.txt===
 
Simple global environment variables.
 
 
 
Example content:
 
 
 
  game_time = 73471
 
  time_of_day = 19118
 
  EnvArgsEnd
 
 
 
===force_loaded.txt===
 
Lua table containing forcibly loaded Mapblocks.
 
 
 
===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]] is defined here along with [[Map generator/settings|its parameters]].
 
 
 
Example content:
 
  seed = 7980462765762429666
 
  mg_name = v7
 
  [end_of_params]
 
 
 
===map.sqlite===
 
Map database. Name may differ according to the [[Database backends|database backend]] type used.
 
 
 
===mod_storage.sqlite===
 
Mod storage database. Name may differ according to the [[Database backends|database backend]] type used.
 
 
 
===players.sqlite===
 
Player database. Name may differ according to the [[Database backends|database backend]] type used.
 
 
 
===world.mt===
 
Miscellaneous world metadata. Uses the Minetest Settings format.
 
 
 
Example content:
 
 
 
  creative_mode = false
 
  player_backend = sqlite3
 
  backend = sqlite3
 
  gameid = nodecore
 
  load_mod_coolmod = false
 
 
 
The file includes lines stating what type of database backend is used and a list of installed mods with information whether they are activated for this world.
 
 
 
Some third party software such as minetestmapper may also only consider the folder a valid minetest world when the world.mt is present.
 
 
 
===/worldmods (folder)===
 
This optional folder may contain mods that are needed for this map exclusively. All mods and modpacks inside this folder gets loaded no matter what.
 
 
 
===Legacy===
 
 
 
====auth.txt====
 
If the world uses the obsolete ''files'' backend for authentication, this file 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.
 
 
 
====/player (folder)====
 
If the world uses the obsolete ''files'' backend for player data, this folder will contain player data.
 
Filename can be anything.
 
Contains ingame data for each player in a file named after the player.
 
 
 
== Schem file Creation / Import ==
 
A '''schem file (<code>.mts</code>)''' is used to import building(s) into a world with the [https://content.minetest.net/packages/sfan5/worldedit/ WorldEdit mod]. This file can be found in “<code>worlds/<my_world>/schems</code>” folder.
 
 
 
* To '''create a schem file''' :
 
 
 
# Type in your world name (with WorldEdit activated).
 
# Grant yourself all [[privileges]]: <code>/grantme all</code>
 
# Press <kbd>F5</kbd> to show the coordinates.
 
# Select the area to export by commands with <code>//pos1</code> and <code>//pos2</code> (these positions corresponds to an invisible diagonal of a cuboid selection).
 
# Create your schem file with <code>//mtschemcreate <name of your schem file></code>. The file will be created into your “<code>worlds/<my_world>/schems</code>” folder.
 
 
 
* To '''import a schem file''' :
 
 
 
# Enter in your world (with WorldEdit activated).
 
# Grant yourself all privileges: <code>/grantme all</code>
 
# Put a schem file into your “<code>worlds/<name of your new world>/schems</code>" folder.
 
# Press <kbd>F5</kbd> to show the coordinatess.
 
# Place a position where you want with command: <code>//pos1</code>
 
# Import your schem file with <code>//mtschemplace <name of your schem file></code>
 
 
 
== See also ==
 
* [[Minetestmapper]], a program to draw a 2D map of a Minetest world.
 
 
 
[[Category:Map]]
 
[[Category:Tutorials]]
 

Latest revision as of 20:51, 31 December 2024