Bug: Severe flaws in the server side authorization for The Nurse's power
Bug #3673
Severe flaws in the server side authorization for The Nurse's power
| Status: | Open |
| Priority: |
Critical |
| Added by: |
|
| Assigned to: |
Unassigned
|
| Due date: | |
| Reported for: | |
| Actual Result: |
The Nurse is buggy after server validation, many blinks lead to your momentum being killed and position slightly readjusted despite being in a valid position, time required for blinking certain distances can vary based on ping, blink time window is too strict.
|
| Expected Result: |
The Nurse is able to blink seamlessly and smoothly, the server validation will not incorrectly adjust the player's position, the time it takes to blink certain distances should be consistent and any valid blink possible on the client should be accepted by the server.
|
| Severity: |
Blocker
|
| Reproducibility: |
Always
|
| Platform: |
Steam
|
| Additional Notes & Comments: |
Not set
|
Steps to Reproduce
- Reproducing the chain blink time window bug:
- Play as The Nurse
- Wait for both blinks to be charged
- Blink once
- Immediately start charging the chain-blink (second blink)
- Wait until the very last moment to use your chain-blink (second blink)
- If timed correctly the server will reject your blink
- --------------------------------------------
- Reproducing the regular blink setbacks:
- Play as The Nurse
- Blink until you experience the server incorrectly correcting your valid position
- Notice that your momentum is completely gone for a period of time after this correction
Explanation
This is an explanation of how the current server validation with The Nurse's blink ability is flawed and severely handicaps the ability.
Chain Blink:
The server validation attempts to prevent you from chain blinking if out of the time window. However this time window does not take into account the player's ping, it leads to cases where the player is able to chain blink client side but the server believes their blink duration has ended, the server will then falsely lag the player back assuming unfair play. Depending on the timing of the player releasing their blink, they can experience two different results outlined below, both of which heavily affect gameplay.
The blink is released extremely late and the blink is prevented, you start the blink animation client side but never begin the blink movement as the server forces you to be fatigued.
The blink succeeds but the server forces you to be fatigued mid blink, this causes you to be lagged back multiple times extremely aggressively, you can end up not being able to move for an extended period of time.
The solution is to simply be more generous with the blink time window and at the very least, add the player's ping into the time window. I have attached videos showing these false flags and last minute blinks that should totally be possible.
Validation Delay:
The current validation will often try to correct your position and kill your momentum at the end of a blink even if your position did not need to be corrected. This significantly hurts the overall experience and is essentially a massive nerf to The Nurse because it slows you down and makes gameplay feel clunky. The validation also makes people need to charge their blink for a longer period of time to blink certain distances, this period of time scales with their ping, the higher someone's ping is, the longer it will take for them to blink through the same object. The solution to these problems is to simply fix the check for whether the player blinked into an invalid position and trust the client when starting blinks. The player should only be set back to a previous location if the end position is invalid and legitimate game clients will never blink into an invalid position anyway. I have attached videos showing the setbacks that should not have happened and the massive difference in the blink time after server validated blinks.