games647 / FastLogin

Checks if a minecraft player has a valid paid account. If so, they can skip offline authentication automatically. (premium auto login)
https://www.spigotmc.org/resources/fastlogin.14153
MIT License
494 stars 121 forks source link

1.20.2 Fix #1101

Closed SzczurekYT closed 11 months ago

SzczurekYT commented 11 months ago

Summary of your change

Before fast login had support for two variants of the start login packet - before and after 1.19. But since then the packet has changed two times:

While figuring out what broke I accidentally found out that 1.19.3+ should have a proper implementation so I added it too. Here is an image on how the start login packet has changed since 1.18.2. loginpacket

Related issue

Fixes #1095

games647 commented 11 months ago

Thank you very much for the changes. Do you know if the new "Login Acknowledged" (Client -> Server) causes any issues? In theory this packet gets received before we send the fake packet to the server. Maybe it already works due to re-ordering.

SzczurekYT commented 11 months ago

I don't know but I deployed the updated version of fast login on a 1.20.2 server with around 10 people and I didn't have any issues yet.

games647 commented 11 months ago

Spent some time with it. Seems like it already works as intended, because the server (not we) sends the Login Success packet. Therefore, the client sends the acknowledge packet correctly after it.