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
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.
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.
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 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.