• Announcements

    • IMPORTANT - REACH US IN THE NEW FORUM   05/04/2017

      Ladies and gentlemen ATTENTION please:
      It's time to move into a new house!
        As previously announced, from now on IT WON'T BE POSSIBLE TO CREATE THREADS OR REPLY in the old forums. From now on the old forums will be readable only. If you need to move/copy/migrate any post/material from here, feel free to contact the staff in the new home. We’ll be waiting for you in the NEW Forums!

      https://community.blackdesertonline.com/index.php

      *New features and amazing tools are waiting for you, even more is yet to come in the future.. just like world exploration in BDO leads to new possibilities.
      So don't be afraid about changes, click the link above and follow us!
      Enjoy and see you on the other side!  
    • WICHTIG: Das Forum ist umgezogen!   05/04/2017

      Damen und Herren, wir bitten um Eure Aufmerksamkeit, es ist an der Zeit umzuziehen!
        Wie wir bereits angekündigt hatten, ist es ab sofort nicht mehr möglich, neue Diskussionen in diesem Forum zu starten. Um Euch Zeit zu geben, laufende Diskussionen abzuschließen, könnt Ihr noch für zwei Wochen in offenen Diskussionen antworten. Danach geht dieses Forum hier in den Ruhestand und das NEUE FORUM übernimmt vollständig.
      Das Forum hier bleibt allerdings erhalten und lesbar.   Neue und verbesserte Funktionen warten auf Euch im neuen Forum und wir arbeiten bereits an weiteren Erweiterungen.
      Wir sehen uns auf der anderen Seite!

      https://community.blackdesertonline.com/index.php Update:
      Wie angekündigt könen ab sofort in diesem Forum auch keine neuen Beiträge mehr veröffentlicht werden.
    • IMPORTANT: Le nouveau forum   05/04/2017

      Aventurières, aventuriers, votre attention s'il vous plaît, il est grand temps de déménager!
      Comme nous vous l'avons déjà annoncé précédemment, il n'est désormais plus possible de créer de nouveau sujet ni de répondre aux anciens sur ce bon vieux forum.
      Venez visiter le nouveau forum!
      https://community.blackdesertonline.com
      De nouvelles fonctionnalités ainsi que de nouveaux outils vous attendent dès à présent et d'autres arriveront prochainement! N'ayez pas peur du changement et rejoignez-nous! Amusez-vous bien et a bientôt dans notre nouveau chez nous
Sign in to follow this  
Followers 0

Desync misconceptions

39 posts in this topic

Posted

Right so lately I've noticed the word desync just being thrown around for no real apparent reason with very little understanding of how it works and why it happens so I'm gonna write a little article explaining what desync is and why it happens so the development team can also understand why it happens. Because typically they think it's a latency issue when that isn't always the case. And I'm emphasising isn't always the case because bad latency can also cause desync.

Lets start of simple, desync literally is the desynchronisation of elements on the "Players" screen. A heavy emphasis on players screen. Which is caused by the server not refreshing fast enough. When this happens the last known command the server received will be executed not necessarily what is shown on the players screen. And this is how basically all desync works. 

Now let's move on the topic of servers.

The hardware and software (netcode) of a server can massively govern how bad or how little a game will desync. Just to keep things fairly easy to understand for users, I'll be dumbing down a lot of the information so it's easier to understand. First the hardware of the server. This can heavily influence desync on a online multiplayer game. And depending on the "Ticks" of your server it'll dictate how much a server will desync. Ticks are basically how fast a server refreshes its information to make sure information from the players screen is accurately portrayed and processed by the server to other users on their screen. A low tick rate means more chance of server desync issues. This is excluding latency. A lot of standard servers use a tick rate of 20-24(?). If BDO is using servers with tick rates this slow in its current format it'll explain the terrible desync said by players.

Now about netcode. 

This mostly applies to players with bad internet. If the games netcode is badly written it can also cause desync. But this is player induced desync. Keeping it simple, if the users with bad internet abuse how the netcode is structurally written such as doing damage and you saw it on your screen but the user wasn't in that location anymore but because of your lag it looked like he was still in that position and you send packet data saying "yes I hit that person" but the netcode isn't created in a way to do a packet check on location toppled with slow tick servers. Yeah you're probably already know what I'm going to say but it'll cause once again desync.

i hope this clears up some misconceptions on desync and now people have a better understanding of how it happens and why it happens. Currently the only people being hurt by desync are the people with extremely good latency whereas people with bad latency are reaping the benefits. To add, desync is a lot less apparent with good latency however it's still noticeable. The best way to relieve desync is a server upgrade with servers boasting higher ticks e.g 64 or 128.

 

