scroll.server/crates
WiseDev 9230a212ef keep the path instead of finding it again every tick
the tick was running A* over the whole 36x64 grid for every unit, every
tick. catching up ten seconds meant thousands of searches inside the
session lock, so the tick loop never finished, snapshots never went out,
and the client - which refuses to send a command while
isFullUpdatePending is true - sat there showing the connection icon and
would not spawn anything. ctrl-c looked like a hang for the same reason:
a task stuck in that loop.

the client does not do this either. LogicMovementComponent carries a
path array precisely so the route is found once and walked. we keep the
route and the goal it was found for, drop a node once we are within
250 units of it, and only search again when the goal moves or the route
runs out.

advance_to also refuses to simulate more than forty ticks in one call,
so a late tick can never turn into an unbounded loop under the lock.
2026-08-23 14:03:26 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service keep the path instead of finding it again every tick 2026-08-23 14:03:26 +03:00
gateway switch the battle to type 0 and drive it from the server 2026-08-23 13:51:01 +03:00
logic keep the path instead of finding it again every tick 2026-08-23 14:03:26 +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 switch the battle to type 0 and drive it from the server 2026-08-23 13:51:01 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan compare the server checksum against the client's 2026-08-23 13:44:51 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00