ModernUO/Projects
Kamron Batman 9da1d2e8ef perf(network): skip the redundant password verify on game login
A full login hashed the password twice: once on the account login packet
(0x80) and again on the game login (0x91). The second one re-authenticates a
session authenticated milliseconds earlier, in the same process -- the auth id
guarding it is only issued by PlayServer, which is reachable only after the
first verify succeeded.

Now that the id is bound to the account and address it was issued to, matching
it is proof enough. Per-login game loop cost drops from ~17ms to ~8.5ms.

An id that is unknown, expired, or from another address is treated as an
invalid client and disconnected, which is what an unknown id already did. An id
that is live but issued for a different account proves nothing, so that login
falls back to verifying the password exactly as before.

Also adds the missing return on the unknown-id path, which previously fell
through with a default entry and nulled the client version.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 00:18:10 -07:00
..
Application fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
BuildTool fix: Require only runtime packages on Linux, and check ICU and tzdata the way the runtime does (#2561) 2026-08-07 15:03:08 -07:00
Logger fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
Server fix: Require only runtime packages on Linux, and check ICU and tzdata the way the runtime does (#2561) 2026-08-07 15:03:08 -07:00
Server.Tests feat(network): allowlist false-positive IPs, escalate on behavior (#2556) 2026-07-30 23:12:17 -07:00
UOContent perf(network): skip the redundant password verify on game login 2026-08-08 00:18:10 -07:00
UOContent.Tests perf(network): skip the redundant password verify on game login 2026-08-08 00:18:10 -07:00