diff --git a/UPDATING.md b/UPDATING.md index 6320081..712d161 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -29,10 +29,16 @@ cd station-master && git fetch --tags && git checkout v 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`). +Then set this package's version in `startos/versions/current.ts` to **the same number**, as +`:0` — `versions.md`'s consistency checklist requires the upstream half to match the +submodule tag exactly, so v0.5.3 becomes `0.5.3:0`. Give it release notes naming what changed for +a player, then rebuild (`make`). Raise the `:0` instead, leaving the upstream half alone, when the +change is packaging-only and the bundled game has not moved. + +> The initial release shipped as `1.0.0:0` — the scaffold's placeholder, left in by mistake while +> the game was at 0.5.1. It was corrected to `0.5.2:0` before the package was ever published +> anywhere, which is the only reason a downgrade was harmless: `0.5.2:0` sorts *below* `1.0.0:0`, +> so an installed copy had to be removed rather than updated over. 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 diff --git a/instructions.md b/instructions.md index 7bc7f72..282e88d 100644 --- a/instructions.md +++ b/instructions.md @@ -14,21 +14,26 @@ interface below; there is nothing else to install or configure on a player's sid ## Getting set up -1. Open this service's **Multiplayer Table** interface. -2. Run the **Get Join Secret** action from this service's Actions menu, and copy the value it +1. Run the **Get Join Secret** action from this service's Actions menu, and copy the value it returns. -3. Share that secret, and the address you opened the interface at, with everyone you want to - play with. Anyone holding the secret can create a new game or join one that hasn't started yet. -4. In the browser, click **Multiplayer**, then **Create Game** (or **Join Game** with a game code - someone else created), and enter the join secret when asked. +2. Share that secret, and this service's address, with everyone you want to play with. Anyone + holding the secret can create a new game or join one that hasn't started yet. +3. Open this service's **Multiplayer Table** interface. You'll land on the front page, which + offers three ways in: solitaire, the replay viewer, and multiplayer. +4. Click **Play multiplayer**, then **Create Game** (or **Join Game** with a game code someone + else created), and enter the join secret when asked. ## Using Station Master ### Multiplayer Table -Create or join a game, seat players (including filling empty seats with a bot), and start. Once a -game is underway, this same interface is where every player plays their turns and watches the -table — there is nothing else to open. +The front page offers solitaire, the replay viewer, and multiplayer. **Play multiplayer** takes you +to the lobby: create or join a game, seat players (including filling empty seats with a bot), and +start. Once a game is underway, this same interface is where every player plays their turns and +watches the table — there is nothing else to open. + +Solitaire runs entirely in your own browser and needs nothing from the server, so it works here +exactly as it does on the public Station Master site. ### Get Join Secret diff --git a/startos/interfaces.ts b/startos/interfaces.ts index ac821d4..3d79ed8 100644 --- a/startos/interfaces.ts +++ b/startos/interfaces.ts @@ -18,12 +18,12 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => { masked: false, schemeOverride: null, username: null, - // `/` serves index.html — the game's marketing splash, identical to the public static - // solitaire site and with no lobby or Multiplayer button on it (both live on play.html; see - // src/web/main.ts's `start()` and the door link in index.html). That page makes sense for a - // stranger landing on the public site, not for someone who just installed a dedicated - // multiplayer server — so this interface opens straight at the game screen instead. - path: '/play.html', + // The splash at `/`, which is the front door to all three ways to play: solitaire, the + // replay viewer, and multiplayer. Its multiplayer door probes `/api/health` on load, so + // served from here it opens the lobby, and served as a plain static site it says plainly + // that it needs a server. This briefly pointed at `/play.html` instead, back when that door + // was hardcoded to "Coming soon" and the splash was a dead end on a real server. + path: '', query: {}, }) diff --git a/startos/versions/current.ts b/startos/versions/current.ts index c1f06f8..f6deeb2 100644 --- a/startos/versions/current.ts +++ b/startos/versions/current.ts @@ -1,13 +1,16 @@ import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk' export const current = VersionInfo.of({ - version: '1.0.0:0', + // `:` — the upstream half tracks the bundled Station Master tag exactly + // (`versions.md`'s consistency checklist), so bumping the submodule pin and bumping this are one + // action. The downstream half moves only for packaging-only changes. + version: '0.5.2:0', releaseNotes: { - en_US: 'Initial StartOS package, bundling Station Master v0.5.1.', - es_ES: 'Paquete inicial para StartOS, con Station Master v0.5.1.', - de_DE: 'Erstes StartOS-Paket, mit Station Master v0.5.1.', - pl_PL: 'Pierwszy pakiet dla StartOS, zawiera Station Master v0.5.1.', - fr_FR: 'Premier paquet StartOS, avec Station Master v0.5.1.', + en_US: 'Bundles Station Master v0.5.2: the splash page opens the multiplayer lobby.', + es_ES: 'Incluye Station Master v0.5.2: la página de inicio abre la sala multijugador.', + de_DE: 'Enthält Station Master v0.5.2: Die Startseite öffnet die Mehrspieler-Lobby.', + pl_PL: 'Zawiera Station Master v0.5.2: strona powitalna otwiera poczekalnię trybu wieloosobowego.', + fr_FR: "Inclut Station Master v0.5.2 : la page d'accueil ouvre le salon multijoueur.", }, migrations: { up: async ({ effects }) => {}, diff --git a/station-master b/station-master index e76bd77..62b6ed7 160000 --- a/station-master +++ b/station-master @@ -1 +1 @@ -Subproject commit e76bd77099cf8427eb21b257daa5ca0329139c5f +Subproject commit 62b6ed7e1b81a4e5bb73c60e5314bd41e84d6ec9