Client-server Action Synchronisation

While playing cyclone-discharger build I noticed that desyncs are pretty much guaranteed to happen if I "cut corners" so to speak - ie. whirling close to corner is instant desync while going around it in a wider circle does not. Which leads me to speculation that server side simulation is not using geodata for predictions or only some sort of reduced,less precise set.
"
rpgmaniac wrote:
...is this indeed a problem money can solve?

If you 'ave problem zat cannot be feexed with money, it can only be feexed with lots of money :)





(Sorry, couldn't resist to quote "Black cat, white cat" here)
May your maps be bountiful, exile
"
Nicholas_Steel wrote:

"
TheNightFly wrote:

Not sure if this has been suggested before but, when the client updates from the server and finds itself to be significantly out of sync, it should undo all the damage done in the interval that "couldn't have happened", for both the character and the mobs, and perhaps include a few milliseconds of "god mode" after the "rubber-banding" to give the player time to react to the new situation.

People would just unplug themselves from the router or use software to momentarily halt internet connectivity to exploit it. Very easy stuff for anyone to do too.

Yes but it wouldn't give them an advantage?
"
TheNightFly wrote:
"
Nicholas_Steel wrote:

"
TheNightFly wrote:

Not sure if this has been suggested before but, when the client updates from the server and finds itself to be significantly out of sync, it should undo all the damage done in the interval that "couldn't have happened", for both the character and the mobs, and perhaps include a few milliseconds of "god mode" after the "rubber-banding" to give the player time to react to the new situation.

People would just unplug themselves from the router or use software to momentarily halt internet connectivity to exploit it. Very easy stuff for anyone to do too.

Yes but it wouldn't give them an advantage?

My bad, I misread what you said. In order for that to be effective you'd have to rewind time, so to speak, as well. Simply undoing damage/reviving dead stuff wouldn't really help as that would just result in the player being surrounded by everything once the client recovers, and a few milliseconds wouldn't be enough time to properly react to the sudden resync.

Currently the client resyncs when certain parameters have been met, the client is never informed of when it is out of sync with the server because of the current network model. They'd need to use a completely different network model for the client to detect exactly when it has gone out of sync from the server and such a network model involves the client not responding to player input until after the server has confirmed the input is okay... and this process results in the client feeling fairly unresponsive to the player if their latency is 100ms or worse if higher.

GGG has already indicated they have no plans to switch the network model their using because they like how the current model creates a responsive experience, even if it does go a little whack every now and then (out of sync). Everyone with 100+ms latency probably also would be against the switch.

That uh second paragraph of mine, might be slightly wrong there as it gets a bit complicated for me :o
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD
Last edited by Nicholas_Steel#0509 on Mar 23, 2015, 2:09:38 PM
What if there was some way for us to see where the server character is? Something like, hitting F2 shows a red circle of the character's actual location. This way we can know when we haven't actually moved to where we see that we are.

As a cyclonist, desync is a way of life. While there are certain clues that it is happening ( monsters choosing bad paths ), I do believe something like this would help.
Last edited by LowestOne#2850 on Mar 26, 2015, 11:56:36 PM
"
LowestOne wrote:
What if there was some way for us to see where the server character is? Something like, hitting F2 shows a red circle of the character's actual location. This way we can know when we haven't actually moved to where we see that we are.

As a cyclonist, desync is a way of life. While there are certain clues that it is happening ( monsters choosing bad paths ), I do believe something like this would help.
If that was possible, wouldn't you have the character appear at that location in the first place?
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD
"
If that was possible, wouldn't you have the character appear at that location in the first place?


From what I understand, it is possible. In fact, the reason that we do not see the server character is on purpose. If we played where the character actually is, then there would be a lag in our actions. We get instant responses to our clicks at the cost of those responses not necessarily being actual.

There are cases where I have seen server positions as well. If a monster 'desyncs' its way away from a shrine, it will maintain an aura. Likewise, a desynced necrovigil may maintain a 'cant-be-killed' aura even though it appears to not be near its dearly departed family member. I have also desynced while having an active shock-nova shrine, and the position of the shock-nova was not centered at my character.

I'm not saying I'm an expert, but cyclone has taught me a lot about desync behavior. My character simply isn't where it appears to be, so part of surviving is looking for signs of desync and keeping the fingers on the health positions.
This is surly no hatepost but why the hell do you still implement fast movementspeed monsters?
We all know about the problems around PoE and that there is still a long way to go down the out of sync road.
You should realize that you can do something right now. Time is ticking and why not give your players a fine experience asap?

Stop implementing leapers/chargers/high movement speed monsters as long as you cannot handle the desyncs.
Most problems would be solved.

I know you got alot of calculations going on and D3 is only that smooth because it completely misses hit probability calculations.
Also its good you try everything to minimize the risk of clienthacks.

My last death in hc was so ugly and hard out of sync that i stopped playing for the first time after closed beta. Got hammered by a phylink/movementspeed/reflect pack about 1 screen away.
I am used to desync and combos like that, but also am i very tired of it.

After years of development i really cannot understand your decisions anymore.
You exactly know the problem.
You do everything to make it more intense??



I think you all want to read this : http://www.reddit.com/r/pathofexile/comments/324u94/rewrite_of_netcode_with_a4_to_reduce_dsync/

Some chosen parts :

"
With the expansion we are adding a Deterministic Lockstep mode to Path of Exile that will have no desync. Bear in mind that this means that when you click you will have to wait for whatever your ping time is before you start to move or do a skill.

This works the same way as you would see in strategy game like Starcraft or a MOBA like Dota.

Because this requires a fairly low latency to feel good we are still supporting the old mode for high ping players, however, we have a lot of improvements there too.

It's not quite finished yet and we are working out the bugs, but I'm optimisitic that we will be able to get it done before the beta starts, or otherwise a week or so into it.

We are also adding a bunch more servers to new locations in order to reduce latency so expect to see East and West coast of America servers, as well as more locations in Europe like London.


"
You will be able to set the mode in the options if you like.


"
You can just play with the old mode when you play with people in a different region. It should be a lot better too.


Well, time for me to spend some more money in PoE.
Last edited by Pulsahr#1538 on Apr 11, 2015, 6:34:43 PM
"
Pulsahr wrote:
I think you all want to read this : http://www.reddit.com/r/pathofexile/comments/324u94/rewrite_of_netcode_with_a4_to_reduce_dsync/

Some chosen parts :

"
With the expansion we are adding a Deterministic Lockstep mode to Path of Exile that will have no desync. Bear in mind that this means that when you click you will have to wait for whatever your ping time is before you start to move or do a skill.

This works the same way as you would see in strategy game like Starcraft or a MOBA like Dota.

Because this requires a fairly low latency to feel good we are still supporting the old mode for high ping players, however, we have a lot of improvements there too.

It's not quite finished yet and we are working out the bugs, but I'm optimisitic that we will be able to get it done before the beta starts, or otherwise a week or so into it.

We are also adding a bunch more servers to new locations in order to reduce latency so expect to see East and West coast of America servers, as well as more locations in Europe like London.


"
You will be able to set the mode in the options if you like.


"
You can just play with the old mode when you play with people in a different region. It should be a lot better too.


Well, time for me to spend some more money in PoE.
That sounds quite amazing.
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD

Report Forum Post

Report Account:

Report Type

Additional Info