mirror of
https://github.com/layue13/MoonBridge.git
synced 2026-10-25 18:46:18 +00:00
Record direct Uranium login isolation check
This commit is contained in:
1 parent
db520df97f
commit
b70dd6965c
1 file changed
+2
@@ -13,3 +13,5 @@ Date: 2026-09-26 (Asia/Shanghai). The installed StrataProxy plugin smoke used tw
|
||||
In Uranium's `NetworkSystem.addLanEndpoint`, `networkManagers.add(networkmanager)` runs inside the Netty channel initializer, before the manager is added to the pipeline and before `NetworkManager.channelActive` assigns its `channel`. Concurrently, `NetworkSystem.networkTick` removes any manager for which `isChannelOpen()` is false; that method returns false while `channel` is null. The tick can therefore remove a newly accepted manager before it becomes active. `C00Handshake.hasPriority()` is true, so the handshake can still be handled on Netty I/O, while Login Start is queued for `processReceivedPackets()` on the server tick. If the manager has already been removed from the tick list, Login Start can wait indefinitely without a `Login attempt` line. `NetHandlerHandshakeTCP.onDisconnect` is empty, so an early close may also leave no player-specific log.
|
||||
|
||||
This interleaving matches both observed stalls, but no failing run directly recorded removal of a manager before `channelActive`. It is a hypothesis, not a proven root cause. The next discriminating check is a disposable Uranium build that records manager registration, activation, and removal by connection, or registers the manager only after activation and compares repeated runs under the same smoke conditions.
|
||||
|
||||
An isolation check bypassed StrataProxy and sent protocol-5 Handshake and Login Start directly to one fresh Uranium process 50 times (`build/direct-uranium-7e2025db389e4ef6bc6e6dcacf8aa2c8`). All 50 received Login Success, and Uranium logged 50 `Login attempt` lines. This shows the backend can process the same basic protocol without the proxy; it does not rule out a timing-sensitive Uranium race or identify a proxy-specific defect. The temporary client script and server logs remain in ignored `build/` directories.
|
||||
Reference in new issue
Block a user