Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client not following the correct sequence #949

Open
Robbilie opened this issue Jan 5, 2022 · 6 comments
Open

Client not following the correct sequence #949

Robbilie opened this issue Jan 5, 2022 · 6 comments

Comments

@Robbilie
Copy link
Contributor

Robbilie commented Jan 5, 2022

[ x] The FAQ doesn't contain a resolution to my issue

Versions

  • minecraft-protocol: ^1.29.1
  • server: vanilla 1.18.1
  • node: v16.8.0

Detailed description of a problem

https://wiki.vg/Protocol_FAQ#What.27s_the_normal_login_sequence_for_a_client.3F

I am trying to debug an issue where when i connect to a proxied server i always initially spawn inside the floor, just to be "teleported" to the correct position microseconds afterwards.

In the flow of packets the client sends the settings -> custom_payload -> held_item_slot -> position_look commands.
While the custom_payload and the settings are expected (although in different order) the other two are kind of unexpected and the position_look command seems to show the issue with the spawning inside the floor:

{ size: 34, name: 'position_look', state: 'play' } { x: 8.5, y: 65, z: 8.5, yaw: -180, pitch: 0, onGround: false }

It is always the same position it seems, at least around that area. The world spawn is nowhere near that position.
I dont really understand why the client is apparently sending its position to the server without even having chunk data at hand.

Although this kind of seems like a client issue, maybe this is triggered by some issue with the packets in the sequence before? Or some missconfiguration on my end?

@Robbilie
Copy link
Contributor Author

Robbilie commented Jan 5, 2022

Connecting to the proxied server (online-mode: false) doesnt show the issue, the client seems to immediately spawn in the correct position. Maybe its just not noticable though…

@Robbilie
Copy link
Contributor Author

Robbilie commented Jan 5, 2022

https://www.cubecraft.net/threads/rejoin-command.295241/post-1377615

Someone apparently also noticed the "fallback"

@Robbilie
Copy link
Contributor Author

Robbilie commented Jan 5, 2022

It seems holding back even the first clientbound position packet until after the world border was initialized helps

@Robbilie Robbilie closed this as completed Jan 8, 2022
@Robbilie Robbilie reopened this Jan 9, 2022
@Robbilie
Copy link
Contributor Author

Robbilie commented Jan 9, 2022

okay now i found the second case where the events emitted are most certainly not in the correct order. is there a way to emit them in the actual received order, synchronize them somehow?

@rom1504
Copy link
Member

rom1504 commented Mar 13, 2022

I don't understand what you are saying

nmp is definitely sending packets in order and tcp is delevering them in order

@Robbilie
Copy link
Contributor Author

I think the event emitter was emitting out if order, or at least it seemed to be that way. I don't quite remember if I am still facing this issue or wether i solved it somehow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants