2.2 KiB
title: Package Configuration and Releases Guide
Introduction
ContentDB will read configuration files in your package when doing a number of tasks, including package and release creation. This page details the ways in which you can use this to your advantage.
.conf files
Every type of content can have a .conf
file that contains the metadata.
The filename of the .conf
file depends on the content type:
mod.conf
for mods.modpack.conf
for mod packs.game.conf
for games.texture_pack.conf
for texture packs.
The .conf
uses a key-value format, separated using equals. Here's a simple example:
name = mymod
description = A short description to show in the client.
ContentDB understands the following information:
description
- A short description to show in the client.depends
- Comma-separated hard dependencies.optional_depends
- Comma-separated soft dependencies.min_minetest_version
- The minimum Minetest version this runs on.max_minetest_version
- The maximum Minetest version this runs on.
and for mods only:
name
- the mod technical name.
Controlling Release Creation
Git Releases and Submodules
ContentDB can automatically create releases from a git repository. It will include submodules in the resulting archive.
Automatic Release Creation
The preferred way is to use webhooks from GitLab or GitHub. You can also use the API to create releases.
Min and Max Minetest Versions
When creating a release, the .conf
file will be read to determine what Minetest
versions the release supports. If the .conf
doesn't specify, then it is assumed
that is supports all versions.
This happens when you create a release via the ContentDB web interface, the API, or using a GitLab/GitHub webhook.
Excluding files
When using git to create releases, you can exclude files from a release by using gitattributes:
.* export-ignore
sources export-ignore
*.zip export-ignore
This will prevent any files from being included if they:
- Beginning with
.
- or are named
sources
or are inside any directory namedsources
. - or have an extension of "zip".