Prerequisites
- An existing SimpleCloud network with at least one serverhost
- Additional machines to run serverhosts on
- Root or sudo access on each machine
Part 1: Adding Serverhosts
Install SimpleCloud on Each Machine
On each machine that will run a serverhost, install the SimpleCloud CLI:Add Serverhost to Network
Use the CLI to add a new serverhost to your existing network:- Select your network - Choose the network your controller manages
- Authenticate - Log in with your SimpleCloud account
- Configure the serverhost - Set port ranges and other options
Verify Connection
After adding, verify the serverhost is connected:Part 2: Synchronizing Files
With multiple serverhosts, you need to keep templates and workflows synchronized. We recommend using Syncthing for automatic file synchronization.What to Synchronize
| Directory | Purpose | Sync? |
|---|---|---|
templates/ | Server templates, plugins, configs | Yes |
workflows/ | Workflow definitions | Yes |
options/ | Configurator settings | Yes |
secrets/ | Network credentials | No - unique per host |
running/ | Active server instances | No - local only |
logs/ | Serverhost logs | No - local only |
Finding Your SimpleCloud Directory
The installation path is user-configurable. Your serverhost directory contains:simplecloud
templates
Sync this
workflows
Sync this
options
secrets
running
Install Syncthing
On each serverhost machine:If running as root, use
systemctl enable --now syncthing@root.service
instead.Get Device IDs
Each Syncthing instance has a unique device ID:Generate Folder IDs
Create unique folder IDs for your sync folders. These must be the same across all serverhosts:Configure Syncthing
Perform these steps on each serverhost. Replace the placeholder values with your actual device IDs and paths. Step 1: Add remote devices On Serverhost 1, add Serverhost 2:- Install Syncthing
- Get its device ID
- Add it to all existing serverhosts
- Add all existing devices to it
- Configure folders with the same folder IDs
Verify Synchronization
Test that synchronization works:Best Practices
Server Distribution
Configure groups to specify which serverhosts can run them:| Strategy | Use Case |
|---|---|
| Any host | Load balancing across all machines |
| Specific hosts | Dedicated hardware for resource-intensive servers |
| Geographic | Players connect to nearest serverhost |
File Sync Settings
| Setting | Recommended | Reason |
|---|---|---|
| Folder Type | Send & Receive | Allows changes from any serverhost |
| File Versioning | Simple | Keeps backup copies |
| Ignore Permissions | Enabled | Avoids permission conflicts |
Exclude Cache from Sync
Thetemplates/cache/ folder contains locally generated files. Consider excluding it from synchronization to avoid unnecessary transfers.
Troubleshooting
Serverhost not appearing in list
Serverhost not appearing in list
Symptom: After
sc serverhost add, the host doesn’t show up.Solutions:- Check the serverhost is running:
sc status serverhost - Verify network connectivity to the controller
- Check credentials in
secrets/directory exist - Review serverhost logs:
sc logs serverhost
Syncthing devices not connecting
Syncthing devices not connecting
Symptom: Devices show as “Disconnected”.Solutions:
- Ensure firewall allows port 22000 TCP and UDP
- Verify both devices have each other added
- Check device IDs are correct
- Confirm Syncthing is running:
systemctl --user status syncthing
Files not syncing between hosts
Files not syncing between hosts
Symptom: Template changes don’t appear on other serverhosts.Solutions:
- Verify folder IDs match on all hosts
- Check folder is shared with correct devices
- View sync status:
syncthing cli show folders - Check for sync errors:
syncthing cli show system
Servers starting on wrong host
Servers starting on wrong host
Symptom: Servers start on unexpected serverhosts.Solutions:
- Check group configuration for host restrictions
- Verify all serverhosts have required templates synced
- Review serverhost availability in
sc serverhost list
Conflict files appearing
Conflict files appearing
Symptom: Files with
.sync-conflict in the name appear.Cause: Same file modified on multiple hosts simultaneously.Solutions:- Review conflict files and choose correct version
- Avoid editing same file on multiple hosts at once
- Designate one host as “primary” for template editing
Related Topics
- Templates - Template hierarchy and management
- Workflows - Workflow configuration
- Serverhost - Serverhost architecture