Template authoring
Schema overview
The top-level structure of a Basalt template.
A template is one JSON object, validated against
template.schema.json. Reference the schema
in your file to get editor completion:
{ "$schema": "https://basalt.host/schemas/template.schema.json" }Top-level properties
Prop
Type
No additional properties are allowed anywhere in the document; the schema is strict, which keeps typos from silently doing nothing.
The settings object
Prop
Type
File browser rules
"fileBrowser": {
"rootFolder": "/data",
"readOnlyPaths": ["/data/eula.txt"],
"hiddenPaths": ["/data/libraries", "/data/.cache"]
}rootFolder: where browsing starts; users never see anything above it.readOnlyPaths: visible but protected from edits and deletion.hiddenPaths: not shown at all.
Versioning your template
version identifies the template revision, while settings.versions lists the game versions
it can run; don't confuse the two. Instances record the template version they were deployed with,
and only pick up newer revisions when re-deployed.