On Tue, Feb 28, 2012 at 08:31:23PM -0500, Andrew Sillers wrote:
> James: Thanks for the TCP and RSA clarifications.  Is there any
> documentation on the Netrek protocol?

Yes, in the file include/packets.h in the server source.

http://james.tooraweenah.com/cgi-bin/darcsweb.cgi?r=netrek-server;a=headblob;f=/Vanilla/include/packets.h

> If not, I'll just read through the source for the Linux COW client and
> use Wireshark to see it for myself.

Not a good way.  Wireshark won't help much at all.  Build on my work.
After you've read packets.h, check the Python packet processing code in
the Gytha client.  There is very little to it.

client.py implements the TCP (and UDP) interface.

http://james.tooraweenah.com/cgi-bin/darcsweb.cgi?r=gytha;a=headblob;f=/gytha/client.py

client.py calls back into __init__.py for each packet type.  There's a
function for each packet type.  These packets are ordered in the source
in roughly the order that they appear on the wire, as it was a cyclic
development method that was used.

http://james.tooraweenah.com/cgi-bin/darcsweb.cgi?r=gytha;a=headblob;f=/gytha/__init__.py#l2670

> Actually, is there an easy way to turn off UDP in COW?  (Or in any
> other major client; I'm flexible.)

Gytha has --tcp-only option on command line.

netrek-client-cow has something like it, but since I don't recommend you
learn from it, I'll make it harder for you to find it.  ;-}

-- 
James Cameron
http://quozl.linux.org.au/