Templates
Files for every server, stacked in layers.
A template is a directory under layers/. When a server starts, the templates of its group
are copied into the working directory one after another. Later ones overwrite earlier ones,
which gives you layers:
global holds what every server requires, for example ViaVersion and bukkit.yml, while
lobby adds the lobby-specific part on top. A plugin update in layers/global/plugins therefore applies to
every group using that layer.
Placeholders
Files ending in .tpl are filled in while copying and stored without the suffix, so
velocity.toml.tpl becomes velocity.toml.
| Placeholder | Content |
|---|---|
{service} | name of the server, e.g. Lobby-1 |
{group} | name of the group |
{node} | name of the node |
{port} | assigned port |
{memory} | RAM in MB |
{env.NAME} | value from the group's env |
Encoding
Write templates in UTF-8. For versions before 1.13 MuteCloud rolls out server.properties
in ISO-8859-1, because old servers would otherwise show § instead of §.
server.properties is not replaced but patched line by line. Only the keys MuteCloud has
to set change, everything else stays exactly as you wrote it.
Working with templates
copy covers the common workflow: configure a lobby in game, verify the result, then write
it back into the template every further lobby is built from.
What does not belong in a template
Worlds of persistent servers, log files and any data the server writes itself. A template defines the initial state, it is not a storage location.