The sbs CLI
sbs (the sbs.pyz tool) builds, runs, and serves missions from the command
line. Run sbs <command> --help for full options.
| Command | What it does |
|---|---|
sbs debug <mission> |
Run a mission in a browser mock GUI (3D cinematic + 2D radar) |
sbs debug <mission> --map 0 |
Auto-start a map instead of the picker; --no-gui for headless |
sbs overnight <mission> |
Long soak test under autoplay |
sbs web <mission> |
Serve the mission's web pages to browsers |
sbs web-static <mission> <page> |
Render one web page to a standalone HTML file |
sbs lib <folder> |
Build a .sbslib / .mastlib library |
sbs compile <mission> |
Compile-check the MAST |
sbs fetch / sbs update |
Fetch missions / update the tool |
Running a mission
sbs debug . # browser GUI, map picker
sbs debug . --map 0 # auto-start map 0
sbs debug . --no-gui --map 0 --test 30 # headless, play ~30s, pass/fail verdict
Handy flags: --use-working-tree (test local library edits against the packaged
mission), --seed N (reproducible runs), and settings overrides that don't touch
settings.yaml (--auto-start, --players N, --set KEY=VALUE).
Serving web pages
sbs web . # serve this mission's //web pages
sbs web --engine a=missionA --engine b=missionB # one server, many engines
sbs web-static . scores -o scores.html --query title=Standings
See Serving web pages and the Web pages cookbook.