ModernUO/Projects
Kamron Batman e5b7161a71
fix(network): expire auth ids into a verify, and reclaim abandoned ones
Two problems with the first cut.

An expired id disconnected. Before any of this existed the game login always
verified the password, so that turned a slow player into a lockout for no
gain. A player can sit on the server list as long as they like; expiry now
falls back to the password verify that was always there. An id for the wrong
account or the wrong address is a different matter -- that client is not ours,
and there is nothing there worth checking a password against.

Ids are only consumed by a game login, so anyone who reaches the server list
and never picks a server abandons theirs. Nothing reclaimed those: the lifetime
was only consulted on lookup. 128 abandoned logins filled the window and the
eviction path then started discarding ids that live clients were still on their
way to redeem. Issuing now reclaims expired entries before evicting a live one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 00:35:54 -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 fix(network): expire auth ids into a verify, and reclaim abandoned ones 2026-08-08 00:35:54 -07:00
UOContent.Tests fix(network): expire auth ids into a verify, and reclaim abandoned ones 2026-08-08 00:35:54 -07:00