Sync Tool

Keep collections, endpoints and workflows as YAML in your project and push or pull them.

Editor > Network Storage > Sync Tool keeps your server's collections, endpoints and workflows as YAML files in your project and pushes or pulls them through the API of the server in your Setup (baseUrl). Game values are edited in the server's owner console or over its API.

Workflow

  1. Write collections, endpoints, workflows, tests and libraries as YAML under Editor/Network Storage/.
  2. Check for Updates compares local files with the server.
  3. Push sends local changes; Pull downloads the server's version.
  4. View Diff shows a side-by-side comparison before anything is overwritten.
Icon Meaning
✓ In sync
▲ Local only
▼ Remote only
● Local and remote differ

Sync moves resource definitions, not player data. Player records live in the server's database.

Pull backs up each local file it overwrites, and an endpoint's script file too, as <name>.bak.<yyyyMMddHHmmss>. Changing the publish target (Live or Next) regenerates the game's generated code, so the game reads the same target as the editor.

Secret key transport

The secret key is sent only to an https:// Base URL, or to http://localhost or a loopback address such as http://127.0.0.1:5000. Any other Base URL is refused before a request is made, and Setup shows a warning. Redirects are not followed, so the key is never replayed to another host.

Source files

Editor/
  Network Storage/              # folder configurable in Setup
    .env                        # credentials (gitignored, never published)
    collections/<id>.collection.yml
    endpoints/<slug>.endpoint.yml
    workflows/<id>.workflow.yml
    tests/<id>.test.yml
    libraries/<id>.library.yml

.yaml is accepted too; prefer .yml. Each file starts with:

sourceVersion: 1
kind: endpoint
id: mine-ore
definition:
  method: POST
  steps: []

Existing JSON resources stay readable and pushable; new and pulled resources are written as YAML. JSON is not converted to YAML automatically. The full model is in source-authoring.md and source-authoring.schema.json, with examples in Examples/SourceAuthoring.

Validate from the command line

python Libraries/sboxcool.network-storage/Editor/source_compiler.py --project-root .
python Libraries/sboxcool.network-storage/Editor/sync.py --project-root . --sources --dry-run

Generated from sbox-cool/sbox-network-storage/docs/sync-tool.md at 6efc43f065a348b38d51056bfccd162644d03de1 (6efc43f).

Publication and source

GitHub source; s&box publication unverified. No confirmed package revision. All versions

Server: 0.5.6 (0.5.6), GitHub source sbox-cool/sbox-network-storage-server at v0.5.6 (ba18db0). Library: main source (6efc43f) (source-6efc43f), GitHub source sbox-cool/sbox-network-storage at 6efc43f065a348b38d51056bfccd162644d03de1 (6efc43f).