mirror of https://codeberg.org/minenux/minenux
98 lines
4.1 KiB
Markdown
98 lines
4.1 KiB
Markdown
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](#min_max_versions). |
|
|
| `max_minetest_version` | mods, games | The maximum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_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:
|
|
|
|
```json
|
|
{
|
|
"title": "Foo bar",
|
|
"tags": ["pvp", "survival"],
|
|
"license": "MIT",
|
|
"website": null
|
|
}
|
|
```
|
|
|