Skip to main content

What is the CLI?

The SimpleCloud CLI is your primary tool for installing SimpleCloud, authenticating with the dashboard, managing contexts, controlling components, and operating groups, servers, blueprints, persistent servers, serverhosts, and multi-root synchronization.

Installation

Install the released CLI with the official install script:
/bin/bash -c "$(curl -fsSL https://get.simplecloud.app)"
The released binaries are sc and simplecloud. The scl command is only a local development alias used when testing the CLI from source.

Command Structure

sc <command> [subcommand] [arguments] [options]
You can use simplecloud anywhere the examples use sc.

Global Options

OptionDescription
-c, --contextOverride the active context
-h, --helpShow help
-v, --versionShow version number

Authentication

Login

Authenticate with SimpleCloud.
sc login
OptionDescription
--no-browserDo not open the browser automatically
--codeUse a pre-approved code from the dashboard

Logout

Log out from SimpleCloud.
sc logout

Who Am I

Show current user information.
sc whoami

Global Configuration

Use config to manage global endpoint and TLS settings.
sc config show
sc config controller-url set <url>
sc config controller-url unset
sc config auth-url set <url>
sc config auth-url unset
sc config cert add <path>
sc config cert remove <path>
sc config cert clear
CommandDescription
sc config showShow the active global CLI configuration
sc config controller-url set <url>Set the global Controller base URL
sc config controller-url unsetReset the Controller URL to the default
sc config auth-url set <url>Set the global auth/dashboard base URL
sc config auth-url unsetReset the auth/dashboard URL to the default
sc config cert add <path>Trust an additional CA certificate file for HTTPS requests
sc config cert remove <path>Remove a trusted CA certificate file
sc config cert clearRemove all trusted CA certificate files

Setup and Installation

Setup

Set up SimpleCloud: authenticate, configure a context, install dependencies, and register a serverhost.
sc setup
OptionDescription
-n, --networkNetwork ID or slug to use, skipping interactive selection
--codeUse a pre-approved code from the dashboard for login
--install-dirInstallation directory for the serverhost files
--host-nameServerhost display name
--max-memoryMaximum serverhost memory, such as 80%, 32gb, 4096mb, or 4096
--start / --no-startStart SimpleCloud after setup or skip startup
--auto-install-deps / --no-auto-install-depsAutomatically install required dependencies or skip dependency installation
--installInstall manifest installables during setup, such as --install java:21
-y, --yesUse non-interactive mode, auto-accept defaults, and skip confirmations where possible

Install Components

Install components from the component registry.
sc install [components..]
Argument or OptionDescription
[components..]Component IDs to install. If omitted, the CLI prompts you to select components
--dry-runPrint an installable plan without running it
-y, --yesSkip installable confirmation prompts
Install a Java runtime:
sc install java [javaVersion]
OptionDescription
[javaVersion]Java version to install
--listList common Java versions
--dry-runPrint the install plan without running it
-y, --yesSkip confirmation prompts

Upgrade CLI and Components

upgrade is the canonical update command. update is an alias.
sc upgrade [targets..]
sc update [targets..]
Argument or OptionDescription
[targets..]Targets to upgrade. Use cli, component IDs, or <component>@<version>
-s, --setPin component versions with <component>=<version>. Repeat for multiple pins
--cli-forceForce reinstall the CLI even if it is already on the latest version
Examples:
# Upgrade the CLI and all installed components
sc upgrade

# Upgrade only the CLI
sc upgrade cli

# Upgrade a component to the latest version
sc upgrade serverhost

# Pin a component version
sc upgrade serverhost@1.2.3
sc upgrade --set serverhost=1.2.3

Component Lifecycle

Start

Start SimpleCloud components.
sc start [components..]
Argument or OptionDescription
[components..]Specific components to start. Defaults to all components and supports <component>@<version>
--runnerOverride the runner for this session. Choices: screen, docker, native
--configureConfigure the default runner
--skip-version-checkSkip the component version check before starting
--update / --no-updateAuto-update outdated components or skip auto-update
-s, --setPin component versions for update with <component>=<version>

Stop

Stop SimpleCloud components.
sc stop [components..]
Argument or OptionDescription
[components..]Specific components to stop. Defaults to all components
--stop-servers / --no-stop-serversStop all servers on serverhost before stopping, or skip that step

Restart

