ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Скрипт мониторинга cs серверов.
  #1  
Старый 29.01.2007, 04:30
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию Скрипт мониторинга cs серверов.

Скрипт написан NeX^oR'om спец. фор ми давно уже, но я купил у него так что мой :fuck:
Только вот сейчас думаю зачем купил....написал бы сам сейчас ыыы
Код:
<?php

error_reporting(E_ALL);

define ("SERVLIST", "servers.txt");  // файл со списком server:port
define ("URL", 'stats.php?server='); // скрипт подробной статистики по конкретному серверу
define("SERVERSBYPAGE", 10);  // количество серверов на страницу

function GetServerInfo($server,$port) {
     $fp = @fsockopen("udp://".$server, $port);
     if (!$fp) return false;

     @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));
     $start=time();
     socket_set_timeout($fp,1);
     $st=fread($fp,1);
     $r=socket_get_status($fp);
     $r=$r["unread_bytes"];
     if ($r == 0) { @fclose($fp); return false;}
     $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));

     if ($map == "") return false;
     $result['map'] = $map;
     $result['name']= $name;
     $result['current'] = $current;
     $result['max'] = $max;

     return $result;
}

function ReadServers($servlist) {
     $file = @fopen($servlist,"rt");

     if ($file) {
       $lines = explode("\n", fread($file, filesize($servlist)));
       foreach ($lines as $v) {
         $elem = explode(":",$v);
         $srv['ip'] = $elem[0];
         $srv['port'] = $elem[1];
         if (GetServerInfo($srv['ip'],$srv['port'])) $servers[] = $srv;
       }
       fclose($file);
       return $servers;
     } else return false;

}

function AddServer($newserver,$servlist) {
     if (!preg_match('/^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d{1,5}$/xs',$_REQUEST['newserver'])) return false;
     $f = fopen($servlist,"a+");
     if (!$f) return false;

     fputs($f,"\n".$_REQUEST['newserver']);
     fclose($f);
     return true;
}


if (isset($_REQUEST['newserver'])) {

     if (!preg_match('/^\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d{1,5}$/xs',$_REQUEST['newserver']))
        echo "Ошибка! Невозможно определить введенный сервер или порт";
     else { list($newserv['ip'],$newserv['port']) = explode(":",$_REQUEST['newserver']);

            if (!GetServerInfo($newserv['ip'],$newserv['port'])) echo "Ошибка! Не удалось подключиться к серверу";

            elseif (in_array($newserv, ReadServers(SERVLIST))) echo "Сервер уже есть в списке<br />";
            elseif (!AddServer($newserver,SERVLIST)) echo "Ошибка при добавлении сервера <br />";
            else echo "Сервер добавлен в список <br />";
     }
   echo "<br/><a href=".$_SERVER['SCRIPT_NAME'].">Вернуться</a>";
   exit;

}

$servers = array();
$servers = ReadServers(SERVLIST);
$countpages = ceil(count($servers)/SERVERSBYPAGE);

if (!isset($_GET['page']) || ((int)$_GET['page'] == 0) || $_GET['page'] < 1) $_GET['page'] = 1;
{
   for ($i=0; $i < ($_GET['page']-1)*SERVERSBYPAGE; $i++) array_shift($servers);
   while (count($servers) > SERVERSBYPAGE) array_pop($servers);

}

?>

<table width='50%' cellpadding='3' cellspacing='3' bordercolor='#333333'>
  <tr>
    <td><div align='center'>Сервер:</div></td>
    <td><div align='center'>Название:</div></td>
    <td><div align='center'>Карта:</div></td>
      <td><div align='center'>Игроков:</div></td>
    <td><div align='center'>Статус:</div></td>
  </tr>

<?php

foreach ($servers as $k=>$v) {

    $serv = GetServerInfo($v['ip'],$v['port']);
    if ($serv) 
    echo "<tr>
          <td><div align='center'>
          <a href=".URL.$v['ip']." onmouseover=\"return overlib('На сервере сейчас играют:');\" onmouseout=\"return nd();\">".$v['ip'].":".$v['port']."<a></div></td>
          <td><div align='center'>".$serv['name']."</div></td>
          <td><div align='center'>".$serv['map']."</div></td>
          <td><div align='center'>".$serv['current']."/".$serv['max']."</div></td>
          <td height='50'><div align='center'>
          <font color=green><b>Online</b></font>
          </div></td></tr>";
}
echo "<br /></table>";

