Check out all of the details of this month's Patch Notes, featuring the Mini-games + Quality of Life Update! https://mabinogi.nexon.net/news/91106/mini-games-quality-of-life-update-patch-notes-april-11th
[NEW MILLETIANS] Please note that all new forum users have to be approved before posting. This process can take up to 24 hours, and we appreciate your patience.
If this is your first visit, be sure to check out the Nexon Forums Code of Conduct. You have to register before you can post, so you can log in or create a forum name above to proceed. Thank you for your visit!

Server-client NPC movement speed desync

NerezzaNerezza
Mabinogi Rep: 685
Posts: 22
Member
in Bugs and Glitches
Let me preface this with the following: This is a bug I first observed years ago in Nowhere to Run Elite. I've observed it during every run since then, on multiple different computers connected to the game over multiple different ISPs as my hardware and home changed since my first observation, so it's likely unrelated to my hardware or internet connection.

The bug:
During Nowhere to Run on Elite difficulty, the zombies have a speed modifier applied when they aggro the character so that they shamble towards you faster. However if they're in the middle of their random shambling around at normal speed, they instead appear to aggro and shamble towards you at their normal speed.
This is where the desync begins; the server is simulating the zombie's movement at the proper faster speed but either the server doesn't tell the game client to increase the zombie's movement speed, or the client ignores the message from the server. The result is that server-side the zombie is being simulated at its faster speed, but client-side the zombie is being shown moving at a slower speed. The zombie's position is rapidly desynced between the two as they both move the zombie towards the player at different speeds, and ultimately the zombie often appears to teleport many meters to the player to pull off an attack because in the server simulation it has gotten close enough to the player for an attack.

Reproducing/observing the bug:
Because of the amount of zombies in NtR Elite this bug is pretty easy to observe if you know what you're looking for. Just casually kill zombies off and pay attention to how the already-shambling zombies that aggro you move once they begin to chase you. They'll remain at their slower speed and if you try to keep some distance between you and them, they'll eventually teleport in for the kill like a ninja. Unfortunately despite how easy it is to observe, I'm not able to edit and upload a video showing it atm. Honestly I've never had developers require video evidence of a desync/animation bug before, I'm not really set up to do this atm.

Final observations:
I think it only manifests for mobiles that speed up their movement without changing the animation being used, and I'm pretty sure this issue isn't limited to just the zombies in Nowhere to Run Elite, but almost all other mobiles in the game use different animations for slow movement (walking) and fast movement (running) so I can't name another mobile affected by this bug off the top of my head. Perhaps the server doesn't send the speed update packet to the client because it sees the packet also contains the same animation already being used and assumes it's a duplicate and discardable packet?