* * If don't provide server name or port parameters, "127.0.0.1" and * "30720" will be used. * * Brian Rhodes bgr(at)linespeed.net * Tony J. White tjw(at)tjw.org * Ryan 'Dr. Zeebok' Allgaier ryan(at)rahs.net */ function tremulous_strip_colors($in) { return htmlspecialchars(preg_replace("/\^.{1}/", "", $in)); } function tremulous_get_players($server = "127.0.0.1", $port = 30720) { $fp = fsockopen("udp://".$server, $port, $errno, $errstr, 2); if(!$fp) return array(); $status_str = "xxxxgetstatus"; for($i=0;$i<4;$i++) $status_str[$i] = pack("v", 0xff); fwrite($fp, $status_str); socket_set_timeout($fp, 2); $data_full = fread($fp, 10000); $data_full = substr($data_full, 19); //echo $data_full; $data = explode("\n", $data_full); fclose($fp); $server_data = explode("\\", $data[0]); for ($i=1; $i $m[1], "ping" => $m[2], "raw_name" => $m[3], "name" => tremulous_strip_colors($m[3]), "colored_name" => tremulous_strip_colors($m[3])); if($P[$i-1] == 2) { $human[] = $pinfo; } elseif($P[$i-1] == 1) { $alien[] = $pinfo; } else { $spec[] = $pinfo; } $i++; } } return array( "alien_players" => $alien, "human_players" => $human, "spec_players" => $spec, "map" => $map ); } function tremulous_draw_players_table($server = "127.0.0.1", $port = 30720) { $players = tremulous_get_players($server, $port); ?>
Alien ( Players) Human ( Players)
Spectators ( Players)
current map:
?tremulous_player_sort=kills">Kills ?tremulous_player_sort=ping">Ping ?tremulous_player_sort=name">Name