PHP скрипты мониторинга серверов КС 1.6

Статус
В этой теме нельзя размещать новые ответы.
самый просто :
<?PHP
$server="79.165.189.224";
$port='27015';
$map_images_path='/mon/maps/';

// hl new query part

$qw=chr(32);
$fp = fsockopen ("udp://".$server,$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=$server.$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://".$server,$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("/mon/maps/".$map.".jpg")) $show_map = "<img src=\"/mon/maps/".$map.".jpg\">";
else $show_map = "<img src=\"/mon/maps/$map.jpg\">";
echo("<body> \n \n");
echo(" <table>\n\n");
echo(" <tr>\n");
echo(" <table border=1 borderColor=#E6E9EA cellspacing=0 cellpadding=0 >\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>".$address."</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></td><td>".$current."/".$max."</td>\n");
echo(" </tr>\n\n");
echo(" </table>\n\n");
echo("<br> <p>$show_map</p><br>\n\n");
echo(" <table border=1 borderColor=#E6E9EA cellspacing=0 cellpadding=0 >\n\n");
echo(" <tr>\n");
echo(" <td align=\"center\" width=\"15\">#</td>\n");
echo(" <td align=\"center\" width=\"250\"><b>Имя игрока</b></td>\n");
echo(" <td align=\"center\" width=\"70\"><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);
?>
 
Не знаю предлогали тебе такое или нет:

Кроме мониторинга есть еще подсчет статистики поподаний в голову, оружия и т.п
 
ув. Bubbles а подскажите пожалуйста как настроить скрипт?!:ah:

Вся настройка заключается в замене адреса игрового сервера на свой..Там же не забудьте прописать порт,на котором висит сервер (по умолчанию 27015). Если не получится,скинь в личку свои данные ;)
 
2Bubbles Спасибо, уже разобрался. Просто нетерпеливость и безграничная радость т.к. искал такую штуку уже давно и слава богу нашёл за что вам и спасибо еще раз. Просто мега REspecT!!! :yahoo:

Только вот, столкнулся с некоторым вопросом.
Картинка грузится примерно 5-6 секунд, это так и должно быть?!:)

з.ы. а вот еще раз уж попал сюда грех не спросить, можно ли как то с PsychoStats 3.1 что-то сделать на подобии этого, только что бы отображало kills/deaths/skill/HS/timeonline?! :ah:
 
есть что то похожее
как например



Добавлено через 17 минут
Пример скрипта мониторинга что я выкладывал Для просмотра ссылки Войди или Зарегистрируйся
Вот скрипт для установки мониторинга себе в подпись на форуме (графику меняйте на свой вкус)

Не совсем понял как им пользоваться.
Где добавлять IP?
Как выглядит ссылка на банер с мониторингом?
 
rumble

настраиваешь в image.php

а именно
кидаешь скрипт в папку на сервере... ну например cs_banner т.е путь выглядит вот так Для просмотра ссылки Войди или Зарегистрируйся

открываешь и image.php ищешь вот это:

PHP:
require_once("class_PQ.php");
$height=100; //x на x парметр картинки
$width=350; //x на x парметр картинки
$path="C:/WEBserver/www/cs_banner/"; // путь до картинки полный))
$image="cs.png"; //название картинки! обязательно png!!!

вписуеш сюда свои значения.

потом ищешь:

PHP:
$pqinfo = array();
$pq = PQ::create(array('ip' => "xxx.xxx.xxx.xxx:port", 'querytype' => "halflife_new_queries",));
$pqinfo = $pq->query(array('players','info', 'rules'));

там где
PHP:
$pq = PQ::create(array('ip' => "xxx.xxx.xxx.xxx:port"
поставь ип серва и порт ну например 127.0.0.1:27015

сохраняешь закрываешь и все...

посмотреть можно открыв Для просмотра ссылки Войди или Зарегистрируйся
а вот вставить в подпись уже надо вот так... (по примеру выше)

в подписе будет выглядеть вот так

HTML:
[img]http://localhost/cs_banner/image.php/cs.png[img]

p.s. не каждый форум разрешает поддержку динамических страниц в подпеси поэтому не на всех форумах будет работать!


p.s.s а что ты хочешь там изменить?! может смогу помочь?!:)

Добавлено через 1 минуту

HACKALL
а чем тебя эти не устраивают?!
все доработанеые и готовые бери и ставь!:)
 
GameQ только надо знать PHP на уровне HelloWorld!

PHGStats полностью готов, но мёртв.

Всё на sourceforge
 
Прошу прощения не тот мониторинг выложил...
Вот тот..

есть есчо такой

А вообще меня интересует,есть ли у кого нить такой скрипт мониторинга как тут ---> ?
Ну или хотя бы подобие такого мониторинга, что бы можно было бы добовлять сервера другим пользователям?:confused:
 

Вложения

  • monitor.rar
    944 байт · Просмотры: 85
  • 1213777578_6d642ccf6dcf.jpg
    1213777578_6d642ccf6dcf.jpg
    57,5 KB · Просмотры: 125
  • modules-modul_monitoringa_cs_full_2.1.rar
    125,5 KB · Просмотры: 64
gQuery или qStat это набор классов пхп, как я понял.
Тоесть сам сайт делаешь сам и в нужные места вставляешь переменные которые дают эти скриптики.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху