mojira.dev
MCPE-65094

Server desyncs from Client, resulting in different states in each

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:

  1. Burning when jumping around lava even though the player does not touch it

  2. Triggering nether and end portals where the player should not

  3. Collecting items where the player should not

  4. Throwing projectiles from the wrong spot (not to be confused with MCPE-31896)

  5. and possibly more

Video Examples (Youtube playlist of 9 videos)

https://www.youtube.com/playlist?list=PLAEj2GCUwNdHVdBCZN1WsdwsYJIqBhrqL

Related issues

MCPE-49664 lit on fire when standing in between two blocks above lava MCPE-64988 Getting set on fire when near lava MCPE-67136 Jumping and/or walking on an edge aboce lava often results in the player catching on fire. MCPE-69294 Lava Glitch MCPE-76149 I get set on fire when near lava MCPE-76823 You Can Randomly Catch On Fire, Or Drown When Next To Lava/Water MCPE-76925 I sometimes get set on fire when walking on stone over lava MCPE-77703 i found a desert temple and broke the pressure plate but the TNT still activated and i lost all my loot MCPE-81780 Player can catch on fire while jumping over lava MCPE-83820 Water and Lava bug MCPE-87354 false prediction of catching fire by player MCPE-87604 Lava bug MCPE-87782 being burned despite lava being 1 block below me MCPE-88022 Lava burning no toutch! MCPE-88448 When you are nowhere near lava/fire, even 5 blocks above it, it sets you on fire. This seems to hapen most often when jumping over it, however you can be nowhere near the ignite source and still be caught. MCPE-88981 Catching on fire when over lava, but not touching lava MCPE-90883 In Multiplayer Looking at someone jumping across a gap sometimes appear that they fell even tho they didn’t MCPE-91193 When i jump on a block over lava i somehow get lit on fire MCPE-91770 The player's position gets desynced on the client MCPE-93891 Lava setting the player on fire without entering MCPE-100550 Fake "Ping" MCPE-101466 Client Side delay different location on host device compared to the players client. MCPE-102760 Jump lag - common problem in multiplayer MCPE-103663 I will randomly catch on fire even if I’m not touching lava or fire, I was bridging in the nether and I was about 2 blocks above the lava and I started to burn. This also happens when I do parkour over lava in the overworld. MCPE-104323 desynchronization between the client and the player MCPE-104655 I caught on fire for no reason MCPE-139873 I was crouching then, I died???!!! MCPE-144279 Catch on fire when playing TNT run when I don't even fell in lava MCPE-150972 lava randomly sets you on fire when you fly/jump over it MCPE-161288 When the player runs on pressure plate above TNT, the coordinate calculation may run into problem MCPE-170729 command setblock and fill bug delay MCPE-179330 Instantaneous Suffocation on land

Attachments

Comments

migrated
[media]
Makzevu

Relates to MCPE-59679.

GoldenHelmet

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).

migrated

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.

GoldenHelmet

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.

Makzevu

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

migrated

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)

migrated

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. 

migrated

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.

migrated

I have a few cases to add, I assume they have the same reason:

 

  1. with gaining damage when jumping over a void gap in the end.

  2. 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.

  3. 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.

  4. 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)

Makzevu

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.

Sprunkles

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.

migrated

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.

migrated

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.

migrated

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.

Makzevu

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-96035https://youtu.be/ecWhja4BJfk

migrated

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.

Makzevu

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.

migrated

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.

migrated

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.

X1Crafts

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.

Spice

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:


MCPE-159055

MCPE-181368

MCPE-180988

MCPE-187072

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.

X1Crafts

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).

X1Crafts

Here is the full analysis by u/Specific-Secret665 on that Reddit post:

[media]

Makzevu

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.

NpBlaster36

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

Makzevu

(Unassigned)

353829

Confirmed

Multiple

1909 (18363.535)

client, server

1.19.0.25 Preview, 1.18.10.26 Beta, 1.18.0.22 Beta, 1.17.40.20 Beta, 1.17.11 Hotfix, ..., 1.18.0, 1.18.2 Hotfix, 1.19.20, 1.19.83 Hotfix, 1.21.71 Hotfix

Retrieved