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

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

Isis 23.11.2006 00:12

php script
 
Вообщем мне нужна помощь :)

Я делаю мониторинг кс серверов и у меня есть 2 скрипта!!!

Вот первый(мониторинг онлайн):
сам скрипт
вид скрипта
Вот второй(скрипт показывает кто в игре и сколько фрагов):
сам скрипт
вид скрипта

Что-то я смог что-то у вас спрашиваю :)

1) Вот вы видите что в первом скрипте под строкой "Сервер" идут ИП серверов и линки на них!!!

Так вот....я хочу сделать так чтобы эти линки указывали на второй скрипт, а в то время как второй скрипт знал какой ип сервера ему нужно нам показать!!!

Вообщем при нажатии на какото из серверов было видно кто играет на том или ином сервере!!!


2) Хочу сделать так..чтобы на странице показывало максимум 10 серверов...если больше , то снизу появляется линк на след.страницу !!!

3)И вот последний вопрос....можно ли мне както сократить свою работу???Не повторять все время скрипт для каждого сервера(как вы это видите в 1 скрипте), а мб както по другому можно!!!

4)Хочу сделать так...чтобы на сайте была форма в которую ишут любые постеители IP:порт (сервера кс) и если этот сервер активен, то он добавляется в таблицу :)

Вообщемто все :)Ух ужас сколько я хочу ))Спасибо

TaNkist 23.11.2006 11:52

Поверхностно просмотрел твои скрипты:
1)Меняем в первом скрипте
Код:

$url="<a href=http://".$server.">";
 на
$url="<a href=http://lamak.info/monitoring/stats.php?server=".$server.">";

Во стором скрипте:
Код:

if (!isset($server))
{
$server="89.169.79.236";
}

P.S.: может быть тут приведен некорректный код, т.к. PHP я знаю очень плохо
2) Создай переменную счетчик.
3) Вынеси код проверки сервера в отдельную функцию.
4) Тогда создай текстовый файл с ip-шниками или заноси их БД.

Isis 23.11.2006 14:19

Респект тебе !!!!!!Спасибо

Вот 2,3 и 4 конечно хотелось бы поподробнее:)
Т.к. в пхп я не силен

Isis 25.11.2006 04:30

Цитата:

if (!isset($server))
{
$server="89.169.79.236";
}
А почему там именно тот ип???
Чуть не доработан пхп код..... :(

bul.666 25.11.2006 05:21

Цитата:

А почему там именно тот ип???
ХЗ... Он указан, как поумолчанию...
Тоесть, если сервер не указан, то он будет таковым =)

Isis 25.11.2006 18:27

С этими строчками скрипт очень долго загружая страницу показал мне её пустую :)

bul.666 25.11.2006 18:48

Значит этот сервер хреновый =)

Isis 26.11.2006 00:40

Вот все я сделал кроме 1 пункта!!!
Казалось бы это так легко, но не получатся!!!
Вот 1 скрипт :
http://lamak.info/cs/
Вот 2 скрипт:
Код:

<?php
error_reporting(E_ALL);
$server=$_GET['server'];
if (!isset($server))
{
echo "Ошибка в просмотре статистики сервера";
}
$qw=chr(32);

$fp = @fsockopen ("udp://".$server,27015);
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>";
?>

Надо сделать так, чтобы во втором скрипте при stats.php?server=.$server.
Показывалась статистика игроков ( т.е. 2 скрпит)
Но показывает он почемуто половину серверов так, а др.половину не хочет !!!
Сделайте плз как нужно ))Я даже заплачу

bopoh13 29.11.2006 14:42

Мда, замудрено тут у тебя. Где скрипт нашел-то?
Цитата:

Fatal error: Maximum execution time of 30 seconds exceeded
Заметь, ошибка не возникает, когда на сервере у тебя количесво играков равно 1. В другом случае возникает ошибка...

Вот скажи: зачем тебе, например,
Цитата:

$qw=chr(32);
эта переменная нигде не используется...

Скрипт интересный, но чувствуется, куска не хватает. :rolleyes:

ЗЫ: зачем исходные файлы удалил? Я не телепат!

Isis 30.11.2006 08:47

Как приду...восстановлю


Время: 02:27