if (count($servers) > SERVERSBYPAGE) {
echo "<br /><br /><p>Страницы:&nbsp;</p>";

 for ($i = 1; $i <= $countpages; $i++);
{

  if ($i == $_GET['page'] ) echo "[".$i."]&nbsp;";
  else
  echo "[<a href=\"".$_SERVER['SCRIPT_NAME']."?page=$i\">$i</a>]&nbsp;";

}
 }
else echo"Мониторинг all Half-Life mode's";
echo "<br />
         <p>Добавить сервер:</p>

         <form  action=".$_SERVER['SCRIPT_NAME'].">
         <input name=\"newserver\" type=\"text\" value=\"IP:порт\" onfocus=\"if(this.value=='IP:порт')this.value='';\" onblur=\"if(this.value=='')this.value='IP:порт';\">
         <input type=\"submit\" value=\"Добавить\">
         </form>";


?>
А вот скрипт на подробную статистику по каждому серверу..например :
сервер anticheaters.ru Всего 26/28 играют....перечисляются ники....сколько фрагов и т.п. !!!

Код:
<?php
error_reporting(E_ALL);
error_reporting(0);
if (!isset($port))
{
$port='27015';
}
if (!isset($server))
{
$server='89.169.79.236';
}
$qw=chr(32);

$fp = @fsockopen ("udp://".$server,$port);
@stream_set_timeout($fp, 3);
if (!$fp) return false;
{
  fwrite($fp,"\377\377\377\377players".chr(10));
//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 )
{
 echo ("\n<meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1251\">
<title>Кто играет?</title>
<body>
<center>
<table width=\"100\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" align=\"left\" bgcolor=\"black\">
  <tr>
    <td colspan=\"3\"><center><font color=white>Сейчас на сервере $server : </font></center></td>
  </tr>
  <tr>
    <td bgcolor=\"#ffffff\" width=\"15\">N</td>
    <td bgcolor=\"#ffffff\" width=\"250\">Игрок:</td>
    <td bgcolor=\"#ffffff\">Kills:</td>
  </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>
    <td bgcolor=\"#ffffff\" width=\"15\">$n</td>
    <td bgcolor=\"#ffffff\" width=\"250\">$name</td>
    <td bgcolor=\"#ffffff\">$kills</td>
  </tr>\n");
        }
        echo("</table></body>"); 
}
else 
echo "Ошибка в просмотре статистики сервера </html>";
?>
 
Ответить с цитированием

  #2  
Старый 29.01.2007, 06:08
Аватар для ice1k
ice1k
Постоянный
Регистрация: 01.01.2007
Сообщений: 551
Провел на форуме:
4908597

Репутация: 1866


Отправить сообщение для ice1k с помощью ICQ
По умолчанию

Эмм, где-то я это видел... Наверно ты это на Дамаге постил...
И вообще - ты уверен, что он писал это specially 4 you? - ибо я это ещё очень давно где-то видел =\
 
Ответить с цитированием

  #3  
Старый 29.01.2007, 08:56
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

ice1k, да, я постил на дамаге....
И я 100% уверен что писал он спец.фо ми..
1 скрипт писал он, второй я гдето взял в инете и переделал...
 
Ответить с цитированием

  #4  
Старый 29.01.2007, 12:22
Аватар для bopoh13
bopoh13
Участник форума
Регистрация: 31.10.2006
Сообщений: 212
Провел на форуме:
1073612

Репутация: 50
По умолчанию

Уже кто-то постил 2 месяца назад. Ссылку не помню.
Просил доработать =)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разные скрипты r@mbler PHP, PERL, MySQL, JavaScript 4 06.03.2007 18:08
Скрипт для MySQL piton Уязвимости 3 13.01.2007 20:40
Настройка системы мониторинга интерфейсов сети с помощью netmond и rrdtool MicRO *nix 2 13.12.2006 21:38
Скрипт для брута... Allen PHP, PERL, MySQL, JavaScript 4 07.03.2006 01:28
Php скрипт для отправки писем... Allen PHP, PERL, MySQL, JavaScript 6 21.02.2006 22:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