MuteBefehl Wiki

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:

layers = ["global", "lobby"]

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.

PlaceholderContent
{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

template                       all templates with file count and who uses them
template create <name>         create an empty one
template delete <name>         remove one
service <name> copy [template] write the running state back into the template

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.

On this page