Here's mine Halo ... works for me on the Leadfoot server ... Make sure you have phpMyAdmin and that the table is set up correctly. The t_time field must be of type datetime and the other fields should be varchars.
<?php //Assumes DB already open. function ping(){ global $ip; echo "$ip\n"; exit(); } //return a list of all servers function list_servers(){ $res=mysql_query( "select game,server,ip from gnet_servers order by t_time desc" ); while( $row=mysql_fetch_row($res) ){ echo( "$row[0]\n" ); echo( "$row[1]\n" ); echo( "$row[2]\n" ); } echo "\n"; exit(); } //add a server function add_server(){ global $ip,$game,$server; $err="ERROR\n"; if( $game ){ if( !$server ) $server="$game@$ip"; $res=mysql_query( "select count(*) from gnet_servers where game='$game' and ip='$ip'" ); $row=mysql_fetch_row( $res ); if( $row[0]==0 ){ mysql_query( "insert into gnet_servers (game,server,ip,t_time) values ('$game','$server','$ip',now())" ); $err="OK\n"; } } echo $err; exit(); } //refresh a server function ref_server(){ global $ip,$game,$server; $err="ERROR\n"; if( $game ){ if( !$server ) $server="$game@$ip"; $res=mysql_query( "select count(*) from gnet_servers where game='$game' and ip='$ip'" ); $row=mysql_fetch_row( $res ); if( $row[0]==1 ){ mysql_query( "update gnet_servers set server='$server',t_time=now() where game='$game' and ip='$ip'" ); $err="OK\n"; } } echo $err; exit(); } //remove a server function rem_server(){ global $ip,$game,$server; $err="ERROR\n"; if( $game ){ if( !$server ) $server="$game@$ip"; $res=mysql_query( "select count(*) from gnet_servers where game='$game' and ip='$ip'" ); $row=mysql_fetch_row( $res ); if( $row[0]==1 ){ mysql_query( "delete from gnet_servers where game='$game' and ip='$ip'" ); $err="OK\n"; } } echo $err; exit(); } $link = mysql_connect("mysql.fatcow.com", "name", "password"); $db_selected = mysql_select_db("name", $link); //setup some useful globals $ip=$_SERVER["REMOTE_ADDR"]; $opt=array_key_exists("opt",$_GET) ? $_GET["opt"] : ""; $game=array_key_exists("game",$_GET) ? $_GET["game"] : ""; $server=array_key_exists("server",$_GET) ? $_GET["server"] : ""; //delete 'old' servers mysql_query( "delete from gnet_servers where time_to_sec(now())-time_to_sec(t_time)>300" ); //begin header...(not sure about the no-cache bit!) header( "content-type: text/html\ncache-control: no-cache\n\n" ); switch( $opt ){ case "add":add_server();break; case "ref":ref_server();break; case "rem":rem_server();break; case "list":list_servers();break; case "ping":ping();break; default:echo "ERROR\n"; } exit(); ?>