Restart SimpleCloud components by stopping and starting them.
sc restart [components..]
Argument or OptionDescription
[components..]Specific components to restart. Defaults to all components and supports <component>@<version>
--runnerOverride the runner for this session. Choices: screen, docker, native
--skip-version-checkSkip the component version check before starting
--update / --no-updateAuto-update outdated components or skip auto-update
-s, --setPin component versions for update with <component>=<version>
--stop-servers / --no-stop-serversStop all servers on serverhost before stopping, or skip that step

Status

Check SimpleCloud component status.
sc status [components..]
ArgumentDescription
[components..]Specific components to check. Defaults to all components

Logs

View logs for a component.
sc logs <component>
Argument or OptionDescription
<component>Component to view logs for
-n, --linesNumber of lines to show. Default: 100

Attach

Attach to a running component console.
sc attach <component>
ArgumentDescription
<component>Component to attach to

Context Management

Manage connection contexts. Aliases: contexts, ctx.
sc context list
sc context use <name>
sc context add [name]
sc context remove <name>
sc context current
CommandDescription
sc context listList all contexts. Alias: ls
sc context use <name>Switch to a context
sc context add [name]Add a new context
sc context remove <name>Remove a context. Aliases: del, rm
sc context currentShow the current context

Group Management

Manage server groups. Alias: groups.
sc group list
sc group create
sc group info <group>
sc group start <group>
sc group update <group>
sc group delete <group>
CommandDescription
sc group listList all groups. Alias: ls
sc group createCreate a new group. Alias: new
sc group info <group>Show group information. Aliases: get, show
sc group start <group>Start a server in the group
sc group update <group>Update group settings. Alias: edit
sc group delete <group>Delete a group. Aliases: del, rm
sc group create supports:
OptionDescription
-y, --auto-retryAutomatically retry with previous answers if available
sc group update <group> supports:
OptionDescription
--nameNew group name
--typeGroup type. Choices: SERVER, PROXY, LOBBY
--activeSet active status
--max-memoryMaximum memory in MB
--min-memoryMinimum memory in MB
--max-playersMaximum players
--scaling-minMinimum servers for scaling
--scaling-maxMaximum servers for scaling

Group Plugins

Manage plugins for a group. Alias: plugins.
sc group plugin add <group> [query]
sc group plugin list <group>
sc group plugin remove <group> <plugin>
CommandDescription
sc group plugin add <group> [query]Add plugins to a group. Query can be a search term, Modrinth slug such as mr:name, Spigot ID such as sp:123, or URL
sc group plugin list <group>List plugins for a group. Alias: ls
sc group plugin remove <group> <plugin>Remove a plugin from a group. Alias: rm

Server Management

Manage running servers. Alias: servers.
sc server list
sc server info <server> [numerical-id]
sc server stop [targets..]
sc server logs <server> [numerical-id]
CommandDescription
sc server listList all servers. Alias: ls
sc server info <server> [numerical-id]Show server information. Aliases: get, show
sc server stop [targets..]Stop one or more servers
sc server logs <server> [numerical-id]View server logs
sc server list supports:
OptionDescription
--filterFilter results by name
--groupFilter results by group
--stateFilter results by state
--sortSort by created, players, memory, or state
--reverseReverse sort order
sc server stop [targets..] supports server IDs, group names with numeric IDs, ranges, and --all:
sc server stop lobby 1-3 proxy 1
sc server stop lobby --all
sc server stop --all
Argument or OptionDescription
[targets..]Server IDs, group plus IDs such as lobby 1-3, or group names with --all
-a, --allStop all servers in specified groups, or all servers globally
sc server logs <server> [numerical-id] supports:
OptionDescription
-f, --followFollow log output in real time
--severityFilter by severity, such as ERROR, WARN, INFO, or DEBUG
--searchFull-text search in log messages
--fromStart time in ISO 8601 format
--toEnd time in ISO 8601 format
--limitMaximum number of log entries. Default: 100, max: 1000
--no-prefixHide the [server-name] prefix

Blueprint Management

Manage server blueprints. Aliases: blueprints, bp, bps.
sc blueprint list
sc blueprint info <blueprint>
sc blueprint update <blueprint>
sc blueprint delete <blueprint>
CommandDescription
sc blueprint listList all blueprints. Alias: ls
sc blueprint info <blueprint>Show blueprint information. Aliases: get, show
sc blueprint update <blueprint>Update blueprint settings. Alias: edit
sc blueprint delete <blueprint>Delete a blueprint. Aliases: del, rm
sc blueprint update <blueprint> supports:
OptionDescription
--nameNew blueprint name
--minecraft-versionMinecraft version
--server-softwareServer software
--software-versionSoftware version
--configuratorConfigurator
--server-urlServer JAR URL

