scroll.server/crates
WiseDev 14786cbc92 never take a leader off the board
the client crashed in LogicBattle::resetSimulatedManaTimers again, and
this time it was ours: remove_dead was dropping a king tower once it
fell, while battle.leaders still pointed at it. that function reads both
leaders straight out of the battle and calls a virtual on each without a
null check, so the next state to arrive killed the client.

the client's own rule is one line:

  LogicCharacter::shouldDestruct() { if (this[209]) return 0; ... }

isLeader, never destructs. remove_dead now keeps them the same way, and
the harness watches every tick of a full match for a leader that has
gone missing - it caught this one at tick 693.
2026-08-23 17:37:02 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service never take a leader off the board 2026-08-23 17:37:02 +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