Server Groups
Groups are the foundation of SimpleCloud's server management system. They define how your Minecraft servers are configured, deployed, and managed. Each server inherits properties from its group, allowing for consistent and automated server management.
Quick Setup
The fastest way to create a new group is through our CLI:
# Create a new group interactively
sc create group
# Create a group with specific parameters
sc create group --name lobby --type SERVER --min-memory 1024
# Create a proxy group
sc create group --name proxy --type PROXY --min-memory 512 --max-memory 512 --start-port 25565
# Create a game server group
sc create group --name survival --type SERVER --min-memory 2048 --max-memory 4096 --start-port 50000
To skip the entire interactive group setup, you have to use all existing flags (except --server-url
)! You can find a more detailed explanation here
Configuration Structure
Groups are configured using YAML files located in the groups/
directory. Here's a complete example:
name: lobby
type: SERVER
min-memory: 1024
max-memory: 1024
start-port: 50000
max-players: 100
min-online-count: 1
max-online-count: 1
cloud-properties:
configurator: "paper_velocity"
template-id: "lobby"
server-url: "https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/463/downloads/paper-1.20.4-463.jar"
max-startup-seconds: "120"
Group Types
There are two types of groups in SimpleCloud, PROXY and SERVER. PROXY groups are used for proxy servers like Velocity or BungeeCord that handle player connections and server networking. SERVER groups are used for Minecraft game servers running software like Paper, Spigot, or Minestom.
In general it's not important to the Controller to know which group type you're using. Basically, both types are the same, the main difference is that PROXY groups and SERVER groups are configured differently, so that a Server Host Droplet knows how to handle them.
Editing a Group
Using the CLI
# Soon
Manual Editing
Groups can be edited by modifying their YAML files directly. When editing group files:
- Name Changes: If you change the group name, you must also rename the file to match
- Type Changes: Changing the group type is not recommended as it requires reconfiguration of cloud-properties
- Memory/Player Limits: Can be changed freely, but minimum should always be lower than maximum
- Port Configuration: Can be modified, if ports are already in use, the Server Host Droplet will pick up the next available port
- Cloud Properties: Can be customized based on your needs (see Cloud Properties), but we have some required ones, if you use our Server Host Droplet
All changes are applied automatically without requiring restarts. Running servers maintain their original configuration until restarted.
File Operations
Groups can be managed directly through the filesystem:
- Location
- All group files are stored in the
groups/
directory by default - Files must use
.yml
extension - Filename must match the group name
- File Permissions
- Ensure files are readable by the SimpleCloud process
- Recommended: 644 (-rw-r--r--)
- Directory permissions: 755 (drwxr-xr-x)
- Automatic Processing
- New files are detected and loaded automatically
- File modifications trigger immediate updates
- Deleted files remove groups from the system
While editing files directly is supported, using the CLI is recommended for safer modifications.
Core Properties
Every group requires these essential configuration properties:
Property | Type | Description |
---|---|---|
name | string | Unique identifier for the group |
type | PROXY /SERVER | Determines the server's role |
min-memory | uint | Minimum RAM allocation in MB |
max-memory | uint | Maximum RAM allocation in MB |
start-port | uint | Base port for server instances |
max-players | uint | Maximum player capacity |
min-online-count | uint | Minimum running instances |
max-online-count | uint | Maximum running instances |
Cloud Properties
The cloud-properties
section is primarily used by the Server Host Droplet to configure and manage servers. While you can add any custom properties here, certain properties are required when using our Server Host Droplet:
cloud-properties:
# Required for Server Host Droplet
configurator: "paper_velocity" # Server software configuration
template-id: "lobby" # Template reference
server-url: "https://..." # Server JAR download URL
max-startup-seconds: "120" # Startup timeout
# Optional custom properties
custom-setting: "value" # Add any custom properties needed
See the Server Host Droplet documentation for a complete list of required properties and their configurations.
Best Practices
- Naming Convention
- Use lowercase names without spaces
- Keep names short but descriptive
- Use hyphens for multi-word names
- Resource Allocation
- Set realistic memory limits
- Consider overhead when setting max-players
- Configure appropriate port ranges (We do this automatically in our Server Host Droplet)
API reference
We have a detailed guide on how to use the API to manage groups. You can find it in the API documentation.
What's Next?
Here are a few links that might be helpful as you continue to explore SimpleCloud: