Whenever the server (online or internal) lags, the client's position might be offset server-side. If the position is greater than a half of a block, the server-side player will snap back to the client's position after some time. However, since the server-side player also experiences world effects (like gravity and slime blocks), the player can enter many unintentional states such as the following:
Burning when jumping around lava even though the player does not touch it
Triggering nether and end portals where the player should not
Collecting items where the player should not
Throwing projectiles from the wrong spot (not to be confused with MCPE-31896)
and possibly more
Video Examples (Youtube playlist of 9 videos)
https://www.youtube.com/playlist?list=PLAEj2GCUwNdHVdBCZN1WsdwsYJIqBhrqL
Related issues
is duplicated by
relates to
Attachments
Comments


Relates to MCPE-59679.

This can cause player's inventory items to drop a few blocks below the place of impact upon death from falling, giving the appearance that they have been deleted. See MCPE-48370 (Case C in the description).

I am interested to know what would happen if the device from the 2nd teleportation example were used in conjunction with the desync procedure involving boats detailed in MCPE-59679.

Confirmed based on linked videos. Writing out steps for each situation would be too tedious. Among other things, the videos show that a player can catch on fire and enter a portal when he should not be able to based on his position on-screen.

Sorry for the late response, @unknown. Running the command "/tp @s @s" will teleport the player under boats when they're floating up.

This is really interesting because I get issues like the lava examples in my singleplayer worlds. My breath meter will also flash when I walk on an edge near water. (1.14.60)

I recommend you include a video about a player taking knockback. You will notice in versions 1.13+ that the player taking the knockback is very jittery and can frequently lag back.

Can confirm this is still present in 1.16.1, although it seems to have gotten worse. There was a full block between me and lava, yet I still caught on fire.

