Pages: [1]
  Print  
Author Topic: More reliable long distance transfers (aka EU-US servers with minimal lag)  (Read 2467 times)
GrosBedo
Member


Cakes 20
Posts: 710


« on: March 07, 2017, 04:17:28 pm »

Hey there,

I made a proof of concept code to provide more reliable UDP transfers by using error correction codes (Reed-Solomon): https://github.com/lrq3000/ioq3/tree/network-ecc

This patch is not yet ready and probably does not work as I did not even test it, if anybody is experienced with ioq3 networking and want to contribute, please help review the code!

All the functions are already implemented, and I commented extensively, so the intent should be clear even if the code is wrong. I just need someone experienced with networking to review and fix absurd lines of code Smiley (particularly to implement for fragmented packets in order to stay below the MAX_PACKETLEN).

In the end, the patch should provide very reliable UDP transfer, enhancing greatly the gaming experience for long distance communications such as US players playing on EU servers, and inversely. The idea is that instead of sending duplicated packets, we try to error correct packets. For more info about this idea that stems from research, see https://github.com/ioquake/ioq3/issues/124
Logged
Gig
In the year 3000
***

Cakes 48
Posts: 4224


WWW
« Reply #1 on: April 26, 2017, 12:06:45 am »

Sounds interesting... too bad I'm not able to help you at all with this...  Sad
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
sago007
Posts a lot
*

Cakes 61
Posts: 1645


Open Arena Developer


WWW
« Reply #2 on: April 26, 2017, 02:19:53 pm »

I am not sure about how that would improve the situation.

It is not immanently obvious to me how it would play nicely with the delta snapshots.

Also many messages from the client can properly fit in a single package and I guess that it mostly makes sense for messages that uses a lot of packets.
Logged

There are nothing offending in my posts.
Pages: [1]
  Print  
 
Jump to: