Built from source via a git submodule pinned to a tag, not a published image — the Dockerfile, main.ts, and manifest should never need to change for an ordinary version bump, only the submodule pin (see UPDATING.md). One volume, one interface serving the browser client + lobby/intent API + SSE stream from a single origin, no dependencies. The server-wide join secret (D14) is seeded on install, exposed via the Get Join Secret action, and blocks start behind a critical task until retrieved — the same first-set/rotation pattern as actual-budget-startos's admin password. Verified on phoenix.local: installs, the critical task correctly blocks an ordinary start, force-starting confirms the daemon binds its port and serves the client, and store.json correctly holds the install-seeded join secret. Not verified: the Get Join Secret action's execution end-to-end — start-cli's `package action run` fails with a client-side deserialization error that reproduces identically against actual-budget's already-shipped equivalent action, so this looks like a start-cli issue rather than a defect here. icon.svg is still the scaffold's hello-world placeholder — no real Station Master icon exists yet to ship in its place.
1.8 KiB
Updating the upstream version
Station Master is built from a git submodule at station-master/ (tracking
Jesse.Markowitz/station-master, a
self-hosted Gitea repo — this is Jesse's own game, not a third-party upstream, but it is packaged
the same way: Dockerfile builds whatever commit the submodule points at, with no pinned
dockerTag in the manifest. The submodule pin is the version.
Station Master tags its releases (v0.5.1, …) at the commit that bumped package.json. Nothing
else about this package should need to change for a bump — not the Dockerfile, not main.ts,
not the manifest — only the submodule pin and this package's own version (below).
Determining the upstream version
cd station-master && git fetch --tags && git tag -l --sort=-v:refname | head -5
The current pin is the submodule's checked-out commit:
git submodule status station-master
Applying the bump
cd station-master && git fetch --tags && git checkout v<new version>
cd .. && git add station-master
Then bump this package's own version in startos/versions/current.ts (see
Versions) with release notes
naming the Station Master version now bundled — e.g. "Bundles Station Master v0.5.2." — and
rebuild (make).
If the jump carries a multiplayer protocol or persistence-format change (check the game repo's
CHANGELOG.md and docs/architecture/multiplayer.md), read it before bumping: a running
server's saved games are stamped with engineVersion and refuse to resume under a mismatched
one (src/server/index.ts in the game repo) — nothing in this package works around that, so an
in-progress game must finish (or be accepted as lost) before an incompatible bump.