I have a few cases to add, I assume they have the same reason:
with gaining damage when jumping over a void gap in the end.
having commandblocks trigger when the client side is still on top of a parkour buy the server side detects te player on the ground (with commandblocks in this case. For some reason it also happens instantaneous even if the player is many blocks above the location it’s detected. So I conclude the player isn’t falling down due to no input from the client side. But something else is actually happening.
also a levitation commandblock giving the effect to all players directly above for example a diamond block is a great way to see this issue. Because the client side will sometimes gain the effect when in midair.
jumping over a lava ravine or building or parkouring in the nether and randomly getting firedamage.
I did not yet encounter the same issue on the x and z axis. But I really hope it will be fixed. I had to add delays of 10 ticks to all the death detect systems of my minigames to fix this. And in survival it gives many issues.
I have seen no cases of dying of falldamage btw what makes it more likely the player isn’t just left out of control where it was when the delay occurred.
(the glitch is visually visible on the server side at least)

For reference, fall damage in Bedrock Minecraft is handled client-side, meaning that the player will only take damage if it's possible on their screen, not the server.

As requested from MCPE-91770, I attached a new world for reproducing the bug.
There are two dots that can be toggled on and off by a row of command blocks. The red dot is the player's position on the client, and should always be beneath the player. The aqua dot is the player's position on the server, and does stray from the player upon moving in certain ways. Some fun things to try while the server position is desynced:
Teleport yourself to yourself:
/teleport @s @s
Catch the server position dot against the corner of a block, or have it fall off a block.

The unfortunate part about this is that the issue mainly persists in all normal worlds, which have forced server authoritative movement. the BDS changelog states that server authoritative movement is recommended to be turned off as it is still buggy. I believe this same framework for movement is enabled by default on normal worlds.

This issue seems to be much more common in 1.16.100. It seems that fall damage is now possible even when it does not appear so client-side.

The player can also sometimes be hit by a mob earlier or from farther away than usual, or the player's hit might not register correctly. This is more noticeable against fast mobs like the phantom, but is hard to test because it doesn't always happen. It can happen with any mob, but you need to be looking out for it since it is subtle. For example, a zombie might hit you from the same distance you can when you run towards it. The most recent case I got of this is I could not hit a sheep right after I had just hit it (it was not red, so was out of its invulnerability time, and I was within 3 blocks of it). I was able to hit it on my second try. I do not know if this is part of this bug or caused by MCPE-97408. It could also be a more subtle and weaker version of MCPE-71243, where the player might see a mob a very small distance from where they are actually at. This could explain why the sheep might not have been hit, as in the world I could have actually been, temporarily, slightly out of range. Desyncing from server could have also caused this though. I have noticed this in 1.16.100, but it probably was in the game earlier than this. It could be part of the cause of MCPE-94726.

Yeah @unknown. It seems that fall damage is handled server-side now, and due to general server lag along with MCPE-65094, it looks like this is a likely cause of MCPE-105490. Apparently this can even happen on the featured servers when walking down stairs (tested on Hive Treasure Wars), which is a place where server authoritative movement looks to be turned off.
This video only shows tests performed on a single-player world, combining the results of MCPE-105490 and MCPE-96035: https://youtu.be/ecWhja4BJfk

When you're playing a parkour map and you're jumping above gaps you take fall damage every once in a while due to player desync. I see this in my friends world he will abruptly fall through something then snap right back where he fall at. this is on the version 1.16.201 hot fix. This player desync happens VERY VERY often.

Apparently, non-ladder climbable blocks (scaffolding, twisting vines, and weeping vines) put the player into a kind of "Climbing State" that is handled purely server-side. This means that if a lagging player where to enter a non-ladder climbable block, they could fall all the way to the bottom. The same applies to when a player leaves a one; they would be able to climb upwards outside of the block's hitbox client-side as long as their server-side position is within the hitbox.

I've experienced this issue even on single-player worlds. I made a parkour course with water that teleports the player to their recent checkpoint in a KitPvP map I'm working on, and as a result of this bug, I've been teleported back to my checkpoint even though I didn't even touch the water at times. So Mojang, if you are seeing this, please please PLEASE fix this issue.

This bug is also relevant for the /execute ~~~ detect command. It activates when clipping a block and runs the block way below rather than the block you land on.

Is it possible that this bug causes many of the "instant fall damage deaths" that Bedrock is known for? If so, fixing this bug should be a priority before releasing hardcore, because client-server desyncs happen much more frequently on consoles, and other low-powered devices.

This issue has existed for such a long time and has been making hardcore impossible to play for longer periods of time. It hints at a particularly faulty programming of the bedrock server side, and of client-server communication. It has to be fixed.
Also, the issue report only has 1 vote? So many people have complained about server-client desync, yet no one actually votes for the fixes to be implemented. Please vote for this, and all its related reports:
Servers are integral to the minecraft experience, yet the code that makes them is built with major faults. Bring this issue up to the forefront, before the code is expanded and these bugs become harder to fix.

One major cause of the server desync problems, particularly those introduced in 1.21.60 is the Server Authoritative movement changes that broke things like PVP, elytra, projectiles, and many other issues:
[media]Also, according to u/Specific-Secret665 on reddit, these change to Server Authoritative movement were made in an attempt to prevent cheating but have resulted in even bigger issues with normal singleplayer and multiplayer gameplay. In conclusion, The Server Authoritative movement changes should be completely reverted, and more emphasis should be placed on fixing this issue (MCPE-65094).

Here is the full analysis by u/Specific-Secret665 on that Reddit post:
[media]
The Mojira migration is still in progress. Legacy votes don’t seem to have carried over for this ticket just yet (it had over 133 votes according to the Wayback Machine).
I haven’t done testing in a while, but the Reddit post seems to match the client-teleporting behavior that I experienced in the 1.13 betas. To my knowledge, the changes were reverted just before 1.13 released, but they don’t seem to have been reverted this time.

Walking backwards while eating/drawing bow also seems to snap the player by half a block.