Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

История благодарностей участнику refeat ::: Спасибо сказали: 16
Дата поста: В теме: За сообщение: Спасибо сказали:
3.10.2010, 0:42 Lgsl с рейтингом
xtrimal lgsl_block для lgsl простой ,но он не идет мона сказать вот я переделал под redacid lgsl могу и рабочий под простую дать

Код
<style>
body
{
  background-color:#000000;
}
</style>
<?php
//------------------------------------------------------------------------------------------------------------+
// TELL THE STUPID BROWSER THAT IT IS AN IMAGE & TURN OFF ERROR REPORTING

error_reporting("0");

//------------------------------------------------------------------------------------------------------------+

// OVERTAKEN FROM PERRY FOR THE EASE {START}
//------------------------------------------------------------------------------------------------------------+
// GET THE CORE

require "lgsl_class.php";
  
//------------------------------------------------------------------------------------------------------------+
// GET THE SERVER DETAILS AND PREPARE IT FOR DISPLAY

  
  $lookup = lgsl_lookup_id($_GET['s']);

  if (!$lookup)
  {
    $output .= "<div style='text-align:center'> {$lgsl_config['text']['mid']} </div>"; return;
  }

  $server = lgsl_query_cached($lookup['ip'], $lookup['q_port'], $lookup['c_port'], $lookup['s_port'], $lookup['type'], "sep");

  $server = lgsl_sort_players($server);
  $server = lgsl_sort_extras($server);

  $misc   = lgsl_server_misc($server);
  $server = lgsl_server_html($server);

//------------------------------------------------------------------------------------------------------------+
// OVERTAKEN FROM PERRY FOR THE EASE {END}

//------------------------------------------------------------------------------------------------------------+
// PREPARE THE IMAGE INFOS

// WHAT BACKGROUND IMAGE WE USE. THE LAYOUT IS "image/<TYPE>/<GAME>.png"

    
      echo "
        <table cellpadding='0' cellspacing='2' style='width:170;color:#ffffff'>

          <tr>
            <td title='{$server['s']['name']}'>
<marquee onmouseover=this.stop(); onmouseout=this.start();><a href='".lgsl_link($server['o']['id'])."' target='_blank'><font color=white>{$misc['name_filtered']}</font></a></marquee>
              
              
              </div>
            </td>
          </tr>

          <tr><div align=center>
            <td style='background-image:url({$misc['image_map']}); background-repeat:no-repeat'>
              
                <img alt='' src='{$misc['image_map_password']}' title='{$lgsl_config['text']['vsd']}' style='border:none; width:{$zone_width}; background:url({$misc['icon_game']}); background-repeat:no-repeat; background-position:4px 4px' /></div>
              
            </td>
          </tr>

          <tr>
            <td title='{$misc['text_type_game']}'>
              <div style='width:{$zone_width}; white-space:nowrap; overflow:hidden;'>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Карта - {$server['s']['map']}
              </div>
            </td>
          </tr>

          <tr>
            <td title='{$lgsl_config['text']['slk']}'>
              <div style='width:{$zone_width}; white-space:nowrap; overflow:hidden'>
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Игроки - {$server['s']['players']} / {$server['s']['playersmax']}
              </div>
            </td>
          </tr></table>
<tr>
            <td title='In-game Monitor'>
              <div style='width:{$zone_width}; white-space:nowrap; overflow:hidden'>
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=http://".$_SERVER['HTTP_HOST']."><font color=white>Имя компании</font></a>
              </div>
            </td>
          </tr></table>

";

//------------------------------------------------------------------------------------------------------------+
?>


Вот небольшой скрипт как у меня в рипе 3 вип сервера! на главной!! заходим в index.php и пишем после title

Код
<table cellspacing=1 cellpadding=2 width='50%' align='center'><tr><td align=center>
<?php
$lgsl_zone_number = 1;
$output = "";
require "lgsl_files/lgsl_zone.php";
echo $output;
?>
</td><td align=center>
<?php
$lgsl_zone_number = 2;
$output = "";
require "lgsl_files/lgsl_zone.php";
echo $output;
?>
<td align=center>
<?php
$lgsl_zone_number = 3;
$output = "";
require "lgsl_files/lgsl_zone.php";
echo $output;  
echo '</tr></td></table>'; ?>


Предлагаю скрипт как на фото 3 вип сервера на главной ! Установка : Перед <?php отступаем место и вводим

Код
<table cellspacing=1 cellpadding=2 width='50%' align='center'><tr><td align=center>
<?php
$lgsl_zone_number = 1;
$output = "";
require "lgsl_files/lgsl_zone.php";
echo $output;
?>
</td><td align=center>
<?php
$lgsl_zone_number = 2;
$output = "";
require "lgsl_files/lgsl_zone.php";
echo $output;
?>
<td align=center>
<?php
$lgsl_zone_number = 3;
$output = "";
require "lgsl_files/lgsl_zone.php";
echo $output;  
echo '</tr></td></table>'; ?>



скрин - https://c-s.net.ua/forum/ipb.html?act=attac...st&id=12591
vkontakte
1.2.2010, 18:30 Нормальный Скрипт Мониторинга
Отличный скрипт мониторинга! советую
Вид мониторинга такой создаём файл например Monitoring.php туда вставляем код и Затем получается мониторинг типа monitoring.php?ip=Айпи&port=ПОРТ
Картинки кидать в maps с форматом jpg

Код для Source(Я переделал)
Раскрывающийся текст
Код
<?
echo "<title>Мониторинг сервера</title> ";
/*---------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------+
| CS Stat Panel v.1.0-панель вывода статистики КС
| Copyright © 2006 Pashtet ака Berezkin Pavel
| Mail: pashtetHK@gmail.com
+----------------------------------------------------+
| Скачали с w1rtel.blogspot.com
+----------------------------------------------------*/

