mysql> select * from servers;
+----+-------+-----------------+-------+------------------------------------------------+-------+---------------+------+------+----------+----------+------------+------------+----------+
| id | state | ip | port | name | game | map | pb | pure | protocol | gametype | maxplayers | lastbeat | updating |
+----+-------+-----------------+-------+------------------------------------------------+-------+---------------+------+------+----------+----------+------------+------------+----------+
| 1 | 1 | 217.19.24.204 | 27960 | WestSide | q3ut3 | ut_casa | 0 | 1 | 68 | 4 | 14 | 1082458939 | 0 |
| 2 | 1 | 216.231.43.166 | 27960 | <--Chronic Terror v4.20 | q3ut3 | ut_demolition | 0 | 1 | 68 | 7 | 8 | 1082458760 | 0 |
| 3 | 1 | 213.133.108.134 | 27960 | .:blam:. CTF Server Q3UrT 3.4 | q3ut3 | ut_turnpike | 1 | 1 | 68 | 7 | 14 | 1082458778 | 0 |
| 4 | 1 | 64.7.138.2 | 27960 | Arnold 3.4 CTF Server | q3ut3 | ut_casa | 1 | 1 | 68 | 7 | 16 | 1082458946 | 0 |
| 5 | 1 | 66.219.200.46 | 27960 | pergatory | q3ut3 | ut_docks | 0 | 1 | 68 | 3 | 20 | 1082458787 | 0 |
| 6 | 1 | 62.212.75.4 | 27820 | GameServers.net - Interstellar Tribe | q3ut3 | ut_docks | 1 | 1 | 68 | 7 | 12 | 1082458810 | 0 |
| 7 | 1 | 68.23.79.55 | 27960 | Langly's UrT low grav server | q3ut3 | ut_commune2 | 0 | 1 | 68 | 3 | 5 | 1082458817 | 0 |
| 8 | 1 | 212.142.28.227 | 27961 | chello 1 v3.4 TDM | q3ut3 | ut_algiers | 1 | 1 | 68 | 3 | 14 | 1082458857 | 0 |
| 9 | 1 | 195.22.26.134 | 30000 | -^2xWs^7*^2T@V^7- ^1Fraggin' with GAMES-HQ.COM | q3ut3 | ut_turnpike | 1 | 1 | 68 | 4 | 14 | 1082458876 | 0 |
| 10 | 1 | 213.114.153.202 | 27900 | ^1|it| ^7WarZone | q3ut3 | ut_docks | 1 | 1 | 68 | 7 | 20 | 1082458903 | 0 |
| 11 | 1 | 195.22.26.134 | 25000 | WaR| - ^1Fraggin' with GAMES-HQ.COM | q3ut3 | ut_casa | 1 | 1 | 68 | 4 | 12 | 1082458905 | 0 |
| 12 | 1 | 69.56.234.215 | 27960 | .:blam:. CTF Server Q3UrT 3.4 | q3ut3 | ut_turnpike | 1 | 1 | 68 | 7 | 14 | 1082458907 | 0 |
| 13 | 1 | 130.89.175.11 | 27960 | UT@UT - Public UrT v3.4 (TS) 100mbits | q3ut3 | ut_casa | 1 | 1 | 68 | 4 | 14 | 1082458952 | 0 |
| 14 | 1 | 69.93.214.188 | 27960 | JustPain.com - UT3.4 - CTF FF | q3ut3 | ut_ricochet | 1 | 1 | 68 | 7 | 14 | 1082458708 | 0 |
| 15 | 1 | 195.22.26.134 | 35000 | Neo Fraggers - ^1Fraggin' with GAMES-HQ.COM | q3ut3 | ut_turnpike | 1 | 1 | 68 | 4 | 12 | 1082458709 | 0 |
| 16 | 1 | 68.98.49.229 | 27960 | Death & Dreck 3.4 UrT | q3ut3 | ut_rommel | 1 | 1 | 68 | -1 | 10 | 1082458724 | 0 |
| 17 | 1 | 82.192.84.1 | 27960 | ^5Team Royalty's ^1Playground | q3ut3 | ut_turnpike | 1 | 1 | 68 | 4 | 14 | 1082458730 | 0 |
+----+-------+-----------------+-------+------------------------------------------------+-------+---------------+------+------+----------+----------+------------+------------+----------+
17 rows in set (0.01 sec)
I'm storing stuff that will not change from heartbeat to heartbeat. Eventually I'll be writing an extension set for the browsing protocol so you can use what the master server knows about the game servers to narrow your server, should you want to. Also, the -1 you see in the Death and Dreck row is because for some reason some servers decide to capitalize certain cVars which normally are not. I need to write something to deal with this. More info to come. As always, suggestions are welcome.
Edit:
I think I fixed the -1 issue. As I load cVars I drop all names to lowercase, leaving the values as is.
Edit:
Apparenlty not. Plan B: See what the duck that damn server is sending me, adjust accordingly.
So here's what it's sending:
gameq3ut3punkbuster1pure1gametype0sv_maxclients10clients0mapnameut_sandshostnameDeath & Dreck 3.4 UrTprotocol68
So I'm tripping up on the fact that gametype is 0. Silly me.