Zeroconf



> On Tue, 21 Sep 2004, Callum McKenzie wrote:
> > 2) Can we be a bit better about discovery for the game server ?
> > Metaservers are the traditional answer, but could we also do zeroconf
> > style discovery on the local network (other parts of GNOME already do
> > this).

Callum, I've had a closer look at finding a solution for game-server
discovery. Here's my quick overview of my current understanding of the
alternatives:

* rendezvous/zeroconf seems like a very good solution, using Multicast
DNS to find the server. It's already used by epittance, which is in gnome
CVS. The code there is short, understandable and easy to use in
gnome-games. More info on rendezvous in [1] and [2].

* Metaserver is another alternative. However, it will not work if the
metaserver is unreachable, such as on a private LAN etc.

* Implement server discovery using UDP Multicast, or Broadcast. Games such
as Quake use broadcast to find it's server, by sending a packet to
255.255.255.255. This will send the packet to all hosts on the
LAN. However, there is no broadcast in IPv6, there you only
have multicast. This is a pretty well-known method, (eg. I've used it in
courses in college.)


I think rendezvous/zeroconf is the way to go. It's a more high-level
library, so implementation will probably be fast, and hopefully introduce
less bugs. So if you think this sounds reasonable, I can try to implement
server-discovery using rendezvous/zeroconf.


Andreas Røsdal



[1] http://developer.apple.com/macosx/rendezvous/
[2] http://www.oreillynet.com/pub/a/wireless/2002/12/20/zeroconf.html



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]