Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Counter Strike (https://forum.antichat.xyz/showthread.php?t=37207)

nikfm 05.04.2007 01:02

Counter Strike
 
извеняюсь если не в тему
нужен движок для статистики Cs сервира
Чтобы показывал кто играит и какая карта

bxN5 05.04.2007 01:08

Табличку покажи,там mysql вроде
SELECT что выбрать
FROM где выбрать
WHERE если допустим выбираеш карту

ice1k 05.04.2007 01:08

http://www.psychostats.com/

nikfm 05.04.2007 01:38

Цитата:

Сообщение от ice1k
http://www.psychostats.com/

А русско язычного нет ???

а то я тут нефига непонял :confused:

Eugeny 05.04.2007 01:42

http://www.dedicated-server.ru
если попадешь в закрытый форум, то много чего интересного там найдёшь
ещё http://faq.cs2.ru

Isis 05.04.2007 02:13

Лови скрипт, используется не бд, а файлы....
+ можешь сам добавлять сервера...
PHP код:

<center>
<?php
error_reporting
(0);
define ("SERVLIST""servers.txt");  // файл со списком server:port
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($filefilesize($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($newservReadServers(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) > SERVERSBYPAGEarray_pop($servers);

}

?>

<table width='50%' cellpadding='3' cellspacing='3' border="1" 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=\"http://
{$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>";
echo 
"Мониторинг all Half-Life mode's";
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;";

}
}
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>"
;


?>
</center>



Время: 22:56