$sock             = NULL;
$errno            = 0;
$errstr           = '';
$raw              = '';                             // raw data string
$data             = array();                        // array of parsed data from a query
$ping             = 0;                              // response time from last command sent/recv
$plrstr           = 'U';
$halflife_version = 1;                              // 0 = unknown version
$infostr          = 'TSource Engine Query'.chr(0);
$rulestr          = 'V';
$pingstr          = 'i';
$challenge        = 'W';

function query_info($ip, $port)
{
  global $infostr;
  if (!$ip) return FALSE;
  $start = _getmicrotime();
  $raw = _sendquery($ip, $port, $infostr);
  $end = _getmicrotime();
  if (!$raw) return FALSE;
  $data = array();                                        // query_info always resets the data array (so call this before other queries)
  if ($raw != '')
   {
    $data['ping'] = ceil(($end - $start) * 1000);        // return the time (ms) it took for the packet to return (ping)
    $data['ip']=$ip;
    $data['port']=$port;
    $data=_parse_info_halflife1($raw);
    return $data;
   }
return FALSE;
}

function _parse_info_halflife1($raw) {
        $raw = substr($raw, 5);                // strip off response header bytes
        $data['int_ipport']=_getnullstr($raw);
        list($data['int_ip'], $data['int_port'])= explode(':', $data['int_ipport']);
        $data['name']= _getnullstr($raw);
        $data['map']= _getnullstr($raw);
        $data['gamedir']= _getnullstr($raw);
        $data['gamename']= _getnullstr($raw);
        $data['totalplayers']= _getbyte($raw);
        $data['maxplayers']= _getbyte($raw);
        $data['protocol']= _getbyte($raw);        // 47
        $data['servertype']= _getchar($raw);
        $data['serveros']= _getchar($raw);
        $data['serverlocked']= _getbyte($raw);
        $data['modrunning']= _getbyte($raw);
        $data['modurl']= $data['modrunning'] ? _getnullstr($raw) : '';
        $data['modftp']= $data['modrunning'] ? _getnullstr($raw) : '';
        _getnullstr($raw);
        $data['modver']= _getshort($raw) . '.' . _getshort($raw);
        $data['modsize']= _getlong($raw);
        $data['modserveronly']= _getbyte($raw);
        $data['modclientdll']= _getbyte($raw);
        return $data;
}

// The sub-class must always contain this method to query the active players list
function query_players($ip, $port)
{
   global $plrstr;
   $raw =_sendquery($ip, $port, $plrstr.query_challenge($ip, $port));
   if (!$raw) return FALSE;
   if (!empty($raw))
        {
         $raw = substr($raw, 5);                // strip off response header bytes
         $data['activeplayers']= _getbyte($raw);
         $data['players']= array();
         for ($i=1; $i <= $data['activeplayers']; $i++)
          {
           if ($raw == '') break;
           $data['players'][] = array('id'=> _getbyte($raw),
                                      'name'=> _getnullstr($raw),
                                      'kills'=> _getlong($raw),
                                      'onlinetime'=> (int)_getfloat($raw));
          }
         $data['activeplayers'] = count($data['players']);
         return $data;
        }
        return FALSE;
}

function query_ping($ip, $port) {
         global $pingstr;
        if (!$ip) return FALSE;
        $start = _getmicrotime();
        $raw=_sendquery($ip, $port, $pingstr);
        $end = _getmicrotime();
        if ($raw == '')
        {
        return FALSE;
        }
        else
        {
        return ($end - $start) * 1000;
        }
}

function _sendquery($ip, $port, $cmd) {
        global $DEBUG;
        if (!$port) $port = '27015';
        $retry = 0;
        $oldmqr = get_magic_quotes_runtime();
        $sock=_connectsocket($ip, $port);
        if (!$sock)
        {
         trigger_error("Failed to connect to socket on $ip:$port", E_USER_WARNING);
         return FALSE;
        }
        $packets = array();                                        // stores each packet seperately, so we can combine them afterwards
        $command = pack("N", 0xFFFFFFFF) . $cmd;                   # . pack('x');
        $raw = "";

        if ($oldmqr) set_magic_quotes_runtime(0);
        if ($DEBUG) print "DEBUG: Sending query to $ip:$port:\n" . hexdump($command) . "<br>";
        fwrite($sock, $command, strlen($command));
        $expected = 0;
        do {
                $packet = fread($sock, 1500);
                if (strlen($packet) == 0)
                {
                  $retry++;
                  if ($DEBUG) print "DEBUG: Resending query $ip:$port:\n" . hexdump($command) . "<br>";
                  fwrite($sock, $command, strlen($command));
                  $expected = 1;
                  continue;
                }

                if ($DEBUG) print "DEBUG: Received " . strlen($packet) . " bytes from $ip:$port:\n" . hexdump($packet) . "<br>";

                $header = substr($packet, 0, 4);                                     // get the 4 byte header
                $ack = @unpack("N1split", $header);
                $split = sprintf("%u", $ack['split']);
                if ($DEBUG) print "DEBUG: ACK = " . sprintf("0x%X", $ack['split']) . "\n";
                if ($split == 0xFeFFFFFF)
                {                                                                    // we need to deal with multiple packets
                        $packet = substr($packet, 4);                                // strip off the leading 4 bytes
                        $header = substr($packet, 0, 5);                             // get the 'sub-header ack'
                        $packet = substr($packet, 5);                                // strip off 32bit int ID, seq# and total packet#
                        $info = @unpack("N1id/C1byte", $header);                     // we don't really care about the ID
                        if ($DEBUG) printf("DEBUG: Sub ACK: %X (%08b)\n", $info['byte'], $info['byte']);
                        if (!$expected) $expected = $info['byte'] & 0x0F;            // now we know how many packets to receive
                        $seq = (int)($info['byte'] >> 4);                            // get the sequence number of this packet
                        $packets[$seq] = $packet;                                    // store the packet
                        $expected--;
                }
                elseif ($split == 0xFFFFFFFF)
                {
                        $packets[0] = $packet;
                        $expected = 0;
                }
        }
     while ($expected and $retry < maxretries());

        fclose($sock);
        if ($oldmqr) set_magic_quotes_runtime(1);
        ksort($packets, SORT_NUMERIC);
        $raw = implode('', $packets);                              // glue the packets together to make our final data string
        return $raw;
}

