tableverse.config.ts and starts three things: the local rules server, the frontend’s dev script from publish.frontend, and a developer shell.
The shell is served at the rules server’s address, http://127.0.0.1:5100 by default. Open that URL to play your game.
The developer shell
The shell opens on a setup form:- Seats — how many players the match seats.
- Seed — the deterministic RNG seed for the match.
- Setup input — your game’s setup input, shown when the game definition declares a setup input schema.
- One button per seat — switches whose perspective the framed game shows. Use it to play a turn-based game past the first move on your own.
- Reset — starts a fresh match with the same seats, seed, and setup input.
- Exit game — discards the match and returns to the setup form.
Options
5100 is busy:
Local session behavior
- Starting a match from the setup form initializes the game with your seats, seed, and setup input.
- Every seat connects to the same in-memory state.
- Each seat receives that player’s safe view.
- Accepted commands send fresh snapshots to all connected clients.
- Domain and stage events are delivered to connected clients.
- Reset deals a fresh match on the same parameters; Exit game and restarting the command clear the session.
tvk dev after changing engine source. The command loads the game definition when it starts.
Troubleshooting
If the client remains onconnecting:
- Confirm
tvk devprinted its listening URL. - Confirm you opened the shell URL rather than the frontend dev server’s own port.
- Check that setup input matches the schema in your game definition.
- Click Exit game to return to the setup form and start a match with corrected input.
tableverse.config.ts. Run tvk validate from the same directory to check the game definition.
Local sessions
Configure viewers, the roster, and setup input in the frontend.