3 people like this

Share this post


Link to post
Share on other sites

Posted (edited)

 Currently the only people being hurt by desync are the people with extremely good latency whereas people with bad latency are reaping the benefits

 

lmao, mate I desync so hard my dodge uses stamina and I still get cced every time, I use "v" and it doesn nothing because of desync and uses the cooldown, I use teleport and it gets put on cooldown during the supposed "immune" casting time, you obviously have no idea how bad it is with high latency.

Edited by drfuzzyduck
2 people like this

Share this post


Link to post
Share on other sites

Posted (edited)

lmao, mate I desync so hard my dodge uses stamina and I still get cced every time you obviously have no idea how bad it is with high latency.

575eba83b3529_31c0415a34b144690e92761585

You have no idea how happy i am to hear that xD It just means the netcode isn't that bad. 

Edited by Berlioz

Share this post


Link to post
Share on other sites

Posted

You have no idea how happy i am to hear that xD It just means the netcode isn't that bad. 

I am guessing you just got a credit in computer science 101...

Share this post


Link to post
Share on other sites

Posted

So you want to tell me my internet is bad because I get hit by an ogre 2 seconds later (I dodge and wait and go in again, I get hit and knocked down) after he is done doing its attack?

 

Seems legit.

Share this post


Link to post
Share on other sites

Posted (edited)

So you want to tell me my internet is bad because I get hit by an ogre 2 seconds later (I dodge and wait and go in again, I get hit and knocked down) after he is done doing its attack?

 

Seems legit.

"Because typically they think it's a latency issue when that isn't always the case. And I'm emphasising isn't always the case because bad latency can also cause desync." 

Are you illiterate xD?  

Also that isn't desync, it happens to me too and friends. It's just the attacks design. A bad design but its how it's created nevertheless.  

Edited by Berlioz

Share this post


Link to post
Share on other sites

Posted

So you want to tell me my internet is bad because I get hit by an ogre 2 seconds later (I dodge and wait and go in again, I get hit and knocked down) after he is done doing its attack?

 

Seems legit.

I dont think thats desync I think its poor mob design. Happens with  certain cyclops attacks too 100% of the time their animation does not match when the hit makes contact with the character. I do not have bad latency unless 60-70ms is bad

Share this post


Link to post
Share on other sites

Posted

"Because typically they think it's a latency issue when that isn't always the case. And I'm emphasising isn't always the case because bad latency can also cause desync." 

Are you illiterate xD?  

Also that isn't desync, it happens to me too and friends. It's just the attacks design. A bad design but its how it's created nevertheless.  

It is actually desync. You can tell just how bad the servers are because right after a reset, the ogres function perfectly. Once more and more players join, you'll notice the attacks get more and more out of sync with what your client is seeing vs what the server is seeing. 

2 people like this

Share this post


Link to post
Share on other sites

Posted

It is actually desync. You can tell just how bad the servers are because right after a reset, the ogres function perfectly. Once more and more players join, you'll notice the attacks get more and more out of sync with what your client is seeing vs what the server is seeing. 

the server cant keep up with all the data it gets from every connected client so basically it gets ddossed and the reaction to players actions are processed with a latency instead of in realtime.

with bad netcode this latency keep mounting and you get a feedback cycle, as clients start going in timeout and reissuing their queue/requiring refresh etc

also probably they are doing a predictive/preemptive animation clientside - both  client and server keep their damage/aggro queue so if player xxx with his ranger its shown to have got aggro from morghulis (just to say one of the mob with worst desync) it will start showing the rolling animation toward that player position, without waiting to get server reaction.

which would be good if there was only connection latency but with serverside queue kind of desync those action/reaction chains can be off by a lot, so you can see the mob actually attacking in a completely different position or even another player alltogeter.

Share this post


Link to post
Share on other sites

Posted

It is actually desync. You can tell just how bad the servers are because right after a reset, the ogres function perfectly. Once more and more players join, you'll notice the attacks get more and more out of sync with what your client is seeing vs what the server is seeing. 

Actually the delayed dps isn't desync. For some reason the damage still applies as long as the residual effects say e.g the tattered land. Since mob damage data is processed client sided we know for a fact it can't be desync. The only things that happen server sided are all the numbers. Hit detection for mobs is typically done client side before being sent to the servers to properly apply it. 

Share this post


Link to post
Share on other sites

Posted

so I'm gonna write a little article explaining what desync is and why it happens so the development team can also understand why it happens

Lol. Really. I'm not hating or anything but it's their product and their job, they know what is going on and they don't need a dumbed down "article" to understand how their code reacts.