function query_challenge($ip, $port) {
    global $challenge;
    if (!$ip) return FALSE;
    $raw = _sendquery($ip, $port, $challenge);
    if (!$raw) return FALSE;
    if (!empty($raw)) {
       return substr($raw,5,5);
    }
    return "";
}

function maxretries() {
        return $retries >= 0 ? $conf['retries'] : 0;
}

function _connectsocket($ip, $port, $proto='udp')
{
        global $DEBUG, $timeout, $errno, $errstr;
        if ($DEBUG) print "DEBUG: Opening socket to $ip:$port >>><br>";
        $sock = @fsockopen("$proto://$ip", $port, $errno, $errstr);
        _set_timeout($timeout);
        return $sock;
}

function _set_timeout($seconds=5, $sock=NULL) {
        if (!$sock) $sock =& $sock;
        if (!$sock) return;
        if (function_exists('stream_set_timeout')) {                        // PHP >= 4.3.0
                stream_set_timeout($sock, $seconds);
        } elseif (function_exists('socket_set_timeout')) {                // this function is deprecated
                socket_set_timeout($sock, $seconds);
        }
}

// reads a null terminated string from the raw input
function _getnullstr(&$raw) {
        if (empty($raw)) return '';
        $end = strpos($raw, "\0");                        // find position of first null byte
        $str = substr($raw, 0, $end);                        // extract the string (excluding null byte)
        $raw = substr($raw, $end+1);                // remove the extracted string (including null byte)
        return $str;                                                // return our str (no null byte)
}

// reads a character from the raw input
function _getchar(&$raw) {
        return sprintf("%c", _getbyte($raw));
}

// reads a byte from the raw input
function _getbyte(&$raw)
{
if (empty($raw)) return '';
$byte = substr($raw, 0, 1);
$raw = substr($raw, 1);
return ord($byte);
}

// reads a short integer/word (2 bytes) from the raw input
function _getshort(&$raw) {
        if (empty($raw)) return '';
        $lo = _getbyte($raw);
        $hi = _getbyte($raw);
        $short = ($hi << 8) | $lo;
        return $short;
}

// reads a long integer (4 bytes) from the raw input
function _getlong(&$raw) {
        if (empty($raw)) return '';
        $lo = _getshort($raw);
        $hi = _getshort($raw);
        $long = ($hi << 16) | $lo;
        return $long;
}

function _getfloat(&$raw) {
        if (empty($raw)) return '';
        $f = @unpack("f1float", $raw);
        $raw = substr($raw, 4);
        return $f['float'];
}

function _getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

function _unpack($type, $data)
{
  $ary = @unpack($type . '1value', $data);
  return $ary['value'];
}

function hexdump($string, $maxwidth=16) {
        $output = "";
        $curwidth = 1;
        $bytes = array();
               for ($i=0; $i<strlen($string); $i++) {
                $byte = ord($string[$i]);
                $bytes[] = $byte;
                $output .= sprintf("%02X ", $byte);
                if ($i+1 == strlen($string) and $curwidth != $maxwidth)
                {
                $padlen = ($maxwidth * 3) - (count($bytes) * 3);
                $output .= sprintf("%-{$padlen}s", " ");
                $curwidth = $maxwidth;
                }
                if ($curwidth >= $maxwidth)
                {
                        $output .= " ";
                        foreach ($bytes as $b)
                        {
                                if ($b <= 32 or $b >= 127)
                                {
                                        $output .= ".";
                                } else {
                                        $output .= chr($b);
                                }
                        }
                        $bytes = array();
                        $output .= "\n";
                        $curwidth = 1;
                }
                else
                {
                 $curwidth++;
                }
        }
        return $output;
}
$server= $_GET['ip']; $port= $_GET['port'];
$data=query_info($server, $port);
$players=query_players($server, $port);

if ($data['serveros']=="l") { $data['serveros']="Linux"; } else { $data['serveros']="Windows"; }
if ($data['serverlocked']=="0") { $data['serverlocked']="Нет"; } else { $data['serverlocked']="Да"; }
if ($data['modrunning']=="0") { $data['modrunning']="Незагружен"; } else { $data['modrunning']="Загружен"; }

//if ($data['modserveronly']){
if (file_exists("./maps/".$data['name'].".jpg")){
$show_map="<img src=\"maps/".$data['name'].".jpg\" width=\"150\" alt=\"Карта ".$data['map']."\" title=\"Карта ".$data['map']."\" />";
} else $show_map="<img src=\"maps/map_not_dir.jpg\" width=\"150\" alt=\"Карта не найдена\" title=\"Карта не найдена\" />";
//} else $show_map="<img src=\"/images/map/cs/map_not.jpg\" width=\"150\" alt=\"Нет соединения\" title=\"Нет соединения\" />";
$content .= "
<table width=\"99%\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">
<tr><td align=\"right\"><b>Имя сервера</b></td><td align=\"center\">".$data['int_ipport']."</td><td align=\"center\" rowspan=\"8\">".$show_map."</td></tr>
<tr><td align=\"right\"><b>Карта</b></b></td><td align=\"center\">".$data['name']."</td></tr>
<tr><td align=\"right\"><b>Игра</b></td><td align=\"center\">".$data['map']."</td></tr>
<tr><td align=\"right\"><b>Адрес</b></td><td align=\"center\">".$server.":".$port."</td></tr>
<tr><td align=\"right\"><b>Игроков / Макс</b></td><td align=\"center\">".$data['totalplayers']." / ".$data['maxplayers']."</td></tr>
<tr><td align=\"right\"><b>Пинг</b></td><td align=\"center\">".round(query_ping($server, $port))."</td></tr>
<tr><td align=\"right\"><b>Общий</b></td><td align=\"center\">".$data['serverlocked']."</td></tr>
<tr><td align=\"right\"><b>MOD</b></td><td align=\"center\">".$data['modrunning']."</td></tr>
</table><br />
";

