scroll.server/crates
WiseDev 81d6fe3922 take the checksum from before the closing checkpoint
LogicGameMode::encode reads its return value out of getCheckSum() and
only then writes it:

  v15 = ChecksumEncoder::getCheckSum(a2);
  (...vptr+88)(a2, v15);        // the checkpoint vint
  return v15;

we were reading ours after that write, so the closing checkpoint was
folded into the number we compared. the two could never match, whatever
the simulation did - which is why tick 41 disagreed with six untouched
towers on the field.

write() now hands back the value it wrote, the way encode() does.
2026-08-23 15:04:51 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service take one id per summoned character, not one per play 2026-08-23 15:02:27 +03:00
gateway answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
logic take the checksum from before the closing checkpoint 2026-08-23 15:04:51 +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