this page describes the methods of discovering monopd servers.

as far as I can see by looking at atlantik and gtkatlantic there are two different ways of discovering servers, monopigator (used by atlantik) and meta-atlantic (used by gtkatlantic). they both however use XML to describe the servers (its slightly different but we should be able to parse both at the same time), the only big difference is that monopigator uses http where meta-atlantic uses a custom atlantic-like Command->Response Protocol.

monopigator

there is only one monopigator server that I know of (which is hardcoded in the atlantik source) which is http://monopd-gator.kde.org/, to get the server list you just have to request the page and parse the resuling XML.

<?xml version='1.0'?>
<monopigator>
<server ip="193.85.247.149" host="pro.vserver.cz" port="11234" version="0.9.3" users="0" />
<server ip="69.13.181.249" host="all-games-2.bishopston.net" port="11234" version="0.9.3-p4" users="1" />
<server ip="66.221.209.131" host="all-games-1.bishopston.net" port="11234" version="0.9.3-p7" users="4" />
<server ip="82.211.59.207" host="monopd.de.eu.conceptt.com" port="1234" version="0.9.3.1" users="0" />
</monopigator>

meta-atlantic

as I said earlier these use a custom protocol, a server you can screw around with is at meta.gradator.net port 1240 (like monopd it sends one xml document per line)

Note: the commands seem to be Case-Sensitive

Commands (basically nicked from the create_connection_metaserver function in game.c in gtkatlantic):

CHECKCLIENT:

SERVERLIST:

GAMELIST:

pyatlantic/ServerDiscovery (last edited 2008-02-05 05:46:31 by localhost)