$content .= "<table cellspacing=1 cellpadding=2 width='50%' align='center'><tr><td align=center>№</td><td align=center>Имя</td><td align=center>Фрагов</td><td align=center>В игре</td></tr> ";
if ($players['activeplayers'] > '0')
{
for ($i=0; $i<$players['activeplayers']; $i++) {
$timeonline=date("i:s",$players['players'][$i]['onlinetime']);
  $content .= "<tr><td align=center>".$players['players'][$i]['id']."</td><td align=center>".$players['players'][$i]['name']."</td><td align=center>".$players['players'][$i]['kills']."</td><td align=center>".$timeonline."</td></tr>";
  }
}
else
{
$content .= "<td colspan='4' align='center'><b>Сервер в данный момент пуст!</b></td></tr>";
}
$content .= "</table>";
print $content;
?>



Для 1.6

Код
<?
/*---------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------+
| CS Stat Panel v.1.0-панель вывода статистики КС
| Copyright © 2006 Pashtet ака Berezkin Pavel
| Mail: pashtetHK@gmail.com
+----------------------------------------------------+
| Скачали с w1rtel.blogspot.com
+----------------------------------------------------*/

$sock             = NULL;
$errno            = 0;
$errstr           = '';
$raw              = '';                             // raw data string
$data             = array();                        // array of parsed data from a query
$ping             = 0;                              // response time from last command sent/recv
$plrstr           = 'U';
$halflife_version = 1;                              // 0 = unknown version
$infostr          = 'TSource Engine Query'.chr(0);
$rulestr          = 'V';
$pingstr          = 'i';
$challenge        = 'W';

function query_info($ip, $port)
{
  global $infostr;
  if (!$ip) return FALSE;
  $start = _getmicrotime();
  $raw = _sendquery($ip, $port, $infostr);
  $end = _getmicrotime();
  if (!$raw) return FALSE;
  $data = array();                                        // query_info always resets the data array (so call this before other queries)
  if ($raw != '')
   {
    $data['ping'] = ceil(($end - $start) * 1000);        // return the time (ms) it took for the packet to return (ping)
    $data['ip']=$ip;
    $data['port']=$port;
    $data=_parse_info_halflife1($raw);
    return $data;
   }
return FALSE;
}

function _parse_info_halflife1($raw) {
        $raw = substr($raw, 5);                // strip off response header bytes
        $data['int_ipport']=_getnullstr($raw);
        list($data['int_ip'], $data['int_port'])= explode(':', $data['int_ipport']);
        $data['name']= _getnullstr($raw);
        $data['map']= _getnullstr($raw);
        $data['gamedir']= _getnullstr($raw);
        $data['gamename']= _getnullstr($raw);
        $data['totalplayers']= _getbyte($raw);
        $data['maxplayers']= _getbyte($raw);
        $data['protocol']= _getbyte($raw);        // 47
        $data['servertype']= _getchar($raw);
        $data['serveros']= _getchar($raw);
        $data['serverlocked']= _getbyte($raw);
        $data['modrunning']= _getbyte($raw);
        $data['modurl']= $data['modrunning'] ? _getnullstr($raw) : '';
        $data['modftp']= $data['modrunning'] ? _getnullstr($raw) : '';
        _getnullstr($raw);
        $data['modver']= _getshort($raw) . '.' . _getshort($raw);
        $data['modsize']= _getlong($raw);
        $data['modserveronly']= _getbyte($raw);
        $data['modclientdll']= _getbyte($raw);
        return $data;
}

// The sub-class must always contain this method to query the active players list
function query_players($ip, $port)
{
   global $plrstr;
   $raw =_sendquery($ip, $port, $plrstr.query_challenge($ip, $port));
   if (!$raw) return FALSE;
   if (!empty($raw))
        {
         $raw = substr($raw, 5);                // strip off response header bytes
         $data['activeplayers']= _getbyte($raw);
         $data['players']= array();
         for ($i=1; $i <= $data['activeplayers']; $i++)
          {
           if ($raw == '') break;
           $data['players'][] = array('id'=> _getbyte($raw),
                                      'name'=> _getnullstr($raw),
                                      'kills'=> _getlong($raw),
                                      'onlinetime'=> (int)_getfloat($raw));
          }
         $data['activeplayers'] = count($data['players']);
         return $data;
        }
        return FALSE;
}

function query_ping($ip, $port) {
         global $pingstr;
        if (!$ip) return FALSE;
        $start = _getmicrotime();
        $raw=_sendquery($ip, $port, $pingstr);
        $end = _getmicrotime();
        if ($raw == '')
        {
        return FALSE;
        }
        else
        {
        return ($end - $start) * 1000;
        }
}

function _sendquery($ip, $port, $cmd) {
        global $DEBUG;
        if (!$port) $port = '27015';
        $retry = 0;
        $oldmqr = get_magic_quotes_runtime();
        $sock=_connectsocket($ip, $port);
        if (!$sock)
        {
         trigger_error("Failed to connect to socket on $ip:$port", E_USER_WARNING);
         return FALSE;
        }
        $packets = array();                                        // stores each packet seperately, so we can combine them afterwards
        $command = pack("N", 0xFFFFFFFF) . $cmd;                   # . pack('x');
        $raw = "";

        if ($oldmqr) set_magic_quotes_runtime(0);
        if ($DEBUG) print "DEBUG: Sending query to $ip:$port:\n" . hexdump($command) . "<br>";
        fwrite($sock, $command, strlen($command));
        $expected = 0;
        do {
                $packet = fread($sock, 1500);
                if (strlen($packet) == 0)
                {
                  $retry++;
                  if ($DEBUG) print "DEBUG: Resending query $ip:$port:\n" . hexdump($command) . "<br>";
                  fwrite($sock, $command, strlen($command));
                  $expected = 1;
                  continue;
                }

                if ($DEBUG) print "DEBUG: Received " . strlen($packet) . " bytes from $ip:$port:\n" . hexdump($packet) . "<br>";

                $header = substr($packet, 0, 4);                                     // get the 4 byte header
                $ack = @unpack("N1split", $header);
                $split = sprintf("%u", $ack['split']);
                if ($DEBUG) print "DEBUG: ACK = " . sprintf("0x%X", $ack['split']) . "\n";
                if ($split == 0xFeFFFFFF)
                {                                                                    // we need to deal with multiple packets
                        $packet = substr($packet, 4);                                // strip off the leading 4 bytes
                        $header = substr($packet, 0, 5);                             // get the 'sub-header ack'
                        $packet = substr($packet, 5);                                // strip off 32bit int ID, seq# and total packet#
                        $info = @unpack("N1id/C1byte", $header);                     // we don't really care about the ID
                        if ($DEBUG) printf("DEBUG: Sub ACK: %X (%08b)\n", $info['byte'], $info['byte']);
                        if (!$expected) $expected = $info['byte'] & 0x0F;            // now we know how many packets to receive
                        $seq = (int)($info['byte'] >> 4);                            // get the sequence number of this packet
                        $packets[$seq] = $packet;                                    // store the packet
                        $expected--;
                }
                elseif ($split == 0xFFFFFFFF)
                {
                        $packets[0] = $packet;
                        $expected = 0;
                }
        }
     while ($expected and $retry < maxretries());

        fclose($sock);
        if ($oldmqr) set_magic_quotes_runtime(1);
        ksort($packets, SORT_NUMERIC);
        $raw = implode('', $packets);                              // glue the packets together to make our final data string
        return $raw;
}

function query_challenge($ip, $port) {
    global $challenge;
    if (!$ip) return FALSE;
    $raw = _sendquery($ip, $port, $challenge);
    if (!$raw) return FALSE;
    if (!empty($raw)) {
       return substr($raw,5,5);
    }
    return "";
}

function maxretries() {
        return $retries >= 0 ? $conf['retries'] : 0;
}

function _connectsocket($ip, $port, $proto='udp')
{
        global $DEBUG, $timeout, $errno, $errstr;
        if ($DEBUG) print "DEBUG: Opening socket to $ip:$port >>><br>";
        $sock = @fsockopen("$proto://$ip", $port, $errno, $errstr);
        _set_timeout($timeout);
        return $sock;
}

function _set_timeout($seconds=5, $sock=NULL) {
        if (!$sock) $sock =& $sock;
        if (!$sock) return;
        if (function_exists('stream_set_timeout')) {                        // PHP >= 4.3.0
                stream_set_timeout($sock, $seconds);
        } elseif (function_exists('socket_set_timeout')) {                // this function is deprecated
                socket_set_timeout($sock, $seconds);
        }
}

// reads a null terminated string from the raw input
function _getnullstr(&$raw) {
        if (empty($raw)) return '';
        $end = strpos($raw, "\0");                        // find position of first null byte
        $str = substr($raw, 0, $end);                        // extract the string (excluding null byte)
        $raw = substr($raw, $end+1);                // remove the extracted string (including null byte)
        return $str;                                                // return our str (no null byte)
}

// reads a character from the raw input
function _getchar(&$raw) {
        return sprintf("%c", _getbyte($raw));
}

// reads a byte from the raw input
function _getbyte(&$raw)
{
if (empty($raw)) return '';
$byte = substr($raw, 0, 1);
$raw = substr($raw, 1);
return ord($byte);
}

// reads a short integer/word (2 bytes) from the raw input
function _getshort(&$raw) {
        if (empty($raw)) return '';
        $lo = _getbyte($raw);
        $hi = _getbyte($raw);
        $short = ($hi << 8) | $lo;
        return $short;
}

// reads a long integer (4 bytes) from the raw input
function _getlong(&$raw) {
        if (empty($raw)) return '';
        $lo = _getshort($raw);
        $hi = _getshort($raw);
        $long = ($hi << 16) | $lo;
        return $long;
}

function _getfloat(&$raw) {
        if (empty($raw)) return '';
        $f = @unpack("f1float", $raw);
        $raw = substr($raw, 4);
        return $f['float'];
}

function _getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

function _unpack($type, $data)
{
  $ary = @unpack($type . '1value', $data);
  return $ary['value'];
}

function hexdump($string, $maxwidth=16) {
        $output = "";
        $curwidth = 1;
        $bytes = array();
               for ($i=0; $i<strlen($string); $i++) {
                $byte = ord($string[$i]);
                $bytes[] = $byte;
                $output .= sprintf("%02X ", $byte);
                if ($i+1 == strlen($string) and $curwidth != $maxwidth)
                {
                $padlen = ($maxwidth * 3) - (count($bytes) * 3);
                $output .= sprintf("%-{$padlen}s", " ");
                $curwidth = $maxwidth;
                }
                if ($curwidth >= $maxwidth)
                {
                        $output .= " ";
                        foreach ($bytes as $b)
                        {
                                if ($b <= 32 or $b >= 127)
                                {
                                        $output .= ".";
                                } else {
                                        $output .= chr($b);
                                }
                        }
                        $bytes = array();
                        $output .= "\n";
                        $curwidth = 1;
                }
                else
                {
                 $curwidth++;
                }
        }
        return $output;
}
$server= $_GET['ip']; $port= $_GET['port'];
$data=query_info($server, $port);
$players=query_players($server, $port);

if ($data['serveros']=="l") { $data['serveros']="Linux"; } else { $data['serveros']="Windows"; }
if ($data['serverlocked']=="0") { $data['serverlocked']="Нет"; } else { $data['serverlocked']="Да"; }
if ($data['modrunning']=="0") { $data['modrunning']="Незагружен"; } else { $data['modrunning']="Загружен"; }

