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
- Check the configurator name matches the blueprint
- Verify the file path is correct
- Check serverhost logs for errors
Placeholder Not Replaced
- Ensure placeholder syntax is correct:
{{name}} - Check if the property exists on the server
- For custom properties, use
{{$.property-name}}
Wrong File Format
- Verify the
formatfield matches the actual file type - Check for syntax errors in the template
- Ensure the file exists in the server directory