What are Configurators?
Configurators automatically adjust server configuration files based on the server software being used. They handle settings like port binding, player forwarding, and other software-specific configurations using placeholder substitution.How Configurators Work
During server preparation, the Serverhost:- Loads the configurator template from
options/configurators/ - Identifies the target configuration files
- Replaces placeholders with actual server values
- Writes the configured files to the server directory
Configurator Templates
Configurators are defined in YAML files atoptions/configurators/{name}.yml. Each configurator specifies which files to modify and what placeholders to replace.
Example: Paper + Velocity
Example: Velocity
Supported Formats
| Format | Extension | Description |
|---|---|---|
yaml | .yml, .yaml | YAML configuration files |
json | .json | JSON configuration files |
properties | .properties | Java properties files |
toml | .toml | TOML configuration files |
text | any | Plain text file replacement |
Placeholders
Configurators support dynamic placeholders that are replaced with server-specific values:Server Properties
| Placeholder | Description |
|---|---|
{{port}} | Assigned server port |
{{server-name}} | Server name (e.g., lobby-1) |
{{group}} | Group name |
{{max-players}} | Maximum player count |
{{memory}} | Allocated memory (MB) |
Network Properties
| Placeholder | Description |
|---|---|
{{forwarding-secret}} | Velocity forwarding secret |
{{server-ip}} | Server IP address |
{{network-id}} | Network identifier |
Type Properties
| Placeholder | Description |
|---|---|
{{type}} | Server type (proxy, server, lobby) |
{{software}} | Server software (paper, velocity, etc.) |
Custom Properties
Access custom properties defined in the group:$. prefix accesses the server’s properties map.
Creating Custom Configurators
1. Create the Template
Create a YAML file inoptions/configurators/:
2. Reference in Blueprint
Specify the configurator in your blueprint:3. The Serverhost Applies It
During server startup, the workflow calls theConfiguratorAction:
Built-in Configurators
paper_velocity
For Paper servers behind Velocity proxy:- Sets server port in
server.properties - Enables Velocity modern forwarding in
paper-global.yml - Configures forwarding secret
- Disables BungeeCord mode in
spigot.yml
paper_bungeecord
For Paper servers behind BungeeCord:- Sets server port in
server.properties - Enables BungeeCord mode in
spigot.yml - Disables online mode
velocity
For Velocity proxy servers:- Configures bind port in
velocity.toml - Sets up modern forwarding
- Creates forwarding secret file
bungeecord
For BungeeCord proxy servers:- Configures listener port in
config.yml - Enables IP forwarding
- Sets max players
Nested Value Paths
For nested configuration structures, use dot notation:Troubleshooting
Configuration not applied
Configuration not applied
Symptom: Server starts with default config instead of configured values.Solution:
- Verify configurator name in blueprint matches file name
- Check file path is correct relative to server directory
- Review serverhost logs:
sc logs serverhost
Placeholder not replaced
Placeholder not replaced
Symptom: Config contains literal
{{port}} instead of actual port.Solution:- Check syntax:
{{name}}(double braces, no spaces) - Verify the property exists on the server
- For custom properties use:
{{$.property-name}}
Wrong file format error
Wrong file format error
Symptom: Configurator fails to parse the config file.Cause: Format field doesn’t match actual file type.Solution:
- Verify
formatmatches file extension (yaml, json, properties, toml) - Check the template file for syntax errors
- Ensure the file exists in the server directory