Skip to content

info.toml

Every plugin folder has an info.toml describing the plugin. Only a small part of TOML is used: [section] headings, and key = "text", key = number or key = ["a", "b"] lines.

[meta]
name = "Grind Timer"
version = "0.2.1"
author = "AnythingGoes"
description = "A green Trackmania-style timer of total time racing."
min_host = "0.4.0"
icon = "icon.png"

[script]
files = ["main.as"]
timeout = 20

[meta]

Key Default Meaning
name the folder name The name shown to players.
version "0.0.0" The plugin's version. When published, the git tag must be this with a v in front.
author "" Shown in the plugin browser.
description "" One line, shown in the plugin browser.
min_host none The oldest plugin manager (host) version with the API the plugin uses. An older host won't install it ("error: needs host 0.4.0") or run it (status "needs host 0.4.0").
dependencies [] Ids of plugins this one uses (imports from): they load first, the plugin browser installs them first, and this plugin doesn't start without them.
icon "icon.png" An image file in the plugin folder, 256x256. Without one, the default icon is used.
essential false Reserved for the plugin manager itself.

[script]

Key Default Meaning
files ["main.as"] The script files, compiled together. #include isn't supported, so list every file here.
assets [] Other files the plugin needs at runtime, such as images and model files, installed with it from the registry. Wildcards and one level of folders work: ["*.png", "models/*.txt"].
timeout 50 The time budget for each callback, in milliseconds.

[net]

Key Default Meaning
domains [] The only hosts the plugin's Net::Get / Net::Post requests may reach: exact host names (no subdomains), https on port 443, redirects never followed. Public host names only: IP addresses, localhost, *.local and other local or single-label names are left out (with a warning). Without it, every Net:: request is refused, and so is Steam::RequestWebTicket. The plugin manager shows these hosts on the plugin's card (not for the plugin manager's own plugins, from AnythingGoes-ballest repos). A sandboxed test copy lets these hosts through too (only these), marked with the header X-Ballest-Sandbox: 1. Requires host 0.26.0.

The folder name is the id

The plugin's folder name is its id: how the registry, Storage and the log refer to it. Use lowercase with dashes (grind-timer), and never change it once published: a new id is a different plugin with no saved data.