Client handles less than perfect connections poorly

mascondante
Has anyone noticed that if you have intermittent connectivity issues (no matter how small) the game gets really grumpy?

I noticed I have a light case of packet loss (3% after 10000 pings). All it takes is one or two packets to drop and the whole game hangs for like 30 seconds. Can't attack, game loads no data whatsoever and if I'm traveling I get warped back to where I was once the client decides to call it a timeout and retry.

I think the game should be a bit more aggressive on holding and maintaining connection rather than everything coming to a crashing halt the moment the slightest thing goes wrong.
  • Auric_ESO
    Auric_ESO
    ✭✭✭✭
    I think your conclusions are wrong. There really isnt such a thing as light case of packet loss. 3% is huge. That means you are dropping packets and sending/receiving packets out of order. That means re-assembly and re-requesting of packets is required. Then 3% of those need to be resent and or re-ordered. Etc. I've not seen the client any less stable than any other client i've used. Then again once I wired my desktop in instead of using wireless I've not had connection issues.
    "The purpose of training is to tighten up the slack, toughen the body, and polish the spirit." Morihei Ueshiba
  • maurotdo
    maurotdo
    ✭✭✭
    Definitively! I never started a thread about it as I feared it would be too technical. But yes, using UDP, the net code of the game does very little if anything in case of, even slight, packet loss. I noticed one night I had a packet loss occurring at about 1-2 packets (not necessarily consecutive) every 10 minutes. The game stands a single loss (30-40 seconds freeze), two losses and it's disconnect (unknown error has occurred).

    Probably it's due to the game using UDP in place of TCP. Not having the protocol handling the reliability, it must be done in the game netcode. And they simply decided to scrap handling this.
    Edited by maurotdo on August 21, 2014 6:16AM
  • mascondante
    I have some experience in networking from the Air Force but I won't pretend to be able to handle an in depth conversation on UDP. I know on Xbox ToyLogic fudged up the multiplayer netcode pretty bad. I believe Xbox uses UDP and oh man was it a mess. Sessions dropped constantly especially for me.

    As far as wireless goes I'm wireless no matter what I do. I live in a rural area with no hardwired internet available. I have to use a small ISP that daisy chains wireless radios from the residence back to the CO via other resident's radios until it reaches an area tower and so on. I had them come out and replace and reposition my new radio. I gained signal strength from what I could tell by looking over the field tech's shoulder as he set the new radio up. I think the bottom line is I'm too far from the CO and there's too many wireless hops (I'm 14 miles from the CO and I live in the mountains).

    I tend to counter-disagree with Auric_ESO ever so slightly. If the game ran over TCP 3% loss wouldn't do a bloody thing to my gaming experience. It would restack everything post haste and I'd be g2g. I know my connection will probably never be perfect but I submit that Zenimax can definitely do more to their netcode to ensure stability on less than 100% rock solid reliable connections.
  • mascondante
    Anyone from Zenimax want to comment on if connection reliability is on the project map for the future?
  • Tabbycat
    Tabbycat
    ✭✭✭✭✭
    ✭✭✭
    I play on a wireless desktop (there are issues with trying to run cable wire through my house so the easiest choice was to just have all the PC's run wirelessly) and I haven't had very many issues with connectivity. Occasionally I'll get a disconnect but it is a fairly rare occurrence.

    Sometimes I'll experience lag but I think it has more to do with my PC's hardware than anything else. I say this because once I reduced my graphics setting, most of my lag issues were fixed.

    Tera, on the other hand, was a horrid experience. I couldn't stay connected to that game for more than 10 minutes without a disconnect. I'm glad I never paid any money for that game.
    Edited by Tabbycat on August 30, 2014 8:29PM
    Founder and Co-GM of The Psijic Order Guild (NA)
    0.016%
  • raglau
    raglau
    ✭✭✭✭✭
    UDP is actually better for games because it is faster and is stateless, meaning better for servers answering queries from large numbers of clients.

    Games want real time data as fast as possible, and that is UDP. But yeah, they must implement their own simple reliability method.

    I tend to counter-disagree with Auric_ESO ever so slightly. If the game ran over TCP 3% loss wouldn't do a bloody thing to my gaming experience. It would restack everything post haste and I'd be g2g. I know my connection will probably never be perfect but I submit that Zenimax can definitely do more to their netcode to ensure stability on less than 100% rock solid reliable connections.

    It would request the data again and re-order under TCP, yes. But that would introduce latency and crucially, the sender would slow down because it believes the network is not up to the job. On a 50Mb link something like 0.5% loss will result in 50% slowdown.

    3% packet loss is significant enough to investigate, your throughput will be suffering as packet loss is TCP/IP flow control. You should suffer 0% packet loss on the networks you own IMO.

    http://www.netcraftsmen.net/archived-documents/c-mug-article-archive/9-20120410-cmug-c-tcp-packet-loss/file.html

    http://slac.stanford.edu/comp/net/wan-mon/thru-vs-loss.html
    Edited by raglau on August 30, 2014 11:46PM
Sign In or Register to comment.