Initial StartOS package for Station Master (v0.5.1)
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.
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user