//if ($data['modserveronly']){
if (file_exists("./maps/".$data['map'].".jpg")){
$show_map="<img src=\"maps/".$data['map'].".jpg\" width=\"150\" alt=\"Карта ".$data['map']."\" title=\"Карта ".$data['map']."\" />";
} else $show_map="<img src=\"maps/map_not_dir.jpg\" width=\"150\" alt=\"Карта не найдена\" title=\"Карта не найдена\" />";
//} else $show_map="<img src=\"/images/map/cs/map_not.jpg\" width=\"150\" alt=\"Нет соединения\" title=\"Нет соединения\" />";
$content .= "
<table width=\"99%\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">
<tr><td align=\"right\"><b>Имя сервера</b></td><td align=\"center\">".$data['name']."</td><td align=\"center\" rowspan=\"8\">".$show_map."</td></tr>
<tr><td align=\"right\"><b>Карта</b></b></td><td align=\"center\">".$data['map']."</td></tr>
<tr><td align=\"right\"><b>Игра</b></td><td align=\"center\">".$data['gamename']."</td></tr>
<tr><td align=\"right\"><b>Адрес</b></td><td align=\"center\">".$data['int_ipport']."</td></tr>
<tr><td align=\"right\"><b>Игроков / Макс</b></td><td align=\"center\">".$data['totalplayers']." / ".$data['maxplayers']."</td></tr>
<tr><td align=\"right\"><b>Пинг</b></td><td align=\"center\">".round(query_ping($server, $port))."</td></tr>
<tr><td align=\"right\"><b>Общий</b></td><td align=\"center\">".$data['serverlocked']."</td></tr>
<tr><td align=\"right\"><b>MOD</b></td><td align=\"center\">".$data['modrunning']."</td></tr>
</table><br />
";

$content .= "<table cellspacing=1 cellpadding=2 width='50%' align='center'><tr><td align=center>№</td><td align=center>Имя</td><td align=center>Фрагов</td><td align=center>В игре</td></tr> ";
if ($players['activeplayers'] > '0')
{
for ($i=0; $i<$players['activeplayers']; $i++) {
$timeonline=date("i:s",$players['players'][$i]['onlinetime']);
  $content .= "<tr><td align=center>".$players['players'][$i]['id']."</td><td align=center>".$players['players'][$i]['name']."</td><td align=center>".$players['players'][$i]['kills']."</td><td align=center>".$timeonline."</td></tr>";
  }
}
else
{
$content .= "<td colspan='4' align='center'><b>Сервер в данный момент пуст!</b></td></tr>";
}
$content .= "</table>";
print $content;
?>
The_Razer
14.1.2010, 14:05 Lgsl 5.6 + Клон Cs-onitoring.ru + Модуль ,веб Модуль,
LGSL 5,6 И дизайн от CS-monitoring.ru

Еще добавлен модуль ЧТобы можно было мониторинг на свой сайт делать

Установка

Заходим в lgsl_files / lgsl_details.php

И меняем папки где усербары на свои иначе их показывать не будет

Далее импортируем файл SQL в базу данных и в lgsl_config прописываем

Скрин + Файл НИже
-=Bagum=-, Tr1sT
11.11.2009, 11:26 клон сайта cs-monitor.ru
Просто так выложил, че я его продавать буду шоле как некоторые дураки)))
ziumer
10.11.2009, 21:32 клон сайта cs-monitor.ru
Выкладываю бесплатно для вас клон сайта cs-monitor.ru поддерживает тока cs 1.6

Установка

1.уопируем на главную страницу(в других случаяъ не пойдет адинка)
2.Экспортируем sql.sql файл в базу данных
3.Далее заходим в папку admin/md5_lib/ и выбираем mysql.php
4.меняем ходы до вашей базы

Пароль для админки Monitor кто хочет можно в config.php поменять

Мне спасибчики всее
BIGDOG, Flesh, GODZILLA, Lavrik, S.R., SHLAKBAUM, Tr1sT, ziumer
26.10.2009, 17:48 Lgsl с рейтингом
Цитата(Xtrimal @ 24.10.2009, 21:18) *
Дай мне пожалуйста ссылочку в ЛС на LGSL by redacid


сейчас дам!!

Все я нашел что искал спс redacid!

Вот полный модуль для lgsl от редасида где картинка как на My-cs.ru и html код)

Заодим в файл lgsl_details.php,Все удаляем и вписываем

Код
<?php

/*----------------------------------------------------------------------------------------------------------\
|                                                                                                            |
|                      [ LIVE GAME SERVER LIST ] [ © RICHARD PERRY FROM GREYCUBE.COM ]                       |
|                                                                                                            |
|    Released under the terms and conditions of the GNU General Public License Version 3 (http://gnu.org)    |
|                                                                                                            |
|-------------------------------------------------------------------------------------------------------------
|        [ EDITOR STYLE SETTINGS: LUCIDA CONSOLE, SIZE 10, TAB = 2 SPACES, BOLD GLOBALLY TURNED OFF ]        |
\-----------------------------------------------------------------------------------------------------------*/

//------------------------------------------------------------------------------------------------------------+

  require "lgsl_class.php";
require "lgsl_files/lgsl_menu.php";
//------------------------------------------------------------------------------------------------------------+

  $lookup = lgsl_lookup_id($_GET['s']);

  if (!$lookup)
  {
    $output .= "<div style='text-align:center'> {$lgsl_config['text']['mid']} </div>"; return;
  }

  $server = lgsl_query_cached($lookup['ip'], $lookup['q_port'], $lookup['c_port'], $lookup['s_port'], $lookup['type'], "sep");

  $server = lgsl_sort_players($server);
  $server = lgsl_sort_extras($server);

  $misc   = lgsl_server_misc($server);
  $server = lgsl_server_html($server);

//------------------------------------------------------------------------------------------------------------+
// COLUMN NAMING AND ORDER TO SHOW ON THE PLAYER LIST

  $player_field_list = array
  (
  "name"       => "Name",
  "score"      => "Score",
  "deaths"     => "Deaths",
  "ping"       => "Ping",
  "team"       => "Team",
  "time"       => "Time",
  "bot"        => "Bot",

  "xp"         => "XP",
  "enemy"      => "Enemy",
  "goal"       => "Goal",
  "honor"      => "Honor",
  "kia"        => "K.I.A.",
  "leader"     => "Leader",
  "roe"        => "R.O.E.",
  "skill"      => "Skill",
  "skin"       => "Skin",
  "stats"      => "Stats",
  "cps"        => "CPs",
  "heropoints" => "Hero Points",

  "rate"       => "Rate",
  "uid"        => "U-ID",
  "keyhash"    => "Key Hash",
//"pid"        => "Player ID",
//"pbguid"     => "PB GUID",
  ""           => ""
  );

