These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Player Features and Ideas Discussion

 
  • Topic is locked indefinitely.
 

UDP Packetloss Fix?

Author
Vas Vadum
Draconian Empire
#1 - 2012-02-23 17:16:05 UTC
For those of you who do not know what UDP and TCP are, this site best describes it.
http://www.skullbox.net/tcpudp.php
For those who don't want to go to the site, short version is UDP is faster but can miss things while TCP is slower but recovers more easily from packetloss.

I have heard from a few people that UDP can be able to work around packetloss as well. I am not sure on this, I would need a Dev or network specialist to help answer this.

I have some small to mild level packetloss on occasion. It is hard to play eve when I was disconnected 10 minutes ago and the client just disconnects. It leaves me wondering what actions I performed since I lost connection have also failed. I mean I spent an hour typing out a message one time, aligning all the facts, acquiring all the data, Linking all the things and then POOF. It all gets deleted by EVE spontaneously and randomly shutting down. I was so angry I just couldn't handle it so I furiously logged back in and told the person "**** it, I'll tell you the details later"... With memory loss and dyslexia it took me a while to get all that and I couldn't remember half of what I typed after.

I just want EVE to at least give us the option to SAVE all work before it closes, or like a previous idea auto save mails to drafts till sent but a better idea is to make it not disconnect because one single packet was lost in a critical spot. I can be mining, and lose one random packet and the game continues on for 5 to 10 minutes before the client goes "Oh hey. You aren't connected anymore! *poof*". Why not see if the client can resend a failed packet? If that one succeeds, resume the connection. I know it's just like TCP but I believe it's possible to have UDP resend packets when one failed to arrive completely. The server can ask "Are you still connected?" and my client would be able to send 3 or more packets saying "I dunno, am I?". I don't quite fully understand networks myself but when stuck using microwave internet sending a directional beam 4 miles to another tower with a few trees and other wireless signals in the path, packets are bound to fail once in a while. I'm not talking about fixing extreme packet loss, just the once in a while loss.

Only time I have extreme/total loss is when wind blew my dish out of alignment again or if lightning struck one of the several towers with my internet going through them. Nothing you can do will fix that obviously.
Simi Kusoni
HelloKittyFanclub
#2 - 2012-02-23 17:41:20 UTC  |  Edited by: Simi Kusoni
Vas Vadum wrote:
I don't quite fully understand networks myself.

UDP still has acks and error correction etc. it's just handled by the application and not an integral part of the protocol. I can assure you Eve isn't going to just drop you for a random lost packet, your packet loss has to be pretty bad to get frequent and persistent disconnects.

Vas Vadum wrote:
stuck using microwave internet sending a directional beam 4 miles to another tower with a few trees and other wireless signals in the path, packets are bound to fail once in a while. I'm not talking about fixing extreme packet loss.

It might be worth noting that that situation probably counts as extreme packet loss, at least in terms of using high bandwidth applications, try running a test here and see what you get.

[center]"I don't troll, I just give overly blunt responses that annoy people who are wrong but don't want to admit it. It's not my fault that people have sensitive feelings"  -MXZF[/center]

mxzf
Shovel Bros
#3 - 2012-02-23 18:02:28 UTC
For some background, I'll tell you that my job right now is working on a program that deals with tunneling using UDP packets (including manually crafting them at the bit level, which (I can say from experience) sucks, lol), so I do have a pretty solid understanding of the underlying systems.

No, it's not built into the UDP spec to resend packets, because (by the very nature of UDP) it doesn't know that they didn't arrive. However, the connection won't drop simply because one packet got dropped, it takes a significant network interruption to cause the connection to drop. The limitations of UDP and lost packets are well known and the game already allows for some error or missed packets.

Autosaving mails to drafts might be worthwhile, but trying to save the entire state of Eve to disc when it closes is pointless (since most of it is just what window is open at any given time, and it's easy to open windows again) and would waste lots of hard disc space 99.9% of the time for little practical gain.
Vas Vadum
Draconian Empire
#4 - 2012-02-23 23:38:03 UTC
mxzf wrote:
trying to save the entire state of Eve to disc when it closes is pointless (since most of it is just what window is open at any given time, and it's easy to open windows again) and would waste lots of hard disc space 99.9% of the time for little practical gain.


Didn't say that. I just meant for stuff like sent messages and eve mails that the server will lose once the client restarts.

I have noticed that when I ran a PING for hours once, it came back where I hit the ISP mail server with about 30,000 packets. total of 500 failed. It was between 200 to 500 packets and then one would fail. This was while I slept. I get one or 2 clumped packets lost or a very specific packet lost, and eve forgets how to send more packets. 3 to 10 minutes later it just shuts it's self down realizing "wait a minute, I forgot to tell you that you haven't been connected for the past 10 minutes so all your commands failed!" My friend can verify this. I have him on trillian and we were mining once. He said "Why did you log out?" I said. "I didn't, I'm right here mining beside you!" For the next 5 minutes my mining lasers kept going, I didn't know why I got 0 yield, and I started trying to stop the lasers and move but nothing happened then randomly poof, it shut down. Logging back in I asked what my last hat message was and 15 messages I sent had failed. 15 unsent messages, and the server couldn't have told me I was disconnected long before that? My client couldn't tell me? That's, rather annoying don't you think?

Anyway. I was told UDP can be made to run like TCP, but TCP can not be made to run like UDP. Though it may be a pain to do something like this. Maybe it's possible to half way do something like this to make packet loss less of a problem?

What kind of lag would we experience if the entire server used TCP anyway?
leviticus ander
The Scope
Gallente Federation
#5 - 2012-02-24 02:44:33 UTC
a lot of lag. they might be able to make some form of packet loss detection. but there's not a ton of use in doing that.
the reason that it takes so long for it to tell you that you've disconnected is because otherwise you might end up getting dosconnected all the time during a massive null fleet fight like the one that happened a week or so ago.
Vas Vadum
Draconian Empire
#6 - 2012-02-27 02:13:05 UTC
leviticus ander wrote:
a lot of lag. they might be able to make some form of packet loss detection. but there's not a ton of use in doing that.
the reason that it takes so long for it to tell you that you've disconnected is because otherwise you might end up getting disconnected all the time during a massive null fleet fight like the one that happened a week or so ago.


Ok, so what if we make it resume-able? If I lose the wrong packet and EVE thinks I am disconnected. What if more commands after it get through? Why not have EVE decide to resume my connection? If I am mining, I submit a new command it often sits there doing nothing until eve remembers that I am disconnected so why not instead of blocking the new packets, start accepting them again? I dunno. I just want to stop getting disconnected when I lose one out of every 10 packets or less.
Malus Rimor
Perkone
Caldari State
#7 - 2012-02-27 05:51:46 UTC  |  Edited by: Malus Rimor
I get disconnects (client restarts) often also. My router drops packets (2%), I'm working on getting a new one.

I agree, it would be nice if EVE could handle packet loss a bit more gracefully.