Host and join

# Host: runs the room server inside the window, on port 7462 by default.
legaia-engine play-window --disc "$LEGAIA_DISC_BIN" --host --name Vahn
# Join from another machine on the network (address and room code from the
# host's room screen).
legaia-engine play-window --disc "$LEGAIA_DISC_BIN" --join 192.168.1.4:7462 --room K7QX2M --name Noa

On the browser play page, open Online in the tools, enter the relay address as a WebSocket URL (ws://192.168.1.4:7462/), the room code and a name, and press Join. A browser cannot host: a page cannot listen on a socket. A standalone legaia-relay --bind 0.0.0.0:7462 hosts rooms with no game window at all.

A page served over https:// may only open wss:// sockets, and the relay does not do TLS itself. Playing from the published site therefore needs the relay behind a TLS-terminating reverse proxy that forwards the WebSocket upgrade; a page served locally over http:// reaches ws:// directly.

Host play window --host: relay in-process 0.0.0.0:7462 Play window--join ADDR --room CODE Browser, local httpws://host:7462/ Browser, https sitewss:// only TLS reverse proxyforwards the upgrade TCP ws wss ws
The host's window is the relay; legaia-relay can stand in its place on a machine nobody plays on.

The room

Native play windowBrowser play page
Room screenTab (and the backquote key in a room)The Room button or Tab
ChatT on the room screen types a line, Enter sendsThe Online panel's chat box
Other playersDrawn as your party leader, walking where they walkThe same

The room screen shows the room code and the address others join at, the players with their seat colour and readiness, Ready (guests), the game pick and Start (the host), an emote, quick chat, Leave and Close. Start needs every seated guest ready. Closed, a small panel over the field names the room, its players and the newest chat lines.

Games together

The host picks an instance from the world's mode list - the loaded pack's, or the built-in practice set with no pack - and starts it; it draws on the usual mode screen with "You" on your own seat. Start inside it asks to leave, which ends the game for the table. Online games grant no coins, gold or cards.

GameHow it runsWhat that means
Golf, racing, prop huntLockstepEvery player runs the game from everyone's buttons. A dropped player's seat goes to the AI.
Poker, Grid DuelOn the hostOnly the host runs the table; you never receive another player's hole cards before the showdown. It ends if the host leaves.

How each model works, and why: netplay.

Party night

The host's Game row lists party nights first - Practice Night with no pack, Tower Game Night with the sample pack. A night is a playlist of short rounds (a golf hole, a few poker hands, one lap, a Grid Duel ladder, a prop hunt round) scored by placement on one scoreboard. Between rounds a card shows what is next, the standings and the last round's points; the final round scores double, a wager round puts a share of everyone's points in a pot, and some nights let last place pick the next game. The podium hands each player their prize in their own game.

  • A player who drops keeps their score; the AI finishes their round.
  • A round that desyncs is void, and the night goes on.
  • Someone who joins mid-night watches the rest.
  • The number keys 1 to 5 send a quick reaction - even mid-round.

Played alone, the sample pack's games-room table on the fifth floor runs Tower Game Night against the keeper and two regulars. Rules: expansion game modes; the room side: netplay.

Limits

  • Same build, same pack. Everyone in a room runs the same engine build and the same expansion pack (or none); the relay turns a mismatch away.
  • Your world is yours. Only avatars are shared while roaming: battles, doors, dialogue and story progress are each player's own, and avatars do not collide.
  • Play with people you trust. The room code is the only access control, there is no encryption beyond a TLS proxy, and a host decides everything in a game it runs.