Skip to content

Packaging

This page contains all information related to how mods are packaged and distributed.

Package Structure

Each mod package contains the following approximate structure.

reloaded3.utility.examplemod.s56
├── config
│   ├── config-image-1.jxl
│   └──
├── languages
│   ├── config
│   │   ├── en-GB.toml
│   │   └── uwu-en.toml
│   └── dll
│       ├── en-GB.toml
│       └── uwu-en.toml
├── modfiles
│   ├── redirector
│   │   └── skill-game-asset.bin
│   └── mod.dll
├── package
│   ├── docs
│   │   ├── changelog
│   │   │   ├── 1.0.0.md
│   │   │   ├── 1.1.0.md
│   │   │   ├── 1.2.0.md
│   │   │   ├── 1.2.1.md
│   │   │   └── 2.0.0.md
│   │   └── index.html
│   ├── images
│   │   ├── skill-1.jxl
│   │   ├── skill-2.jxl
│   │   └── skill-3.jxl
│   ├── description.md
│   └── license.md
├── config.toml
└── package.toml

Changelog

Located in package/docs/changelog.

This contains the changelog for each version of the mod up until the current version.

Each version is contained in its own Markdown file, e.g. 1.0.0.md.

Having Docs is not required to have Changelogs

The Changelog exists in the docs part of the folder because they commonly share images. It also allows you to have the Changelogs as separate documentation pages.

Some documentation building tools may require that all images are within a certain subfolder, thus to allow image reuse, we put the changelog pages within the docs folder.

Config

Located at config.toml.

This contains the configuration for the mod.

This file may not exist in some packages.

This file stores the configuration schema used for the package when the user hits Configure Mod (or equivalent) button inside the Mod Manager frontend.

Images referenced by the config should be in the package/images folder.

Description

Located at package/description.md.

This contains the full description of the package, written in markdown.

For a mod, this should match what you would normally put on a modding site (e.g. GameBanana, Nexus, ThunderStore) etc.

Docs

Located in package/docs.

Entry point for this package documentation.

This is the file that will be opened when the user wishes to click the documentation button in Mod Manager.

This should be a file in a format the user can be reasonably expected to open on a Windows or Linux machine.

Currently accepted formats include:

  • HTML (.htm, .html)
  • Markdown (.md)
  • PDF (.pdf)
  • Text (.txt)

The entry point for the documentation is specified in the DocsFile field in the package.toml.

We recommand using MkDocs Material in CI for the documentation.

Images

Located in package/images.

Images use JPEG XL (.jxl)

This contains any supplementary images that are used in the package. These images can be referenced from the main package.toml file, for example in gallery items.

License

Located at package/license.md.

License defaults to CC BY-NC-SA 4.0.

Design Philosophy

Packages Should be Self Contained

For historical preservation, we should strive to make packages as 'self contained' as possible.

That means including the following in each package:

  • A full description for each mod, as you'd find in a mod page.
  • Documentation on how to use the mod, e.g. mkdocs website.
  • Complete changelog for the mod (down to first version).

A package does not need to contain assets for previous versions, only changelogs.