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.

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. :)