mojira.dev
MC-811

Massive Client / Server desynchronisation

I tried to use a minecart, right clicked the minecart and pressed the launch button of the railway.
At first glance nothing happened except the minecart has disappeared.
A nearby door opened without anything on the pressure plate.
Attempts to close the door failed, the door reopened immediately.
Breaking the pressure plate didn't help.
While trying do destroy the malfunctioning door suddenly the chunks around me dissolved, eventually the chunk under my feet and I fell into the void, I quitted the game immediately.
After re-entering I found me driving in the minecart quite far away from the starting point.
When driving back to the starting point, everything was like nothing happened: The pressure plate was in-place, the door was shut.

I assume that the server did all right and drove the minecart with me in a correct manner, but the client desynched and did it's own game. Eventually the chunks were unloading and I fell into the void.

The server log has no entries around that time. No Client crash report, no logfile. No screenshot. Issue not reproducible.

Related issues

MC-1089 Minecraft Character Stops, Everything Else Continues [Multiplayer] MC-1122 Character Location bug MC-2656 Occasionally the server will lose track of the client, and the client will continue doing things, but only client side. MC-3048 Items Disappearing MC-3252 Missing items/ lag MC-3431 Position lag MC-3932 Multiplayer Location / Standing still MC-14972 Creates a Chunk error and other side effects MC-15252 Can't pick up dropped items, place blocks, or push buttons MC-15659 Server (lag?) Bug MC-15687 Player on screen moves, player to others is frozen,can't break blocks away from frozen character. MC-15750 Boat Teleport Bug MC-15882 Strange Boats Bug MC-17108 missing water?? in floating on the bedrock?? dafuk? MC-17440 Boats can turn you into a ghost entity MC-33277 Boat causes world to end MC-37261 Arrows offset while in boat MC-40576 Strange boat behavior MC-44251 Breaking blocks while being teleported will not update the game MC-77542 Arrows can't be fired properly from boats MC-89111 Player doesn't burn in lava MC-89112 Hovering silverfish MC-89113 Can't break gravel

Attachments

Comments

migrated
[media][media]
kuemmi

I had a similar thing happen twice while driving in a minecart. Without any interaction, I suddenly stood on the tracks and the minecart drove away at full speed. A while later, the chunks around me began to unload. When I reconnected, I was suffocating somewhere in a wall.

Josef Johansson

Same thing happened to me, minecart just went away and i were standing still, suddenly chunks started unloading and i logged out. Reconnecting fixed the position, a hundred blocks a way.Other players on the server saw me driving away so i suppose it's a client side bug.

MisterSanderson

I was in my boat and it broken without any reason and without dropping anything. I tried to put torches in the ground and can't. When I reopened the world I fallen from the boat.

Devin Lavoie

Apparently this is the same as my glitch , which whenever I reload anything I recently placed will be gone , and everything I recently destroyed will be back , but mine was on creative mode.

Devin Lavoie

A mod told me that it was the same.

Eric

I find it most when I'm walking through a tight hallway or through a doorway and it snaps me back a few blocks, thinking I hit a wall while my client didn't. I keep walking, and suddenly I can't interact with anything. Typing in the chat proves that it isn't server lag, and disconnecting and reconnecting will place me back where I was stuck. I call this position lag because of the difference in positions. It happens most often with partial blocks like stairs, chests, and doors.

MysticMight

I've had the same problem Eric, although for me it happens out in the open (i.e. fields etc.)

Just to be sure, is this the Problem your talking about: (see below link)

http://www.minecraftsurvivalgames.com/threads/1-3-game-ending-killing-glitch-bug.16114/

Short Description:
"All of a sudden everyone sees my player frozen but i can move but cant do anything and if i drop things they come out of my frozen player and my frozen player can attack from there but u will basically always die."

I also get the 'knockback thing'. The F3 menu and running helps prevent it though, temporarily.

It effects versions 1.3.2, and all of 1.4.

kuemmi

You can also see the effect in one of Etho's latest episodes.

Jonathan Rubenstien

I can confirm this will happen on a stone silver vanilla client.

MysticMight

Jonathan, may I ask, what do you mean by "stone silver" vanilla client?

Roman Skrzypiński

A diamond pickaxe with Efficiency V desyncs gravel/dirt/sand, blocks disappear clientside, but the server won't let me go past the space they've occupied. Refreshing the blocks reverts them back into existence.

Minecraft 1.4.6
Oracle Java 1.7.0_10

Yaroslav Sterkhov

After turns cart with me runs visually on parralel line, sometimes it rides above tracks.. after reaching certain speed strange things may happen, like cart stops while I keep moving, or after stop cart sinks into block underneath and I get stuck. Relogging results in showing expected state: cart and me are in place.
Minecraft 1.3.6 -1.4.7
Oracle Java 1.7.0_10

MysticMight

I thought this may be related, (i.e. its about a mod to do with this bug):

"Well, basically the way freecam works is you simply stop sending move/look updates to the server. On the client you're still moving about, but the server never gets told that so it thinks you're just standing there. So all you need to do is take the whole if/elseif block that sends out those packets, and put it inside your own if statement checking if freecam is on."

http://www.minecraftforum.net/topic/1169102-smp-free-camera-mod-help/

