On Sat, Mar 02, 2013 at 12:51:31AM -0500, Karthik Arumugham wrote: > On Mar 1, 2013, at 5:17 PM, James Cameron <quozl at us.netrek.org> wrote: > > > On Fri, Mar 01, 2013 at 02:49:05PM +0100, Sven Neuhaus wrote: > >> Hi Andrew et al, > >> > >> this project is highly interesting. With the advent of WebRTC and > >> RTCDatachannel browsers can now use UDP peer2peer communication, which > >> will be a great boost for lag sensitive games such as netrek. > >> > >> It would be even better if we had an alternative protocol for netrek > >> (that the server also understands) so that no proxy is necessary for web > >> clients. > > > > Agreed. While UDP was once needed to optimise networks with loss and > > reordering problems, modern networks are much better. So a new > > protocol with better compatibility for the web client sandbox > > environment would be helpful. The payload need not change, but the > > transport can. > > Modern networks may be significantly better, but there's still far > too much loss and jitter on the average consumer connection to NOT > use UDP for a latency-sensitive game like Netrek. Of course, TCP is > and can still be an option if UDP is not available. Sure, real Netrek players will continue to use UDP and the original protocol. I'm not talking about them. Anything I do on this would be for increasing involvement by new players, and they have no playability metric in their head. I don't want the perfect to be the enemy of the good. > Even across a single network, or even a single link, it's hard to > get anyone to care unless packet loss is > 0.1% or so, if even > that. Those small occasional losses build up, along with last-mile > congestion on consumer connections. Netrek starts to suffer at > perhaps 0.2 - 0.5% loss if you're using using TCP and depending on > retransmits. (Obviously, that's latency-dependent as well, and > depends on the structure of the loss.) > > The newer frameworks that Sven refers to again just use UDP? So, > basically, UDP isn't going anywhere if Netrek is going to be > playable for anyone with loss. Unless someone feels like > implementing SCTP. :) I didn't suggest removing UDP support. I'll accept patches to add SCTP. How about UDT? Includes NAT traversal. -- James Cameron http://quozl.linux.org.au/