Persistent Server Management

Manage persistent servers. Aliases: persistent-servers, pserver, pservers, persistentserver, persistentservers, persserver, persservers.
sc persistent-server list
sc persistent-server create
sc persistent-server info <server>
sc persistent-server update <server>
sc persistent-server delete <server>
CommandDescription
sc persistent-server listList all persistent servers. Alias: ls
sc persistent-server createCreate a new persistent server. Alias: new
sc persistent-server info <server>Show persistent server information. Aliases: get, show
sc persistent-server update <server>Update persistent server settings. Alias: edit
sc persistent-server delete <server>Delete a persistent server. Aliases: del, rm
sc persistent-server create supports:
OptionDescription
-y, --auto-retryAutomatically retry with previous answers if available
sc persistent-server update <server> supports:
OptionDescription
--nameNew server name
--typeServer type. Choices: SERVER, PROXY
--activeSet active status
--max-memoryMaximum memory in MB
--min-memoryMinimum memory in MB
--max-playersMaximum players
--serverhostServerhost ID

Persistent Server Plugins

Manage plugins for a persistent server. Alias: plugins.
sc persistent-server plugin add <server> [query]
sc persistent-server plugin list <server>
sc persistent-server plugin remove <server> <plugin>
CommandDescription
sc persistent-server plugin add <server> [query]Add plugins to a persistent server. Query can be a search term, Modrinth slug such as mr:name, Spigot ID such as sp:123, or URL
sc persistent-server plugin list <server>List plugins for a persistent server. Alias: ls
sc persistent-server plugin remove <server> <plugin>Remove a plugin from a persistent server. Alias: rm

Sync Management

Manage multi-root file synchronization. Alias: syncthing.
sc sync init
sc sync add
sc sync join
sc sync approve
sc sync status
sc sync reset
CommandDescription
sc sync initInitialize sync on the primary serverhost and print a join command
sc sync addGenerate a join command for adding another serverhost to sync
sc sync joinJoin an existing sync topology from a new serverhost
sc sync approveApprove and share managed folders with a joining serverhost
sc sync statusShow sync device and managed folder status
sc sync resetRemove all Syncthing devices and folders on this host while keeping the same device ID
Common sync options:
OptionDescription
--cloud-dirSimpleCloud installation directory. Defaults to the current context installation
--as-rootUse the root Syncthing service, syncthing@root.service, on Linux
--dry-runShow what would happen without changing Syncthing config where supported
Command-specific sync options:
CommandOptions
sc sync init--name, --cloud-dir, --as-root, --dry-run
sc sync add--cloud-dir, --primary-name, --join-name, --as-root
sc sync joinRequired: --primary-device-id, --primary-name, --templates-id, --workflows-id, --options-id. Optional: --cloud-dir, --name, --as-root, --dry-run
sc sync approveRequired: --device-id, --name. Optional: --cloud-dir, --as-root, --dry-run
sc sync status--cloud-dir, --as-root
sc sync reset--cloud-dir, --as-root, -y, --yes, --dry-run

Network Management

Manage network configuration. Aliases: networks, net.
sc network register
sc network verify
CommandDescription
sc network registerRegister a new network
sc network verifyVerify network credentials

Serverhost Management

Manage serverhosts. Aliases: serverhosts, host, hosts.
sc serverhost add
sc serverhost register
sc serverhost verify <id>
CommandDescription
sc serverhost addAdd a new serverhost with the interactive wizard
sc serverhost registerRegister a new serverhost
sc serverhost verify <id>Verify a serverhost

Local Maintenance

Manage local SimpleCloud installation maintenance commands.
sc local cleanup
Aliases: sc local clean, sc local fix.
OptionDescription
-n, --nameFilter by name, type, or command, case-insensitive
-a, --allShow all Java processes, not just SimpleCloud-related processes

Shell Completion

Generate shell completion scripts.
sc completion

Quick Reference

TaskCommand
Set up SimpleCloudsc setup
Start all componentssc start
Stop all componentssc stop
Restart all componentssc restart
Check component statussc status
View component logssc logs <component>
Attach to a component consolesc attach <component>
Upgrade CLI and componentssc upgrade
Create a groupsc group create
List groupssc group list
Start a server in a groupsc group start <group>
List serverssc server list
Stop serverssc server stop [targets..]
View server logssc server logs <server> [numerical-id]
Switch contextsc context use <name>
Initialize multi-root syncsc sync init
Clean stuck local Java processessc local cleanup