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.
42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
# Updating the upstream version
|
|
|
|
Station Master is built from a git submodule at `station-master/` (tracking
|
|
[`Jesse.Markowitz/station-master`](https://draco.local:53871/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
|
|
|
|
```bash
|
|
cd station-master && git fetch --tags && git tag -l --sort=-v:refname | head -5
|
|
```
|
|
|
|
The current pin is the submodule's checked-out commit:
|
|
|
|
```bash
|
|
git submodule status station-master
|
|
```
|
|
|
|
## Applying the bump
|
|
|
|
```bash
|
|
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](../start-technologies/projects/start-sdk/docs/src/versions.md)) 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.
|