Tails

A really good way of reproducing:

  • place a ring of Soul Sand around a Sign above a body of water as seen on the screenshot

  • place a Boat in the middle of the ring by right-clicking the Sign

  • enter the Boat

  • you'll fall client-side into the water and can move around, while server-side you are still in the Boat around the Soul Sand

  • you can leave "Ghost-Mode" by right-clicking or breaking the Boat, which will teleport you from wherever you were back to the Soul Sand structure

MysticMight

Yes, excellent reproduction Mod Tails, i've tested it, and it work every time. Although I had some trouble geting the boat on the sign.

Edit:
Although it only seems to work for those with the glitch.

MysticMight
kumasasa

Still in 1.6.2 with Tails' Soul-Sand-Ring-Boat procedure.

Alexander Gundermann

I've spent some time recently trying to figure out the cause of server client glitches like that. While I can't explain the scenario in the report, I think I do know what's going on with boats and why they are so bugged. There's lots of issues with boats and client/server synchronization in general, so I'll try sticking to the causes of the soul sand setup glitches, which by the way also works with just a single solid block on which you place the boat (make sure there's no adjacent blocks).

First of all, you should know there's an evil flag in the boat class. When set to false, the client takes over the control of the boat on his side. The flag is more than likely meant to be false whenever the player is inside the boat. In MCP it's called "field_70279_a". Think of it like "not ridden by local player" or "give control to server".

1) Boats glitching into the ground
The cause of this is that when the client accepts server updates (i.e. flag is true), it skips collision detection entirely, and just warps the boat to the received location. This would be fine if the positions sent by the server were always correct, but they generally are not due to optimization and bugs. One consequence of this is that when you place a boat on a full block, it will be slightly inside the ground. You don't really notice that because the client doesn't even apply gravity to the boat, at least until you get in and make the client take control of the boat, at which point the collision of the boat with the ground block goes unnoticed (because it's already inside the block), but only by the client.

2) Server/Client split
As pointed out above, once the player enters the boat, and the flag is set to false, the client entirely ignores updates from the server for the boat (without having checked that, I assume when riding something the player's position is synchronized via the vehicle, not the player itself), only the movement commands are now being synchronized, so you still move server-side.
However, there's some indication in the code that the player ridden boat is still supposed to accept position updates, but only if the discrepancy is more than 1 block. On the other hand, they could have changed it in hindsight because the movement might have ended up being jerky if the latency was high. So I guess this is either an unintended error, or the (possible unintentional) consequence of another bugfix.

3) Ghost boats
Once you leave the desynced boat, you'll notice that you (the player) returns to the correct server-side position while the boat is still off. That seems to be because of an error (in NetClientHandler) which causes the flag to stay false, even after the player leaves the boat. So any boat you enter and leave will essentially become a ghost, because the client starts ignoring updates from the server and does his own thing. Apart from restarting the game / reloading the entity, this false state is only corrected when another entity enters the boat.

I also made a mod to fix related issues: https://github.com/taurose/Unglitch . At the moment, it only fixes 1) mentioned here. I might do some more tests to figure out a clean way to fix the other issues as well though.

Ezekiel

Is this still a concern in the latest Minecraft version 13w42b? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.

Anthony Martin

Still observed in 1.7.2 SMP boats. Big problem for our ocean spawn server.

Jeffry R. Fisher

I fell into the void yesterday riding a boat in v1.7.4 (client downloaded 4-dec-13, and server set up ~14-dec-13. As a matter of client-server protocol, the client should always know if it has failed to get a "chunk" and refuse to act upon NUL data. It should never drop a player into the void because "the world disappears", and such a drop should never then be accepted by the server.

Scott Barnkow

Same issue in 1.7.4 SSP. This issue makes travel by boat impossible. I can sail for perhaps 3-4 chunks before new chunks on the horizon stop loading. If I travel to this world edge and step out of the boat, I am returned to within 1-2 chunks of where I started, and my boat is another chunk or two out to sea. Evidently the game doesn't recognize I am moving, and ceases to update my location or load new chunks.

For emphasis: this is game-breaking, as I can never leave an island, or explore another continent.

Ezekiel

I've never had this issue, I boat across oceans on my server all the time without issues (1.7.4)

Neil Wightman

Boat desync still in 1.7.4, nearly 18 months of seeing this and its still not possible to use boats.

What do you need to know to fix this?

Ezekiel

Maybe the reason it's not fixed is because th issue isn't as wide-spread as you think. Again, see my comment above yours. Not everyone is having this issue at any scale.

Ezekiel

Is this still a concern in the latest Minecraft version 14w30c? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.

kazblox

Partially fixed in 14w31a, Tails ring sign procedure no longer works but there are still some other ways to do this bug

galaxy_2alex

I'm just going to say "boats" and reopen this.

user-f2760

the boats were fixed in the 1.9 snapshots, does it still happen with anything else?

kumasasa

(Unassigned)

Confirmed

client, desync, server

Minecraft 1.4.2, Snapshot 13w02b, Minecraft 1.5.1, Minecraft 1.5.2, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 1.7.2, Minecraft 1.7.4, Minecraft 1.8, Minecraft 1.8.1-pre3

Retrieved