badasintended / wthit

what the hell is that?
https://docs.bai.lol/wthit
Other
123 stars 20 forks source link

Connection lost with no explanation when connecting to a server #132

Closed luaxlab closed 7 months ago

luaxlab commented 2 years ago

Describe the issue

Reproduce: Set up dedicated server running wthit 4.9.1 and client with 4.10.0. Connect to dedicated server Expected behaviour: Client connects to server as usual and gameplay starts. Actual behaviour: Everything works fine until approximately "Loading terrain" stage, at which the client will drop to a "Disconnected" screen without further information. Log contains no errors whatsoever If the client uses 4.9.1 instead, or no wthit at all, no problems occur.

How is that a problem? Servers usually do not receive daily updates and server owners can't be forced to do so. If I have the newer version on my client installed I will be kicked out of the server without knowing WTHIT is the reason.

I have not found any text saying that this is a known problem, thats why I'm reporting this.

Log output

https://gist.github.com/luaxlab/9f58c41a055685f9e0486b441938d520

Additional context

No response

deirn commented 2 years ago

Hmm, it's supposed to show this message but I guess the version packet wasn't being sent reliably. javaw_3RWXE7ZFaO

deirn commented 2 years ago

Try this https://github.com/badasintended/wthit/suites/6387761730/artifacts/232177921. From my test (trying to join the old server a dozen times), it shows the mismatch message all the time now, before it just shows for the first try unless I put a breakpoint on the server.

luaxlab commented 2 years ago

I've tested the artifact you specified. On the first try, it still shows "Disconnected", whereas on second try onwards, it shows the intended message.

deirn commented 2 years ago

That stinks. The proper fix would be to wait for the client to send a version packet to the server before sending config packets, but that requires changes to the server side.

deirn commented 2 years ago

Hm, tried it and I can't reproduce the empty Disconnected screen anymore... I'll release the commit as-is and pin this issue and see if other people experienced this.