I think I heard they improved netcode and graphic engine in Korea ? It's a matter of time for us to get it too if it's right.

Share this post


Link to post
Share on other sites

Posted

Actually the delayed dps isn't desync. For some reason the damage still applies as long as the residual effects say e.g the tattered land. Since mob damage data is processed client sided we know for a fact it can't be desync. The only things that happen server sided are all the numbers. Hit detection for mobs is typically done client side before being sent to the servers to properly apply it. 

the problem with this kind of approach is that two clients can create conflicting results (like two players both killing the same mob with a single hit) so serverside you need to decide which is the "good" one, then client need to wait for verification and one of the two conflicting results need to be deleted and overwritten by real serverside result - thus desync

1 person likes this

Share this post


Link to post
Share on other sites

Posted

Lol. Really. I'm not hating or anything but it's their product and their job, they know what is going on and they don't need a dumbed down "article" to understand how their code reacts.

I think I heard they improved netcode and graphic engine in Korea ? It's a matter of time for us to get it too if it's right.

The problem is they haven't the same engine and netcode with none of the improvements are being use in KR however KR's typical internet structure makes it not noticeable. They also have far superior servers as well. The russian client is also in a similar boat. 

Also im writing this article simply because i saw a GM state that the servers are running as intended. When this is simply not true. 

the problem with this kind of approach is that two clients can create conflicting results (like two players both killing the same mob with a single hit) so serverside you need to decide which is the "good" one, then client need to wait for verification and one of the two conflicting results need to be deleted and overwritten by real serverside result - thus desync

Indeed hence why the first damage that enters the server will get the loot on ogres

Share this post


Link to post
Share on other sites

Posted

The problem is they haven't the same engine and netcode with none of the improvements are being use in KR however KR's typical internet structure makes it not noticeable. They also have far superior servers as well. The russian client is also in a similar boat. 

Also im writing this article simply because i saw a GM state that the servers are running as intended. When this is simply not true. 

Ok so you meant for the publishing team. No problem with that.

1 person likes this

Share this post


Link to post
Share on other sites

Posted

"Because typically they think it's a latency issue when that isn't always the case. And I'm emphasising isn't always the case because bad latency can also cause desync." 

Are you illiterate xD?  

Also that isn't desync, it happens to me too and friends. It's just the attacks design. A bad design but its how it's created nevertheless.  

It is never constant, so it's probably both bad mob design AND desync.

You can call me illiterate but truth be told I just couldn't be arsed to read even one line in your original post.

Share this post


Link to post
Share on other sites

Posted (edited)

It is never constant, so it's probably both bad mob design AND desync.

You can call me illiterate but truth be told I just couldn't be arsed to read even one line in your original post.

Oh god that cancerous mindset. Desync and bad mob design xD. Yeah it's like we got a server that refreshes once every second hence the two second delay right? 

Next time at least read a little of it so you don't show yourself up 

I am guessing you just got a credit in computer science 101...

Uh yeah I do. That's why I'm trying to clear up these misunderstandings. In fact I got twelve.

Edited by Berlioz

Share this post


Link to post
Share on other sites

Posted (edited)

It seems that the desync issue is more apparent when players are in a stationary state, e.g. knocked down.

The game seems perfectly capable of ensuring arrows meet faces and that residual lightnings strike opponents while they run (or even dash) through it, but as soon as someone gets knocked down and stops moving it seems that the server suddenly has to re-evaluate where that player is and often gets it wrong.

Surely it is easier to represent more accurately a player that has stopped moving over one that is running around?

Also, I'd like to talk about grabs. It is funny how every standard sword swing connects with a moving player, but when activating a grab at the same range, the game suddenly has to take a guess about where the other player is, and again, often gets it wrong.

Edited by legendary_item

Share this post


Link to post
Share on other sites

Posted

I think it would have been more useful to discuss the difference between "desync" and "lag".  If I use Shake Off, and in the middle of the Super Armor animation get CC'd, odds are it's a lag issue because the player CC'd me before the server recognized I had used Shake Off, even if my Client knew I used Shake Off first.

If I grab someone and use Undertaker, then I go to use abilities and their body slides from one position to another, odds are a desynchronization occurred because the result of the commands on my screen had to be updated based on what the server thought happened, and for some reason the two states didn't match up.

That's what I think, anyway.

Share this post


Link to post
Share on other sites

Posted

I think it would have been more useful to discuss the difference between "desync" and "lag".  If I use Shake Off, and in the middle of the Super Armor animation get CC'd, odds are it's a lag issue because the player CC'd me before the server recognized I had used Shake Off, even if my Client knew I used Shake Off first.

