PDA

Просмотр полной версии : php скрипт для CS


Sauza
04.01.2009, 13:49
Нашел в просторах интернета скрипт на мониторинг серверов...
И там есть такая, загадочная строчка...
<?php
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00");
?>
Кто-небудь может обьяснить ее значение?
Мне например нужно вывести, ранковую таблицу, что нужно писать?

Пытаюсь что-то дописать/поменять, браузер грузит страницу с минуту, в итоге ничего не отображает.

rushter
04.01.2009, 13:59
Код в студию...
В этой строке в какой-то файл ложиться эта строка "\xFF\xFF\xFF\xFFTSource Engine Query\x00"

Kaimi
04.01.2009, 14:05
Причем тут файл, это запрос к серверу для получении информации о нем

Sauza
04.01.2009, 14:14
<?php
$port='27016';
$qw=chr(32);
$fp = fsockopen ("udp://".$server2ip,$port);
if (!$fp)
{
echo "ERROR: $errno - $errstr<br>\n";
}
else
{
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00");
$st=fread($fp,1);
if (!$st)
{
echo("<b>Сервер отключен</b>");
$address=$server2ip.$port;
$max="0";
$current="0";
$name="Unknown";
$map="unknownmap";
}
else
{
$r=socket_get_status($fp);
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
$st=substr($st,5);
$address=SubStr($st,0,StrPos($st,chr(0)));
$address=str_replace(chr(0),"|",$address);
$st=SubStr($st,StrPos($st,chr(0))+1);
$name=SubStr($st,0,StrPos($st,chr(0)));
$st=SubStr($st,StrPos($st,chr(0))+1);
$map=SubStr($st,0,StrPos($st,chr(0)));
$st=SubStr($st,StrPos($st,chr(0))+1);
$st=SubStr($st,StrPos($st,chr(0))+1);
$st=SubStr($st,StrPos($st,chr(0))+1);
$current=ord(SubStr($st,0,1));
$max=ord(SubStr($st,1,1));
};
};
fclose($fp);

$fp = fsockopen ("udp://".$server2ip,$port);
if (!$fp)
{
echo "ERROR: $errno - $errstr<br>\n";
}
else
{
fwrite($fp,"\xFF\xFF\xFF\xFFW\x00".chr(10));
$st=fread($fp,1);
if ($st)
{
$r=socket_get_status($fp);
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
$sbstr=substr($st,5,5);
fwrite($fp,"\xFF\xFF\xFF\xFFU".$sbstr."\x00".chr(10));
$st=fread($fp,1);
if ($st)
{
$r=socket_get_status($fp);
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
$playersn=ord(substr($st,5,1));
$st=substr($st,6);
if (file_exists("/img/maps/".$map.".jpg")) $show_map = "<center><img src=\"/img/maps/".$map.".jpg\" width=\"160\" height=\"120\" style=\"border: 2 dashed #FF9900\"></center>";
else $show_map = "<center><img src=\"/img/maps/".$map.".jpg\" width=\"160\" height=\"120\" style=\"border: 2 dashed #FF9900\"></center>";
echo("<body text='AAAAAA'> \n \n");
echo(" <table>\n\n");
echo(" <tr>\n");
echo(" <table border=0 cellspacing=0 cellpadding=0 class=green_1_b style=\"padding-left: 10\">\n\n");
echo(" <td width=\"85\"><b>Сервер:</b></td><td width=\"180\">".$name."</td>\n");
echo(" </tr>\n");
echo(" <tr>\n");
echo(" <td width=\"85\"><b>IP:</b></td><td>".$server2ip.":".$port."</td>\n");
echo(" </tr>\n");
echo(" <tr>\n");
echo(" <td width=\"85\"><b>Карта:</b></td><td>".$map."</td>\n");
echo(" </tr>\n");
echo(" <tr>\n");
echo(" <td width=\"85\"><b>Игроков:</b>&nbsp;</td><td>".$current."/".$max."</td>\n");
echo(" </tr>\n\n");
echo(" </table>\n\n");
echo("<br> <p>$show_map</p><br>\n\n");
echo(" <center><table border=0 borderColor=#FF9900 cellspacing=0 cellpadding=0 style=\"border: 1 dashed #FF9900\">\n\n");
echo(" <tr>\n");
echo(" <td align=\"center\" width=\"15\" style=\"border: 1 dashed #FF9900\">#</td>\n");
echo(" <td align=\"center\" width=\"250\" style=\"border: 1 dashed #FF9900\"><b>Имя игрока</b></td>\n");
echo(" <td align=\"center\" width=\"70\" style=\"border: 1 dashed #FF9900\"><b>Фрагов</b></td>\n");
echo(" </tr>\n");
for ($i=1;$i<=$playersn;$i++)
{
$n=ord(substr($st,0,1));
$st=substr($st,1);
$name=SubStr($st,0,StrPos($st,chr(0)));
$kills=ord(substr($st,StrPos($st,chr(0))+1,1));
if ($kills==255){$kills=-1;}
if ($kills==254){$kills=-2;}
if ($kills==253){$kills=-3;}
if ($kills==252){$kills=-4;}
$st=substr($st,StrPos($st,chr(0)));
$st=substr($st,9);
echo(" <tr>\n");
echo(" <td width=\"15\">$n</td>\n");
echo(" <td width=\"250\"> $name</td>\n");
echo(" <td align=\"center\" width=70>$kills</td>\n");
echo(" </tr>\n");
};
echo("\n </table>\n\n");
echo("</body>\n");
};
};
};
fclose($fp);
?>