* * * Форумы на Наша-Life THREAD * * *
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
THREAD : Блок мониторинга Cs:s
Started at 15-08-2007 08:49 by infinityoleg
Visit at https://forums.nashalife.ru/showthread.php?threadid=38990
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 1]
Author : infinityoleg
Date : 15-08-2007 08:49
Title : Блок мониторинга Cs:s
Доброго всем дня! Столкнулся с такой проблемкой создавая сайт для сервера CS:S, может кто поможет!
Разместил на сайте блок мониторинга сервера, все работает кроме отображения карты всегда пишет "Нет изображения"
Вот PHP скрипт:
[QUOTE]
\n";
}
else
{
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00".chr(10));
$st=fread($fp,1);
if (!$st)
{
echo("Сервер отключен");
$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
\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("/statscs/upload/images/maps/halflife/cstrike/".$map.".jpg")) $show_map = "";
else $show_map = "";
echo("
\n \n");
echo(" \n\n");
echo(" \n");
echo(" Сервер: | ".$name." | \n");
echo("
\n");
echo(" \n");
echo(" IP: | ".$address." | \n");
echo("
\n");
echo(" \n");
echo(" Карта: | ".$map." | \n");
echo("
\n");
echo(" \n");
echo(" Игроков: | ".$current."/".$max." | \n");
echo("
\n\n");
echo("
\n\n");
echo(" $show_map
\n\n");
echo(" \n\n");
echo(" \n");
echo(" # | \n");
echo(" Имя игрока | \n");
echo(" Фрагов | \n");
echo("
\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(" \n");
echo(" $n | \n");
echo(" $name | \n");
echo(" $kills | \n");
echo("
\n");
};
echo("\n
\n\n");
echo("
\n");
};
};
};
fclose($fp);
?>
[/QUOTE]
Может кто сможет исправить ошибку, или предложить альтернативный вариант.
Если надо то вот полный путь до карт:
C:\Program Files\Apache Group\Apache2\htdocs\StatsCS\upload\images\maps\halflife\cstrike
Адрес сервера: 10.4.0.221 -пока на локальной машине.
Карты хочу использовать от установленного на томже сервере Психостата.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 2]
Author : Mad Аdmin
Date : 15-08-2007 10:24
Посмотри передается ли название карты переменной $map
тобишь сначала без картинки...
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 3]
Author : infinityoleg
Date : 15-08-2007 11:16
Переменная $map передается! Передается все кроме $show_map т.е. самой картинки мапы !
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 4]
Author : infinityoleg
Date : 17-08-2007 18:39
Ну что ни кто не знает ??? Посоветуйте тогда что-нибудь аналогичное, только обязательно с картой !
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 5]
Author : Mad Аdmin
Date : 17-08-2007 21:51
А что тут советовать? используй переменную $map при вставке картинки карты.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 6]
Author : infinityoleg
Date : 18-08-2007 17:59
[QUOTE][i]Оригинальное сообщение от Mad Аdmin [/i]
[B]А что тут советовать? используй переменную $map при вставке картинки карты. [/B][/QUOTE]
Как это использовать переменную $map !!?? Переменная $map отображает просто название карты, а мне надо чтобы картинка карты заработала за которую отвечает переменная $show_map!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 7]
Author : Mad Аdmin
Date : 18-08-2007 18:27
[QUOTE][i]Оригинальное сообщение от infinityoleg [/i]
[B]Как это использовать переменную $map !!?? Переменная $map отображает просто название карты, а мне надо чтобы картинка карты заработала за которую отвечает переменная $show_map! [/B][/QUOTE]
Так и использовать
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 8]
Author : infinityoleg
Date : 18-08-2007 23:52
Зачем это вставлять если это уже в скрипте есть ???
Я так присмотрелся мне кажется, что в скрипте как то перепутаны переменные. Потому что я посмотрел какую он хочет открыть картинку на мое удивление там оказался результат переменной $name !!!
Not Found
The requested URL /statscs/upload/images/maps/halflife/cstrike/cstrike.jpg was not found on this server.
Apache/2.0.58 (Win32) PHP/5.1.4 Server at 10.4.0.221 Port 80
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 9]
Author : Capral
Date : 19-08-2007 04:06
А где вообще можно почитать об этом блоке и его настройке?
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Post 10]
Author : avakov
Date : 19-08-2007 07:51
Title : Re: Блок мониторинга Cs:s
Забудь про этот скрипт! Полная дрянь!! Есть скрипы и получше! Я его на сайте испробовал - не пашет! Вот мой:
[CODE]"; //Здесь открываем большую таблицу
$content .= ""; //Начинаеам вертикальный столбец
$content .= ""; //Начинаеам горизонтальный столбец
$content .= "";
$server="avakov.lan";
$qw=chr(32);
$fp = fsockopen ("udp://".$server,"27015");
if (!$fp) {
$content .= "ERROR: $errno - $errstr \n";
} else {
fwrite($fp,"\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00".chr(10));
$st=fread($fp,1);
$r=socket_get_status($fp);
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
fclose($fp);
$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);
$map=SubStr($st,0,StrPos($st,chr(0)));
$st=SubStr($st,StrPos($st,chr(0))+1);
$name=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));
}
$show_map="";
$content .= ("
$show_map
Карта:
$map
Адрес:
avakov.lan:27015
Мод:
CS:Source
Игроков:
$current / $max
");
$fp = fsockopen ("udp://".$server,"27015");
if (!$fp) {
$content .= "ERROR: $errno - $errstr \n";
} else {
fwrite($fp,"\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00".chr(10));
$st=fread($fp,1);
$r=socket_get_status($fp);
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
fclose($fp);
$playersn=ord(substr($st,5,1));
$st=substr($st,6);
if ($playersn !=0 )
$content .= (" |