A Configuration is the blueprint Universe uses to create instances. It defines everything from which runtime to use and how much RAM to allocate, to which templates to install, which ports to expose, and what environment variables to inject. Configurations are stored in the cluster’s shared Hazelcast state and on disk underDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/universeclouddev/Universe/llms.txt
Use this file to discover all available pages before exploring further.
./configuration/.
All endpoints in this group require a Bearer token with ALL permission.
The
name in the URL path always takes precedence over any name field in the request body — the server calls .copy(name = name) before saving. Always ensure the path name and intended configuration name match.The Configuration Object
Unique identifier for this configuration (e.g.,
lobby, game-duels). Used as the key in all API paths and in CreateInstanceRequest.Runtime provider key. Defaults to
screen. Built-in options: screen, tmux. Extension-provided: docker, k8s.Shell command to execute when starting the instance (e.g.,
java -Xmx2048M -jar server.jar).Whether this is a static (persistent) instance whose working directory survives restarts. Defaults to
false.RAM in megabytes to allocate per instance. Defaults to
2048. Used for node resource scheduling.CPU units per instance.
100 = 1 full core. Defaults to 100.Logical group tags this configuration belongs to (e.g.,
["lobby", "hub"]). Used for group-based queries.List of node IDs allowed to host instances of this configuration. Defaults to
["node-1"]. Instances are only scheduled onto nodes in this list.Host address advertised to clients for connecting to instances. Supports template variables like
%TAILSCALE_IP%. Defaults to 127.0.0.1.Minimum number of running instances to maintain for this configuration. The master node will auto-create new instances if the count falls below this. Defaults to
1.Key-value map of environment variables injected into the instance process. The default includes
{"UNIVERSE_INSTANCE_ID": "%INSTANCE_ID%"}.Relative paths of files to scan for variable replacement after templates are installed (e.g.,
["server.properties", "plugins/Universe/config.yml"]).Custom key-value map for user-defined template variables. Each
{"myKey": "myValue"} entry makes %myKey% available as a replacement token in fileModifications files.Additional ports to expose beyond the primary
allocatedPort. Each entry has port (integer), protocol (default "TCP"), and name (string label) fields.Endpoints
GET /api/configurations
Returns all instance configurations currently stored in the cluster state. Authentication: ALL permission required.Configuration objects.
| Status | Meaning |
|---|---|
200 | Success, array returned (may be empty). |
401 | Unauthorized. |
GET /api/configurations/
Returns a single configuration by its unique name. Authentication: ALL permission required. Path ParametersThe configuration name (e.g.,
lobby).Configuration object.
| Status | Meaning |
|---|---|
200 | Configuration found and returned. |
404 | No configuration with this name exists. |
401 | Unauthorized. |
PUT /api/configurations/
Creates or fully replaces a configuration. The request body must be a completeConfiguration object. The name field in the body is ignored — the path parameter is always used as the authoritative name.
Authentication: ALL permission required.
Path Parameters
The configuration name to create or overwrite (e.g.,
lobby).Configuration object.
Ignored; the URL path parameter is used. May be omitted.
Runtime provider key. Defaults to
screen.Start command for the instance process.
Whether the instance is persistent across restarts. Defaults to
false.RAM to allocate in megabytes. Defaults to
2048.CPU units to allocate (100 = 1 core). Defaults to
100.Group tags for this configuration.
Node IDs eligible to run instances of this configuration.
Host address for client connections.
Port allocation range with
min and max fields.Minimum live instance count to maintain.
Environment variable key-value map.
Template installation instructions including
allOf, allInGroups, oneOf, oneInGroups, and onTemplatePasteOverridePresentFiles.List of relative file paths to scan for variable replacement.
Custom template variable map (keys become
%KEY% tokens).Additional ports to expose, each with
port, protocol, and name.| Status | Meaning |
|---|---|
204 | Configuration saved. |
401 | Unauthorized. |
DELETE /api/configurations/
Permanently removes a configuration from the cluster state. Existing running instances that were created from this configuration are not affected — only future deployments are blocked. Authentication: ALL permission required. Path ParametersThe name of the configuration to delete (e.g.,
lobby).| Status | Meaning |
|---|---|
204 | Configuration deleted. |
401 | Unauthorized. |