SLS is a system for managing networks of ephemeral game servers, designed for games like Minecraft, Hytale, Garry's Mod, and Rust. It lets you spin up and tear down servers quickly, with each server fully isolated and reproducible.
For full documentation and examples view SLS Documentation.
Servers are defined using Blueprints, where you can specify everything from:
- Server version and resource limits
- Volumes mounts
- Config patches
- Custom configuration
From a single Blueprint, you can create as many server instances as needed.
-
Protocube: The core controller of SLS. Tracks all servers, provides an API for management, and routes requests to backend nodes.
-
Daemon (nodes): The server control plane. Runs on each physical machine, connects to Protocube, and manages servers inside Docker containers.
-
S4J: A Java API wrapper for the SLS API.
-
vSLS: vSLS is a Velocity plugin that lets you manage SLS servers in game.
SLS is ideal for networks that need fast, consistent, and isolated server environments. Whether you're running minigames, private worlds, or large server networks, SLS gives you full control over how servers are created, configured, and managed.
-
Isolated & Reproducible Environments Every server runs in its own Docker container and is created exactly as defined in its Blueprint ensuring consistency across every instance.
-
Zero-Copy Instancing (COW) Avoid repeated file copying and reinstallations. SLS uses copy-on-write mounts to efficiently create new servers with minimal overhead.
-
Horizontal Scaling Easily scale your network by adding more nodes. SLS automatically utilizes available resources across your infrastructure.
-
Real-Time Status & Events Track server lifecycle states (starting, online, stopping) and subscribe to an event stream for real-time updates.
-
Built-in Load Distribution Servers are automatically distributed across nodes to balance load and optimize resource usage.
-
Custom Software Support Define and run your own server types using flexible software configurations.
-
HTTP API Control Fully manage servers programmatically through a simple and powerful HTTP API.
A live demo Minecraft network is available if you want to try SLS in action.
- Server address:
demo.protoxon.com
This demo showcases how servers can be dynamically created and managed in a real environment.
The demo utilizes the vSLS plugin.
For full documentation, examples, view SLS Documentation.
Note: This is a simplified example Blueprint. It does not include all available sections. For full details, see: Blueprint Docs
blueprint:
id: "slsmp1"
name: "SLSMP1"
type: "survival"
server:
software: "paper"
version: "1.21.11"
state:
volumes:
- name: "world"
source: "worlds/survival/SLSMP1"
target: "/world"
mode: cow