<?php
function cs_scan($ip,$port) {
$fp = @fsockopen("udp://$ip",$port,$errno,$errstr); if (!$fp) {
$data[address] = $ip.":".$port;
$data[gamemod] = "-";
$data[hostname] = "Сервер выключен";
$data[mapname] = "-";
$data[players] = "0";
$data[maxplayers] = "0";
$data[password] = "-";
$data[datatype] = "-";
$data[version] = "-";
$data[description] = "-";
$data[server_type] = "-";
$data[server_os] = "-";
$data[server_secure] = "-";
$data[server_bots] = "-";
return $data;
}
else {
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00"); $buffer = fread($fp,4096); if (!$buffer) {
$data[address] = $ip.":".$port;
$data[gamemod] = "-";
$data[hostname] = "<span style='color:red;'>Сервер выключен</span>";
$data[mapname] = "-";
$data[players] = "0";
$data[maxplayers] = "0";
$data[password] = "-";
$data[datatype] = "-";
$data[version] = "-";
$data[description] = "-";
$data[server_type] = "-";
$data[server_os] = "-";
$data[server_secure] = "-";
$data[server_bots] = "-";
return $data;
}
$second_packet = $buffer;
if (strlen($second_packet) > 0) { if ($reverse_check[0] == "1") {
$tmp = $buffer;
$buffer = $second_packet;
$second_packet = $tmp;
}
$buffer = substr($buffer, 13); $second_packet = substr($second_packet, 9); $buffer = trim($buffer.$second_packet); $data[address] = $ip.":".$port;
$data[gamemod] = "-";
$data[hostname] = "Сервер выключен";
$data[mapname] = "-";
$data[players] = "0";
$data[maxplayers] = "0";
$data[password] = "-";
$data[datatype] = "-";
$data[version] = "-";
$data[description] = "-";
$data[server_type] = "-";
$data[server_os] = "-";
$data[server_secure] = "-";
$data[server_bots] = "-";
return $data;
}
}
}
$place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5; $data[address] = $ip.":".$port;
$data[gamemod] = $tmp[3];
$data[hostname] = $tmp[1];
$data[mapname] = $tmp[2];
$data[players
] = ord($buffer[$place]); $data[maxplayers
] = ord($buffer[$place + 1]); $data[password
] = ord($buffer[$place + 5]); $data[datatype] = $buffer[0];
$data[version
] = ord($buffer[$place + 2]); $data[description] = $tmp[4];
$data[server_type] = $buffer[$place + 3];
$data[server_os] = $buffer[$place + 4];
$data[server_secure
] = ord($tmp[14]); $data[server_bots
] = ord($tmp[15]); $data[hostname] = " You have been banned from this server";
$data[mapname] = "";
}
if ($data == "Server offline") {
$data[hostname] = "Server Offline";
$data[mapname] = "";
$data[players] = "0";
$data[maxplayers] = "0";
}
return $data;
}
?>