Skip to main content
Start the rules server, frontend, and developer shell:
npm run dev loads tableverse.config.ts, starts the rules server and a developer shell at http://127.0.0.1:5100, and runs the frontend’s dev script from publish.frontend. Open http://127.0.0.1:5100. That is the URL you play on. The scaffold creates one client for local previews and published games:
During a local preview, the client connects to http://127.0.0.1:5100. It receives a player-safe view and updates after every accepted command.

Start a match

The shell opens on a setup form. Choose the number of seats and the RNG seed. When your game definition declares a setup input schema, the form also collects that setup input. Start the match, and the shell frames your game.

Play every seat

The control strip above your game has one button per seat. Click a seat to switch whose perspective the framed game shows, and play a turn-based game past the first move without opening a second browser. Two more buttons sit in that strip:
  • Reset starts a fresh match with the same seats, seed, and setup input.
  • Exit game discards the match and returns to the setup form.
The shell passes the seat to the framed page, so your frontend needs no code for this.
The local server keeps state in memory. Restarting tvk dev starts a new session.

Change the port

The shell moves with it, so open http://127.0.0.1:5200 instead. The shell tells your frontend which address to use, so your client code stays the same.

Publish to Tableverse

Validate and upload your project.