If I grab someone and use Undertaker, then I go to use abilities and their body slides from one position to another, odds are a desynchronization occurred because the result of the commands on my screen had to be updated based on what the server thought happened, and for some reason the two states didn't match up.

That's what I think, anyway.

It seems that the desync issue is more apparent when players are in a stationary state, e.g. knocked down.

The game seems perfectly capable of ensuring arrows meet faces and that residual lightnings strike opponents while they run (or even dash) through it, but as soon as someone gets knocked down and stops moving it seems that the server suddenly has to re-evaluate where that player is and often gets it wrong.

Surely it is easier to represent more accurately a player that has stopped moving over one that is running around?

Also, I'd like to talk about grabs. It is funny how every standard sword swing connects with a moving player, but when activating a grab at the same range, the game suddenly has to take a guess about where the other player is, and again, often gets it wrong.

I've noticed both of these cc's grapple and shake off desync for no reason this may simply be because of the speed that they activate at. 

If I were to take a wild guess, skills that seem to have a large aoe cone or spherical shape seem to land more reliably than let's say single target extremely narrow skills. E.g dark flame, warrior, giant and valk grapple. Which then leads me to think that servers aren't updating the information fast enough. Just look at how fast grapple is on all of these classes, or midnight stinger on sorc. If the players location isn't updated fast enough then it would surely explain why extremely fast cc skills entirely miss sometimes. 

I rarely miss my dream of doom and to top it off I sometimes land it when the player isn't even directly near it. But this could be credited to the fact that large aoe skills actually cover a large area causing desync to not be an issue.

 Sometimes I land my stun after a player has dodged only to hit said player and do no damage before he's rubber banded back to another prior location. I feel like the server updates information whenever a player moves. Especially when the desync ranged stun of sorcerer lands. The stun lasts for 3 seconds and in the entirety, the player cannot move and I noticed as soon as the stun is finished the player location information seems to update and shows that he was stunned much further back than shown on my own screen.

I feel that it's a mixture of netcode + bad servers causing this particular desync.

Share this post


Link to post
Share on other sites

Posted (edited)

Desync can be latency based, but not in BDO.

The desync we're seeing is the server's latency correction mechanism trying to do its job because information was lost in transit. Example; You use sprint at the end of the sprint the server checks your location but according to the server you never initiated a sprint (the lost info) so auto correction kicks in and places you where you should be if you did not use sprint.

This example alone tells us that Received packets are being droped, but Sent packets are working just fine. this could be do to many things bad routing, failing network hubs, insufficient server bandwidth, poor polling rates. in BDO's NA case its probably all of the above, California may be known as the home of Silicon Vally but every gaming American knows its also known for its shit routing, piss poor hub locations, and dated cabling infrastructure. BDO EU i'm almost willing to bet skimped on server bandwidth capacity.

Duams choice of server host location in NA clearly shows they want cheap hosting, i don't see why they wouldn't strive for the same on the EU side however possible.

Edited by The_ID10t_Effect
1 person likes this

Share this post


Link to post
Share on other sites

Posted

@The_ID10t_Effect Awesome name, it reminds me of the Id10t error joke.

Share this post


Link to post
Share on other sites

Posted

Desync can be latency based, but not in BDO.

The desync we're seeing is the server's latency correction mechanism trying to do its job because information was lost in transit. Example; You use sprint at the end of the sprint the server checks your location but according to the server you never initiated a sprint (the lost info) so auto correction kicks in and places you where you should be if you did not use sprint.

This example alone tells us that Received packets are being droped, but Sent packets are working just fine. this could be do to many things bad routing, failing network hubs, insufficient server bandwidth, poor polling rates. in BDO's NA case its probably all of the above, California may be known as the home of Silicon Vally but every gaming American knows its also known for its shit routing, piss poor hub locations, and dated cabling infrastructure. BDO EU i'm almost willing to bet skimped on server bandwidth capacity.

Duams choice of server host location in NA clearly shows they want cheap hosting, i don't see why they wouldn't strive for the same on the EU side however possible.

This rubberbanding effect has never happened to me on EU servers though i do sit around a ping of 30-70. However this rubberbanding effect always happened when i played on KR with 400-500 ping. And with that distance it makes sense, you're more likely to lose packet data across such a large distance. But from your statement packets being lost in transit seems more like a users issue more than the game's. Then puts the blame of desync on users rather than Daum servers. 

E.g from your statement it seems like they can use that as a scapegoat for their bad servers. 

Share this post


Link to post
Share on other sites

Posted

Dsync is a huge problem. I do not even want to think what will happen druing Siege... 

 

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0