Fix player list not showing all players on dedicated servers
Register remote players in the client's IQNet array when their AddPlayerPacket arrives, so they appear in the Tab player list. Previously only the host and local player were registered. Also filter the dedicated server's phantom host entry (slot 0, empty gamertag) from the UI, fix tick() to update entries by smallId instead of sequential index, and fix player removal to use gamertag matching since XUIDs are 0 on dedicated servers.
This commit is contained in:
1 parent
d292190aae
commit
6a21637e75
3 files changed
+72
-17
No files matched your search
@@ -14,6 +14,11 @@ This project is based on source code of Minecraft Legacy Console Edition v1.6.05
|
||||
|
||||
## Latest:
|
||||
|
||||
Dedicated server player list fix:
|
||||
- The Tab player list now correctly shows all connected players on dedicated servers. Previously only the local player was visible because remote players were never registered in the client's network player tracking when their `AddPlayerPacket` arrived
|
||||
- The dedicated server's phantom host entry (slot 0, empty name) is now filtered from the list
|
||||
- Players are properly removed from the list when they disconnect, using gamertag matching since dedicated server XUIDs are not available on the client
|
||||
|
||||
SRV record support and async join refactor:
|
||||
- Added DNS SRV record resolution (`_minecraft._tcp.<hostname>`), matching Java Edition behavior. Players can connect using just a domain name (e.g. `play.example.com`) and the client will automatically look up the correct server address and port from DNS
|
||||
- Refactored the async server joining system: replaced boolean flags with a clean `eJoinState` enum state machine, moved connection progress handling into a dedicated `UIScene_ConnectingProgress` class with attempt counter and cancel support, and added a `FinalizeJoin()` separation so the recv thread only starts after the UI confirms success
|
||||
|
||||
Reference in new issue
Block a user