//------------------------------------------------------------------------------------------------------------+

  $output .= "
  <div style='text-align:center'>";

// $output .= "
// <div style='".lgsl_bg(TRUE)."; width:90%; height:6px; overflow:hidden; text-align:center; margin:auto; border:1px solid'><br /></div>
//  <div style='height:20px'><br /></div>";

//------------------------------------------------------------------------------------------------------------+
// STANDARD INFO

  $output .= "
  <table class='list_table' cellpadding='4' cellspacing='0' style='margin:auto'>

    <tr>
      <td colspan='3' class='list_row'>
        <b> {$server['s']['name']} </b>
        <br /><br />
        <img src=lgsl_files/sig_".$_GET['s']."_1.png>
        <br>
        <textarea style='width: 500px; height: 40px;'>
<a href='http://".$_SERVER['SERVER_NAME']."/index.php?s=".$_GET['s']."'><img src='http://".$_SERVER['SERVER_NAME']."/lgsl_files/sig_".$_GET['s']."_1.png'></a>
        </textarea>
      </td>
    </tr>

    <tr>
      <td class='list_row' style='text-align:center'>
        <table class='list_table' cellpadding='4' cellspacing='2' style='margin:auto'>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['sts']} </b> </td> <td class='list_row''> {$misc['text_status']}                                   </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['adr']} </b> </td> <td class='list_row'> {$server['b']['ip']}                                     </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['cpt']} </b> </td> <td class='list_row'> {$server['b']['c_port']}                                 </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['qpt']} </b> </td> <td class='list_row'> {$server['b']['q_port']}                                 </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> Rating: </b> </td> <td class='list_row'> {$lookup['rating']}                      </td> </tr>

        </table>
      </td>
      <td class='list_row'>
        <table class='list_table' cellpadding='4' cellspacing='2' style='margin:auto'>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['typ']} </b> </td> <td class='list_row'> {$server['b']['type']}                                   </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['gme']} </b> </td> <td class='list_row'> {$server['s']['game']}                                   </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['map']} </b> </td> <td class='list_row'> {$server['s']['map']}                                    </td> </tr>
          <tr style='".lgsl_bg()."'> <td class='list_row'> <b> {$lgsl_config['text']['plr']} </b> </td> <td class='list_row'> {$server['s']['players']} / {$server['s']['playersmax']} </td> </tr>
        </table>
      </td>
      <td class='list_row' style='text-align:center'>
        <div style='background-image:url({$misc['image_map']}); background-repeat:no-repeat; background-position:center'>
          <img alt='' style='border:none' src='{$misc['image_map_password']}' title='{$misc['text_type_game']}' />
        </div>
      </td>
    </tr>

  </table>

  <div style='height:20px'><br /></div>";

//------------------------------------------------------------------------------------------------------------+

// $output .= "
// <div style='".lgsl_bg(TRUE)."; width:90%; height:6px; overflow:hidden; text-align:center; margin:auto; border:1px solid'><br /></div>
// <div style='height:20px'><br /></div>";

//------------------------------------------------------------------------------------------------------------+
// PLAYER INFO

  if (!$server['p'])
  {
    $output .= "
    <table class='list_table' cellpadding='4' cellspacing='2' style='margin:auto'>
      <tr style='".lgsl_bg(FALSE)."'>
        <td class='list_row'> {$lgsl_config['text']['npi']} </td>
      </tr>
    </table>

    <div style='height:20px'><br /></div>";
  }
  else
  {
    $used_field_list = array();

    foreach ($player_field_list as $field => $title)
    {
      foreach ($server['p'] as $player)
      {
        if (isset($player[$field]))
        {
          $used_field_list[$field] = $title;
        }
      }
    }

    $output .= "
    <table class='list_table' cellpadding='4' cellspacing='2' style='margin:auto'>
      <tr style='".lgsl_bg(FALSE)."'>";

      foreach ($used_field_list as $field => $title)
      {
        $output .= "
        <td class='list_row'> <b>{$title}</b> </td>";
      }

      $output .= "
      </tr>";

      foreach ($server['p'] as $player_key => $player)
      {
        $output .= "
        <tr style='".lgsl_bg()."'>";

        foreach ($used_field_list as $field => $title)
        {
          $output .= "<td class='list_row'> {$player[$field]} </td>";
        }

        $output .= "
        </tr>";
      }

    $output .= "
    </table>

    <div style='height:20px'><br /></div>";
  }

//------------------------------------------------------------------------------------------------------------+

  //$output .= "
  //<div style='".lgsl_bg(TRUE)."; width:90%; height:6px; overflow:hidden; text-align:center; margin:auto; border:1px solid'><br /></div>
// <div style='height:20px'><br /></div>";

//------------------------------------------------------------------------------------------------------------+
// EXTRA INFO
/*
  if (!$server['e'])
  {
    $output .= "
    <table class='list_table' cellpadding='4' cellspacing='2' style='margin:auto'>
      <tr style='".lgsl_bg(FALSE)."'>
        <td class='list_row'> {$lgsl_config['text']['nei']} </td>
      </tr>
    </table>

    <div style='height:20px'><br /></div>";
  }
  else
  {
    $output .= "
    <table class='list_table' cellpadding='4' cellspacing='2' style='margin-left:auto; margin-right:auto;'>

      <tr style='".lgsl_bg(TRUE)."'>
        <td class='list_row'> <b>Setting</b> </td>
        <td class='list_row'> <b>Value  </b> </td>
      </tr>";

    foreach ($server['e'] as $field => $value)
    {
      $color = lgsl_bg();

      $output .= "
      <tr>
        <td class='list_row'> {$field} </td>
        <td class='list_row'> {$value} </td>
      </tr>";
    }

    $output .= "
    </table>

    <div style='height:20px'><br /></div>";
  }
*/
//------------------------------------------------------------------------------------------------------------+

  //$output .= "
  //<div style='".lgsl_bg(TRUE)."; width:90%; height:6px; overflow:hidden; text-align:center; margin:auto; border:1px solid'><br /></div>
  //<div style='height:20px'><br /></div>";

  $output .= "
  </div>";

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
//------  PLEASE MAKE A DONATION OR SIGN THE GUESTBOOK AT GREYCUBE.COM IF YOU REMOVE THIS CREDIT ---------------------------------------------------------------------------------------------------+

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

