no relay connection
no daily service
| # | name | score | floor |
|---|
no run watched — pick one from the board above
| # | name | score / floor | state |
|---|
The relay is a separate process: node relay.mjs in icytower-mp
(default ws://127.0.0.1:8919/ws; MP_HOST=0.0.0.0 for the LAN).
The seed and every score come from that process — this page never chooses a seed and
never shows its own score as a result. Press R while racing to see this card
again, and Watch the race to go back. One player per browser profile: two
tabs in one profile share the rejoin token for a room code.
The Daily Tower is a second process, and needs no relay:
node bin/dailytower.js serve in icytower-mp (port 8787,
leaderboard in its data/). It hands out today's seed, this page plays it,
and the number that comes back is that server's own re-simulation of the run — the same
rule as a race's verdict. Today's board is the table above the Result card.
Watching a run is the third mode, and it uses no relay either: pick an entry from
today's board and press Watch this run, and this page fetches that run's stored
.itr and replays it through the same engine and the same drawing the game
uses. The number on the panel is the board's verified record, never a fresh
computation, and a replay that does not reproduce the record is refused before a frame is
played. The controls are the port's own: SPACE play/pause, hold
→ for ×4, hold ↑ for ×32 (the 1.3.1
transport, docs/presentation.md §3.3), ESC to stop, and
Restart on the card — the original had no restart key, so it is a button here.