View unanswered posts | View active topics It is currently Thu Mar 28, 2024 3:44 pm



Reply to topic  [ 1 post ] 
 Trying to understand the LSA/Death bug 
Author Message

Joined: Thu May 20, 2021 2:04 am
Posts: 272
There has been a bug for the better part of a year now that's affected Life Saving Amulets (and dying in general, without maximus or reditus amulets) where you can often be killed multiple times after reviving.

It's an extremely irritating bug and I've been trying to wrap my head around what could be causing this. I think I'm close to understanding it. First, here's a brief update history from memory for those unaware.


At some point last year there was a bug that EJ had mentioned and fixed during a Discord session. Something to do with the "dead" status on characters and how the client/server communicate and agree on what unit is considered dead. Around the same time, there was a "unkillable zombie" bug where some enemies would die, but their HP would go into the negative values. This would make them "unkillable zombies" and was especially noticeable when rangers would kill monsters in masse with their multi attack. These have been fixed, but not without creating a new bug.

It was around this time that the LSA bug was discovered. Players would die, go to stand up and instantly die again. Normally this would trigger a full death and the player's corpse would be moved back to their home mark and spawn back to life.

HOWEVER, this is not happening.

It is as if the player is being killed again before being moved back to their home mark. The player is "spawning" back to life in the place where they died, attempting to quickly move them back to town from their current location, and monsters with spells that fire off (flamma, beam, animus nex, standing right on top of them and meleeing, etc) will kill them again instantly, causing another full death. Repeat until the player is able to be moved back to their home mark BEFORE the monster's spell fires off and kills them. This can sometimes mean your character will experience multiple full deaths in what should have been one.

It is my understanding that player movement data is sent and received by the server at around 6 times per second. theoretically if you were to receive lethal damage between these 6 frames between you standing up and your player moving back to your home, then you would die again, and again, and again, until the monster isn't able to catch a spell on you in those 6 frames where the server is moving your body from the floor and back to town.

Another thing to consider is that since internet connections are much faster now, the monster AI is more responsive as well. I recall years ago standing up from a death with an LSA and monsters sometimes taking multiple seconds to respond to the fact that I had come back to life, giving you a moment to heal up before being blasted away again. Now since the connection is generally much better, monsters can instantly detect the player is living within those first 1-6 frames and snap cast a spell with no animation, dealing enough damage to kill them again.


This leads me to believe this is a bug that could have multiple causes. More than one would these or any combination could result in being multi-killed after using a Live Saving Amulet:

1) The player is being "respawned" before being moved back home, or within the 6 frames it takes for the client and server to communicate.
2) Monsters with instant cast spells are firing their spell at the same frame as the player would be standing up and being moved from their point of death back to their home town.
3) Connection speeds are much faster now causing monsters to react on frames that they should not be able to, effectively interrupting the communication between the player client and the server casting spells or dealing damage faster than the server is sending the dead player back to town.
4) Players with the "dead" status are still able to take damage somehow (less likely, but possible).
5) The server is still receiving damage packets that have not been received because the player was temporarily dead. When the dead status is removed, those damage packets are hitting BEFORE the player is being moved back home, killing them again. (not enough information available to me to substantiate, just a wild guess)

There could be other causes under the hood that I am not aware of, but this is after carefully watching each death over and over. It may be possible that the reason why EJ is unable to duplicate this bug is that the character he is testing with is something like Corsix and cannot die in a single frame again, or because the details about latency or animation frames have not properly been explained to him yet.

Personally, I think 1, 2, and/or 3 are the underlying cause of this bug. If others can verify or share videos of this bug happening to their characters, that would be greatly appreciated and hopefully this information can help EJ squash this bug.


Sun Jan 16, 2022 5:38 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 1 post ] 

Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.