I've added a multicast server solicitation feature to the Netrek server,
and I'm working on finishing up the changes to Cow's parsemeta.c.

The feature is intended for finding servers on a local area network, but
could also be extended to include a list of favourite servers that are
directly queried when a client starts.

It works like this;

1.  client sends a multicast datagram to 224.0.0.1 UDP port 3521, same
format as used for UDP query of metaservers,

2.  all servers on the local area network (and the local host), receive
the query in netrekd, fork an instance of tools/players,

3.  tools/players reads the queue length and player count from shared
memory and transmits a reply back to the client,

4.  client adds the server to the list of servers displayed.

Changes to newstartd.c and players.c are in CVS on SourceForge.

Work is still needed on packet format.  Here's the current format used
by the prototype code ...

s,type,n,port,players,queue[,port,players,queue]

s = the literal letter 's', as a server response,

type = B for Bronco, I for INL, as in existing metaserver packets,

n = number of port/players/queue triplets that follow,

port = port number to join

players = number of players currently in game 

queue = number of players on queue for this port

-- 
James Cameron    mailto:quozl at us.netrek.org     http://quozl.netrek.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://shadowknight.real-time.com/pipermail/netrek-dev/attachments/20060102/8f12b873/attachment.pgp