Difference between revisions of "Installing Mods"

From Luanti Wiki
Jump to navigation Jump to search
(Update to 5.x style)
m (→‎Example structure: aligned to changes in example strukture)
Line 76: Line 76:
 
== Example structure ==
 
== Example structure ==
  
In this example the mods “<code>carts</code>” and “<code>tnt</code>”, and the modpack “<code>mesecons</code>” are installed:
+
In this example the mods “<code>digtron</code>” and “<code>tnt</code>”, and the modpack “<code>mesecons</code>” are installed:
  
 
<pre>
 
<pre>

Revision as of 10:55, 8 June 2020

Languages Language: English • Deutsch • français • italiano • Bahasa Melayu

Security considerations

Mods on the Mod Releases forum and the ContentDB are verified to be safe by the community. Downloading mods from other sources is not recommended unless they can be trusted. Malicious code can damage your computer, violate your privacy or cause your computer to take part in illegal activities.

Installing a mod

Mods are usually distributed in a Zip archive. In order to get the mod running, you have to extract it into one of the folders where Minetest looks for mods. This depends on what Minetest version you have installed.

You may have to change the folder name to the “technical” mod name (e.g. rename PilzAdam-carts-70cc4f4 to carts). You can usually find the mod name in the title of the forum topic—It is the last name within the square brackets in the topic title. For example, if the title is [Mod] Lol Mod [1.0] [anotherlolmod], then the folder must be renamed to anotherlolmod.

If one of the below mentioned directories does not exist, create it.

Installing a modpack

A modpack is installed in the same way as a mod, but you are usually not required to change the directory name of the modpack. Just make sure the name does not collide with that of any other installed mod or modpack.

Installation directory

As of 0.4.7, the mods are installed globally and enabled per world.

The common place to install them is $path_user/mods/. That is minetest-install-directory/mods/ in the official Windows releases and on GNU/Linux with RUN_IN_PLACE enabled and ~/.minetest/mods/ in globally installed Minetest versions.

  • Location of the mods 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. Unrelevant folders are not expanded.
minetest/
├── bin/
├── builtin/
├── cache/
├── client/
├── doc/
├── fonts/
├── games/
│   ├── minetest_game/
│   ├── minimal/
│   └── … (installed extra games)
├── locale/
├── mods/
│   └── … (installed extra mods and modpacks)
├── textures/
│   ├── base/
│   │   └── pack/
│   └── … (installed extra texturepacks)
└── worlds/
    └── … (saved worlds. Some with exclusive world mods)

After extracting the mod there you need to enable it for your world. This can either be done in the GUI by clicking on “Configure” in the world selection, or by adding load_mod_<modname> = true in the world.mt file in the world directory.

Note that newly installed mods are disabled for all worlds by default, so you explicitly need to enable them.

Additional install directories (all Minetest versions)

Other places to install mods are world-directory/worldmods/, $path_share/mods/ and $<path_user, path_share>/games/<gameid>/mods/. $path_share and $path_user are only relevant to system-wide installs of Minetest (currently, possible only on Linux). As mentioned above, Minetest on Windows and portable builds operate within their install directory itself, which corresponds to both $path_share and $path_user.

Note that users should generally install mods in the normal install directory and not in the additional ones. Note that having copies of the same mod in different places may easily generate mod conflicts.


Differences between the three kinds of places mods can be loaded from:

  • In the /mods folder technically parallel to the /bin folder the executable is in.

On different installations this may very well also be in some other Minetest location such as a shared, system/game, user or hidden folder. Only mods in this place are togglable. Mods in this folder can be run with any world created by any game. This is therefore an easy place to create mod conflicts that might even crash Minetest.

  • In a /games/<some_game>/mods folder.

In case of "Minetest Game", this could be a sub-folder of <someplace>/minetest/games/minetest_game/mods or <some_other_place>/minetest(or ~/.minetest)/games/minetest_game/mods.

Mods loaded from such locations are considered to be an essential part of said game and are not togglable. These mods apply to all worlds created with this game but not to any world created by another game (although many games may include the same mods)

  • In a /worlds/<name_of_some_world>/worldmods folder inside the sub-folder of a specific world.

Mods in a worldmods folder are not togglable and will run on and only on that specific world, and cannot be accessed from any other world.

Example structure

In this example the mods “digtron” and “tnt”, and the modpack “mesecons” are installed:

    mods/
    ├── digtron/
    │   ├── init.lua
    │   ├── mod.conf
    │   ├── awards.lua
    │   ├── README.md
    │   ├── sounds/
    │   │   ├── buzzer.ogg
    │   │   └── …
    │   └── textures/
    │       ├── digtron_axel_side.png
    │       └── …
    ├── tnt/
    │   ├── init.lua
    │   ├── mod.conf
    │   ├── README.txt
    │   ├── textures/
    │   │   ├── tnt_side.png
    │   │   └── …
    │   └── sounds/
    │       ├── tnt_explode.ogg
    │       └── …
    └── mesecons/
        ├── modpack.txt
        ├── mesecons/
        │   ├── init.lua
        │   └── …
        ├── mesecons_alias/
        │   ├── init.lua
        │   └── …
        ├── mesecons_blinkyplant/
        │   ├── init.lua
        │   └── …
        ├── mesecons_button/
        │   ├── init.lua
        │   └── …
        ├── …