Дата: 2011-01-21 14:25:38
Комментариев: 0
Counter-Strike: Source статистика на сайте Для удобства мониторинга вашего сервера выведем краткую статистику на сайте. Для этого нужно:
1. Изменить адрес вашего сервера
2. Изменить путь, где хранятся картинки карт для предпросмотра.
В итоге должно получится что-то на подобии картинки слева.

Теперь код самого скрипта:

cat cssdm.php
<?php
$server="192.168.0.3";
$qw=chr(32);
$fp = fsockopen ("udp://".$server,"27015");
if (!$fp) {
    echo "ERROR: $errno - $errstr<br>\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);
    $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));
    }
$show_map="<img src='http://192.168.0.3/maps/".$name.".jpg' width='170' height='120'>";
echo "
<br>
<table border='0' style='border-style:dotted '>
   <tr>
   <td style='background-color:#004080' colspan='2'><font face='Tahoma' color='#FFFFFF' size='1'><b><center>$map</center></b></font></td>
   </tr>
 
   <tr>
    <td colspan='2'>$show_map</td>
   </tr>
 
   <tr>
    <td style='background-color:#004080' colspan='2'><font face='Tahoma' color='#FFFFFF' size='1'><b><center>Карта: $name</center></b></font></td>
   </tr>
 
   <tr>
    <td colspan='2'><font face='Tahoma' color='#004080' size='1'><center><b>IP-адрес: &nbsp; 62.182.89.114</b></center></font></td>
  </tr>
 
  <tr>
   <td><font face='Tahoma' color='#004080' size='1'><center>Игроков:&nbsp; $current</center></font></td>
   <td><font face='Tahoma' color='#004080' size='1' style='border:1px; border-bottom: 1px dotted #bdbdbd'><center>Макс:&nbsp; $max</center></font></td>
  </tr>
 
  </table>
";
 
?>
Вот такое вот получилось порно видео
Слегка подправив этот скрипт можно будет засунуть его вывод в conky:
Counter-Strike: Source статистика в conky
Для этого наш скриптик подправим, вырезав не нужные html теги:
cat cssdm2.php
<?php
$server="192.168.0.3";
$qw=chr(32);
$fp = fsockopen ("udp://".$server,"27015");
if (!$fp) {
    echo "ERROR: $errno - $errstr<br>\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);
    $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));
    }
echo "$name		Игроков: $current";
 
?>
 

Отредактируем .conkyrc и добавим строку:
gedit .conkyrc
${color #FFFFFF}CSSDM: ${color red}${execi 5 php /путь/до/cssdm2.php}

Каждые 5 секунд будут обновляться данные.
Файлы:
cssdm.php.tar.gz
cssdm2.php.tar.gz
теги: server, conky

0 комментариев

Оставить комментарий: