retrooper / packetevents

Precision meets performance—a powerful tool for mastering Minecraft packet manipulation with speed and finesse.
GNU General Public License v3.0
565 stars 154 forks source link

PacketEvents missing handshake packets, therefore missing client version #253

Closed MWHunter closed 2 years ago

MWHunter commented 2 years ago

[20:41:08 INFO]: [packetevents] Client version is null, setting to UNKNOWN [20:41:08 INFO]: [packetevents] Transitioned 69.80.187.66:37613 into the LOGIN state! [20:41:08 INFO]: UUID of player DefineOutside is aadd63d0-e545-4cc2-8449-734a6dba0b85 [20:41:08 INFO]: [packetevents] Mapped player username with their channel. [20:41:08 INFO]: DefineOutside[/123.456.789.123:37613] logged in with entity id 154 at ([AnticheatTest]47.9184316663232, 5.0, -32.849909931397406) [20:41:08 INFO]: Welcome DefineOutside!

I added some debugs. My guess is that the packet type is null.

MWHunter commented 2 years ago

I would personally blame ViaVersion for causing this. I've worked around this issue by having packetevents query UNRESOLVED client versions until it gets a response from protocol hacks. Unless this can be reproduced without protocol hacks, I'd assume that the issue would be fixed?

retrooper commented 2 years ago

It is not great that ViaVersion won't give us the correct version, but another point is why are we missing any packets at all. I'll be looking into this.

retrooper commented 2 years ago

I believe this has been fixed, enabling late-bind in Spigot(legacy versions) fixes packetevents missing any packets. Encourage your 1.8 users to enable that, or else we will miss packets from early-connecting players as the server is still starting up. Late-bind waits till everything is ready, then allows clients to connect.

retrooper commented 2 years ago

Client-version stuff should also be fixed.