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:

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:

and for mods only:

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: