minenux/minetest-artifacts.md

4.1 KiB

The minetest artifacts configurations

Minetest context

Minetest has 4 kind of parts:

  • engine: the engine is powered by irrlicht library, the engine its the part that handles the game and renders the logic of the players when moves and interact with the game.
    • version: the older engine (those version like 0.4 and 4.X) and newer (those from 5.0 and 5.X+ )
    • flavour: there's the origial minetest, also multicraft, freeminer and mientest4/minetest5
  • mods: are like plugins that enhances the engine gaming using the minetest api.
  • games: are the junction of mods and configs files to provide specific game logic targets

Config files

The filename of the .conf file depends on the content type:

file context minetest versions identificacion and meaning
minetest.conf engine all versions for running configuration
game.conf games 0.4, 5.X for games on the engine.
depends.txt mods 0.4,5.1,5.2 for mod packs, only the dependency part
description.txt mods 0.4,5.1,5.2 for mods, only the descripton part
mod.conf mods 5.X for mods in the games, depends and description joined
modpack.txt mods 0.4,5.0,5.1,5.2 for identifiaction of mod packs of mods.
modpack.conf mods 5.X for identification of mod packs of mods.
texture_pack.conf games 5.X for texture packs.

Next section will explain the two kind of files you can setup and where apply:

Understood files

The txt files only has one line if are the description and one line per mods technical name for each depends.

The .conf files uses a key-value format, separated using equals. Here's a simple example:

	name = minenux
	description = MinenuX

Next section will explain the key values context and where apply:

Understood values

key context Description of value
name mods, games the mod technical name.
description mods A short description to show in the client.
supported_games mods List of supported game technical names.
unsupported_games mods List of not supported game technical names. Useful to override game support detection.
depends mods Comma-separated hard dependencies.
optional_depends mods Comma-separated soft dependencies.
min_minetest_version mods, games The minimum Minetest version this runs on, see Min and Max Minetest Versions.
max_minetest_version mods, games The maximum Minetest version this runs on, see Min and Max Minetest Versions.

The minetest.conf file has a huge list of keys to list, that are already described in each engine release file.

.cdb.json for developers

You can include a .cdb.json file in the root of your content directory (ie: next to a .conf) to update the package meta.

It should be a JSON dictionary with one or more of the following optional keys:

  • type: One of GAME, MOD, TXP.
  • title: Human-readable title.
  • name: Technical name (needs permission if already approved).
  • short_description
  • dev_state: One of WIP, BETA, ACTIVELY_DEVELOPED, MAINTENANCE_ONLY, AS_IS, DEPRECATED, LOOKING_FOR_MAINTAINER.
  • tags: List of tag names
  • content_warnings: List of content warning names
  • license: A license name but for source code
  • media_license: A license name but for media files
  • long_description: Long markdown description.
  • repo: Git repo URL.
  • website: Website URL.
  • issue_tracker: Issue tracker URL.
  • forums: forum topic ID.
  • video_url: URL to a video.

Use null or [] to unset fields where relevant.

Example:

{
    "title": "Foo bar",
    "tags": ["pvp", "survival"],
    "license": "MIT",
    "website": null
}