?>


Далее идем в lgsl_sig.php,Все удоляем и пишем

Код
<?php
require "lgsl_class.php";
//------------------------------------------------------------------------------------------------------------+

  $lookup = lgsl_lookup_id($_GET['s']);

  if (!$lookup)
  {
    $output .= "<div style='text-align:center'> {$lgsl_config['text']['mid']} </div>"; return;
  }

  $server = lgsl_query_cached($lookup['ip'], $lookup['q_port'], $lookup['c_port'], $lookup['s_port'], $lookup['type'], "sep");

  $server = lgsl_sort_players($server);
  $server = lgsl_sort_extras($server);

  $misc   = lgsl_server_misc($server);
  $server = lgsl_server_html($server);

//------------------------------------------------------------------------------------------------------------+
// COLUMN NAMING AND ORDER TO SHOW ON THE PLAYER LIST

  $player_field_list = array
  (
  "name"       => "Name",
  "score"      => "Score",
  "deaths"     => "Deaths",
  "ping"       => "Ping",
  "team"       => "Team",
  "time"       => "Time",
  "bot"        => "Bot",

  "xp"         => "XP",
  "enemy"      => "Enemy",
  "goal"       => "Goal",
  "honor"      => "Honor",
  "kia"        => "K.I.A.",
  "leader"     => "Leader",
  "roe"        => "R.O.E.",
  "skill"      => "Skill",
  "skin"       => "Skin",
  "stats"      => "Stats",
  "cps"        => "CPs",
  "heropoints" => "Hero Points",

  "rate"       => "Rate",
  "uid"        => "U-ID",
  "keyhash"    => "Key Hash",
//"pid"        => "Player ID",
//"pbguid"     => "PB GUID",
  ""           => ""
  );


// Set the content-type
header('Content-type: image/png');
// The text to draw
$server_name = strtoupper($server['s']['name']);

$server_status = $misc['text_status'];
$server_ip = strtoupper($server['b']['ip']);
$server_port = $server['b']['c_port'];
$server_type = $server['b']['type'];
$server_game = $server['s']['game'];
$server_map = $server['s']['map'];
$server_players = $server['s']['players'];
$server_max = $server['s']['playersmax'];
$server_rate = $lookup['rating'];
$server_icongame = imagecreatefromgif($misc['icon_game']);


if (($pos = strrpos($misc['image_map'], ".")) === FALSE)
  echo "Error - file doesn't have a dot.";
else {
  $extension = substr($misc['image_map'], $pos + 1);
  //echo $extension;
}
if ($extension == 'gif') {
$server_imagemap = imagecreatefromgif($misc['image_map']);    
}
if ($extension == 'jpg') {
$server_imagemap = imagecreatefromjpeg($misc['image_map']);    
}
list($map_width, $map_height) = getimagesize($misc['image_map']);

// Create the image
$im_h = 300;
$im_w = 300;
$im = imagecreatetruecolor($im_w, $im_h);
// Create some colors
$white = imagecolorallocate($im, 700, 255, 255);
$grey = imagecolorallocate($im, 200, 223, 231);
$ramka_cl = imagecolorallocate($im, 200, 1, 0);
$text_cl = imagecolorallocate($im, 20, 77, 0);
imagefilledrectangle($im, 0, 0, 300, 300, $grey);
// Replace path by your own font path
$font = 'comic.ttf';

// Add some shadow to the text
//imagettftext($im, 142, 0, 11, 21, $grey, $font, $server_name);
// Add the text
//imagelayereffect($im, IMG_EFFECT_REPLACE);

//imagelayereffect($im, IMG_EFFECT_OVERLAY);

$i= -300;
while ($i <= 300) {
//imageline($im, $i+300,0,$i,300,$white);
imageline($im, $i,300,$i+300,300,$white);  
$i=$i+5;  
}

imagecopyresampled($im, $server_imagemap, 50, 40, 0, 0, 200, 200, $map_width, $map_height);
imagecopyresampled($im, $server_icongame, 50, 35, 0, 0, 16, 16, 16, 16);


//imagettftext($im, 8, 30, 80, 60, $grey, $font, $server_name);
imagettftext($im, 10, 0, 20, 260, $text_cl, $font, $server_name);


imagettftext($im, 10, 0, 20, 290, $text_cl, $font, $server_ip.':'.$server_port);

//imagettftext($im, 20, 0, 190, 290, $black, $font, $server_game);

imagettftext($im, 10, 0, 70, 50, $text_cl, $font, 'Rating: '.$server_rate);

imagettftext($im, 10, 1, 190, 230, $text_cl, $font, $server_map);

imagettftext($im, 10, 1, 200, 290, $text_cl, $font, 'Players: '.$server_players.'/'.$server_max);


//imagecopyresampled($im, $server_imagemap, 662, 2, 0, 0, 16, 16, $map_width, $map_height);

//Ramka
imageline($im, 0,0,$im_w-0,0,$ramka_cl);
imageline($im, 0,$im_h-1,$im_w-0,$im_h-1,$ramka_cl);
imageline($im, 0,0,0,$im_h,$black);
imageline($im, $im_w-1,0,$im_w-1,$im_h,$ramka_cl);


// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
Flesh
11.10.2009, 16:38 Lgsl с рейтингом
redacid скажи как поставить чтобы было типо как у тебя написано На картинке сервера имя народ и тп и ниже html ссылка !!!

Я скачал lgsl redacid но тама нету этого

вот вам новая версия lgsl)))
Flesh