Open ozzt opened 5 years ago
To work around this, I am currently using teleport_player
which accepts an absolute position unlike position_update
.
This is kind of wack, I don't understand how a movement packet could have a change that is greater than 128 in a single movement packet -- yet I think you can solve this by clamping the value from -127 to 128? Unless this is a more deeply rooted bug. I'm not currently maintaining this project but I'd be thankful if you'd send a pull request fixing this issue (if my aforementioned idea fixes the issue [make sure you do the same to the other values as well])
Following up: this is supposed to be solved by splitting the movement into movement packets that sum up to the total delta. For example, 136 would result in a packet of 128 being sent, then a packet of 8.
How to reproduce
The error doesn't occur if there's only one client connected to the server. Reproduced on ClassiCube 1.0.3 beta and dazed-sheep 1b6fb0f node.js v10.15.0
Thanks.