scroll.server/crates
WiseDev dfdcc3072a stop a battle that has already been decided
the hook showed a battle at tick 4177 - two hundred and eight seconds of
a hundred and eighty second match - sitting at three crowns to nil with
the player holding no towers at all. advance_to never asked whether the
battle was over, so the clock ran past the end, the bot kept playing
cards, and the snapshots kept coming. anything the player put down after
that walked into an army that had been piling up for a minute, which is
what "my units do not spawn" actually looked like.

is_end_condition_matched was right all along - it reads the leaders and
the clock and says so. nothing called it. now the tick loop breaks on
it, and the harness walks a match to its end and checks the tick stops
moving.

two things ruled out while looking. the account ids are right: the
client reads its own as 0-5, finds itself at index 0 and takes the
bottom avatar, and the 0-0 lookups in the trace are it resolving the
bot. and "visitor" is cosmetic - getHomeTeamIndex defaults to 1 when
both avatars share an arena, which ours do.
2026-08-23 18:10:25 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service stop a battle that has already been decided 2026-08-23 18:10:25 +03:00
gateway answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
logic never take a leader off the board 2026-08-23 17:37:02 +03:00
logic-derive move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
scroll-server supervised mode: run the services as child processes 2026-08-23 09:46:59 +03:00
service-rpc answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan take the checksum from before the closing checkpoint 2026-08-23 15:04:51 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00