Upgrading

Games change after they are live, and Gamehoster is built so you can keep improving one without disrupting the matches people are already in. There are two ways to ship a change, depending on how big it is.

A new version, alongside

For a breaking change (the schema, the shared logic, the wire) publish a new version as a new directory at the same level as the current game, under your game-server domain. The game and its version are a single directory, so a new version is simply another directory next to it.

game.gamehoster.org/
  pong/              the running game — keeps serving its live matches
  pong-v2/           the new version — new matches pick this up

The old directory keeps serving every match already in progress right through to the end; only new matches start on the new version. Nothing in flight is disturbed, and you can retire the old directory once its last match has finished.

Minor upgrades in place

Not every change needs a new version. Numbers like speeds, sizes and a win score are instance-state schema fields (their sync is sent), not part of the wire contract, so you change them by editing the game definition and re-syncing, with no version bump. A match freezes those fields at the moment it starts and the server is the single authoritative source of them, so live matches stay consistent while you tweak, and matches that start afterwards pick up the new values.

Reach for a new version only when the change would break the contract between the server and an already-connected client; for small, compatible adjustments, edit in place.