Мониторинг, всего игрков, всего сервров.

Discussion in 'PHP' started by Graf I, 19 Apr 2008.

  1. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    Кто знает можете помочь сделать, чтобы показывало всего серверов, всего игроков.
     
  2. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    У меня есть свой мониторинг, только надо для него сделать чтобы писало сколько всего серверов и сколько всего игроков.
     
  3. InfernoNet

    InfernoNet Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    248
    Likes Received:
    228
    Reputations:
    -20
    Исходник в студию. Мы же не телепаты.

    P.S. всегда мечтал это сказать :D
     
    1 person likes this.
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Graf I, у тем про мониторинг кс не меньше 5, может стоит все в одной теме спрашивать?
     
  5. InfernoNet

    InfernoNet Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    248
    Likes Received:
    228
    Reputations:
    -20
    Собственно, чтоб не создавать новую тему.
    Isis, напиши что автор хочет для этого мониторинга: /showpost.php?p=557250&postcount=1
     
    1 person likes this.
  6. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    да, былобы хорошо
     
  7. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    Вот код, и еще почемуто долго грузиться страница.
    PHP:
    <?php
        error_reporting
    (0);
        
    set_time_limit(0);

        include(
    'config.php');
    ?>
    <!-- Copyright ©2008-->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
        <head profile="http://gmpg.org/xfn/11">
            <title>Мониторинг CS 1.6 серверов</title>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
            <link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
            <link rel="shortcut icon" href="/favicon.ico" />
        </head>
        <body>

            <div class="head">
              <div class="logo">
                    <img src="logo.gif" border="0" />
              </div>
              <div class="menu">
                    <h3>Меню</h3>
                    <ul>
                        <li><a href="./">Главная</a></li>
                        <li><a href="add.php">Добавить свой сервер</a></li>
                        <li><a href="feedback.php">Обратная связь</a></li>
                        <li><a href="http://kill-first.spb.ru/" target="_blank">Все для Counter-Strike</a></li>
                        <li><a href="http://kill-first.spb.ru/forum/" target="_blank">Форум</a></li>
                        <li><a href="vip/">Как попасть в Top 10</a></li>
                        <li><a href="http://p.game-servers.ru/3520/" target="_blank">Арендовать Сервер</a></li>
                    </ul>
              </div>
            </div>
            <div class="fixer"></div>
          
            <br/>
            <table class='monitor' width='80%' align='center' cellpadding='0' cellspacing='0'>
      <tr>
        <th class='left_th_table'  height='30'><div align='left'><b>Название сервера</b></div></th>
        <th class='mon'  height='30'><div align='left'><b>Адрес</b></div></th>
        <th class='mon'  height='30'><div align='left'><b>Карта</b></div></th>
        <th class='mon'  height='30'><div align='center'><b>Игроков</b></div></th>
        <th class='mon'  height='30'><div align='center'><b>Голосовать</b></div></th>
        <th class='right_th_table'  height='30'><div align='center'><b>Голосов</b></div></th>
      </tr>
    <?php

        $cache_time       
    0;
        
    $hostname_shorten 1;
        
    $hostname_length  80;
        
    $hide_offline     1;
        
    $hostname_to_ip   0;

        require_once(
    "cs/protocol.php");

        if (!
    is_writable("cs/cache.dat"))
        {
            echo 
    "Ошибка...";
            exit;
        }

        
    $lines       file("cs/cache.dat");
        
    $last_line   count($lines) - 1;
        
    $last_update intval($lines[$last_line]);
        
    $time_check  time() - ($cache_time 60);

        
    $query "SELECT `id`, `ip`, `port`, `check`, `vip`, COUNT(`server_id`) as `xxx`  FROM `servers`, `voting` WHERE `check`='1' AND `server_id`= servers.id GROUP BY server_id ORDER by `vip` DESC, `xxx` DESC ";
        
    $result    mysql_query($query);

        
    $i 1;
        while(
    $row    mysql_fetch_array($result))
        {
            
    $data_counter 0;
            
    $server_ip   $row['ip'];
            
    $server_port $row['port'];
            
    $server_type 'halflife';

            if (!
    $server_ip || !$server_port)
            {
                continue;
            }

            
    $data query($server_ip$server_port$server_type"info");

            
    $data['gamemod'] = preg_replace("/[^A-Za-z0-9 \_\-]/""_"strtolower($data['gamemod']));
            
    $data['mapname'] = preg_replace("/[^A-Za-z0-9 \_\-]/""_"strtolower($data['mapname']));

            
    $data_counter += 1;
            
    $data_cache[$data_counter] = $data;

            
    $fh fopen("cs/cache.dat","w");

            foreach(
    $data_cache as $line)
            {
                
    $line serialize($line)."\r\n";
                
    fwrite($fh,$line);
            }

            
    fwrite($fhtime());
            
    fclose($fh);
            
    ignore_user_abort(false);

            
    $stats_servers    0;
            
    $stats_players    0;
            
    $stats_maxplayers 0;

            foreach(
    $data_cache as $data)
            {
                if (!
    $data['status'] && $hide_offline)
                {
                    continue;
                }

                  if (!
    $data['status'])
                  {
                    
    $data['status']   = '';
                    
    $data['hostname'] = '';
                    
    $data['mapname']  = '';
                  }

                  if(
    $data['password'])
                  {
                    
    $data['password'] = "<img src='images/pw.gif' border='0' />";
                  }

                if (
    strlen($data['hostname']) > $hostname_length)
                {
                    if(
    $hostname_shorten == 1)
                    {
                        
    $data['hostname'] = substr($data['hostname'], 0$hostname_length 3) . "...";
                    }
                    else
                    if(
    $hostname_shorten == 2)
                    {
                          
    $data['hostname'] = "..." substr($data['hostname'], - $hostname_length);
                    }
                  }

                  
    $data['hostname'] = htmlentities($data['hostname'], ENT_QUOTES);

                  if(
    $hostname_to_ip)
                  {
                      
    $data['ip'] = gethostbyname($data['ip']);
                  }

                
    $launch get("launch"$data['ip'], $data['port'], $data['gametype']);
                
    $artmap $data['mapname'];
                if(!
    file_exists('cs/maps/'.$artmap.'.jpg')) $artmap 'noimage';

                if(
    $row['vip']) $adds "<td><div align='center'><font color=#FF99CC>VIP</font></div></td>"; else $adds "<td><div align='center'>".(mysql_num_rows(mysql_query("SELECT * FROM `voting` WHERE `server_id`='".$row['id']."'")) - 1)."</div></td>";

                if(
    $data['status'])
                {
                    echo 
    "<tr onmouseover=this.style.background='#1b1b1b' onmouseout=this.style.background='black'>
                            <td><div align='left'><a href='players.php?ip="
    .$row['ip']."&port=".$row['port']."'>".$data['hostname']."</div></td>
                            <td><div align='left'>"
    .$data['ip'].':'.$data['port']."</div></td>
                            <td><div align='left'>"
    .$data['mapname']."</div></td>
                            <td><div align='center'>"
    .$data['players'].'/'.$data['maxplayers']."</div></td>
                            <td align='center'><a href='vote.php?id="
    .$row['id']."' title='Проголосовать'>Голосовать</a></td>
                            "
    .$adds."
                        </tr>"
    ;
                }
            }
            
    $i++;
        }
    ?>
        </table>
            <p><br>
              <br>
              <br>
              <br>
              <br>
              <br>
              <br>
              <br>
              <br>
        </p>
            <p></p>
            <p><br>
            </p>
            <div class="niz">
        <div class="baner">
          <a href="http://kill-first.spb.ru/" target="_blank">Все для Counter-Strike 1.6</a><br />
             <br />
               <br />
            Copyright ©2008
          </div>
        </div>
    </body>
    </html>
     
     
  8. InfernoNet

    InfernoNet Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    248
    Likes Received:
    228
    Reputations:
    -20
    Собственно вопрос. Где такой скрипт взять?
    Ясное дело, что автор его сам не писал, значит этот скрипт распространяется по инету.
     
  9. Graf I

    Graf I Banned

    Joined:
    30 Jan 2008
    Messages:
    47
    Likes Received:
    1
    Reputations:
    0
    Автор его сам не писал, но его писали
     
  10. mixdw

    mixdw Banned

    Joined:
    27 Mar 2008
    Messages:
    81
    Likes Received:
    30
    Reputations:
    0
    так,а поделиться слабо?
     
  11. mixdw

    mixdw Banned

    Joined:
    27 Mar 2008
    Messages:
    81
    Likes Received:
    30
    Reputations:
    0
    нет желания поделиться?
     
  12. InfernoNet

    InfernoNet Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    248
    Likes Received:
    228
    Reputations:
    -20
    Да я писал ему в Pm, он так и не ответил, наверное не хочет.
    Зажал.
     
  13. GreenTiger

    GreenTiger Banned

    Joined:
    7 Dec 2007
    Messages:
    62
    Likes Received:
    10
    Reputations:
    0
    Нет, делится никто не будет т.к. автор Isis