1.12.2 Player Attunement doesn't work on high ping
Nyghts opened this issue ยท 7 comments
Version: 1.10.22
Modpack: MCEternal Lite
Forge Version: 14.23.5.2847
Ping: Varies between 600-800
Expected Result: I walk into the light from the attunement altar with all the required steps done, the floating cutscene occuring and the attunement process occurring with the end landing me on the altar again, attuned to Aevitas and the advancement "I can see the light" being obtained.
What actually happens: I stand in the middle of the attunement altar and the cutscene starts, the camera flings around and I don't get lifted up, the lights proceed as normal and when the process is supposed to be finished, the camera flings around again and nothing occurs. No attunement, no advancement, no perk access.
EDIT: Occasionally I can get the full panning animation to play but it still doesn't attune me.
No. the whole process waits 1000 ticks until the player reports "i'm done with the animation".
Setting this to 0 meant that it'd always fail.
What you're looking for is somewhere around here:
the camera flight starts and when it's finished it'll run
Which ultimately sends the packet to the server asking for attunement. all you'd probably have to do is, instead of running the cameraflight and misc. particle effects, wait 5-10 ticks, and then send the packet.
receiving end on the server:
I do want to say if anyone comes up with a fix and needs a means of testing it please let me know and I'll be happy to help with my awful internet.
That's some massive desync. I really don't think there's anything that can/should be done about that on this side, tbqh. 600 ms is more than half a second, which is crazy.
Try a VPN to improve your ping?
Yeah its a large amount of ping and sources from having satellite internet, which no matter what VPN I use, its not going to be improving much of anything (I actually usually play on one) I ended up having to just use the command to fix it but figured the issue needed reporting anyways.
A VPN won't shorten your path to the server and definitely would not make your packets reach that sattelite any faster.
I'll dig into the code to see if I can find anything relevant.
@Doomgull
Could having a config option that makes player attunement instant to remove high ping shenanigans solve this?
The whole process normally lasts 1000 ticks as seen up there, such a config could switch it to 0. The server tries to sync with the client the whole way through so maybe that's why things get off the rails on high ping.