Phase Gate Bug Ignored?
pricelinenegotiator
Join Date: 2013-02-12 Member: 183005Members
So there's been this phase gate bug for quite a while now, multiple builds. Probably since 259. You just enter a phase gate and have a random chance of being thrown back into the room you came from. No idea why it happens, seems to be random. I've asked and everyone has this issue and it has been happening for a long time. Is this being worked on?
Comments
It started happening when PGs became "predicted" to allow for instantaneous teleportation of your player's body. (instead of waiting for X amount of time, depending on your PC's ability to render the world)
This meant that your body could finally instantly move when phasing, instead of standing still and being killed before your screen updated like it used to be.
Unfortunately this change introduced two byproducts:
1) Aliens and other "entities" in the room are rendered later in the scene than the world geometry which was predicted. Meaning you teleport through instantly and can determine where to go and how to move or be evasive.. but if that room is filled with chaos/ lots of enemies it will take a notable delay to render all of them.
2) When experiencing poor network conditions (server or client) you teleport to the place of origin ... highly confusing to the player.
These two downsides still greatly outweigh the former implementation of a frustrating uncontrollable death, aka "The Meatgrinder" PG.
FYI: This bug was reported 1st September 2013
Welllll.. its not reliable per se.. but high latency / dropped packets can reproduce it if you try again and again and again and again and again ..
It can also happen with no packet loss and low latency
More precisely: There is an intentional delay after a phase jump before a new one is allowed to start. I guess that tracking this delay is started when the server decides that a phase jump should happen - correct? What I would suggest is starting that timer when the server receives this new confirmation message instead, calculated back to the time when the client sent it. This should make a player's view of the intentional delay less dependent on network latency, and prevent jumps from happening without the player's intent.
(To make sure no player gets stuck in the "no phase" state, even if the confirmation message was lost, the server should still consider each phase jump completed after a reasonable timeout.)
Please take a video of this with net_Stats enabled
p.s. and no, its not due to NS2's overall lag compensation. That implementation existed for years prior to this bug existing. The bug happened immediately after the PG was made to be predicted. I'm guessing that its just a simple client > server disagreement on the client's position due to a narrow window or maybe thanks to tickrates that don't match up with update rates. (which leads to poor interpretations of entity positions)
Maybe its more reproduce-able this way, haven't tried that yet.
But it does seem that the majority of times it happens, its with lots of PG activity.
I imagine in this narrow timeframe, should you phase through... it could result in this bug.