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

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

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

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

Игроки в мониторинге

Статус пользователя Zeliboba
сообщение 18.1.2009, 19:55
Сообщение #1
Стаж: 17 лет

Сообщений: 26
Благодарностей: 2
Полезность: 60

Доброго времени суток.
У меня есть следующий PHP скрипт:
Код
<?php
function getmicrotime()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}
function csserver($port)
{
$server['ip'] = 'opaopa.ru'; $server['port'] = $port;
$timeStart = getmicrotime();
$fp = fsockopen('udp://'.$server['ip'], $server['port']);
stream_set_timeout($fp, 2);
if($fp)
{
    fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00\r");
    $temp = fread($fp, 5);
    $status = socket_get_status($fp);
    if($status['unread_bytes']>0)
    {
        $temp = fread($fp, $status['unread_bytes']);
        $server['ping'] = (int)((getmicrotime() - $timeStart)*1000);
        $array = array();
        $pos = 0;
        while($pos !== false)
        {
            $pos2 = strpos($temp, "\0", $pos+1);
            $array[] = substr($temp, $pos+1, $pos2-$pos)."\n";
            $pos = $pos2;
        }
        $server['status'] = '<font color="green">включен</font>';
        if(trim($array[2]) == 'cstrike')
        {
            $server['players']    = ord($array[5][0]);
            $server['maxplayers']    = ord($array[5][1]);
            $server['name']    = trim($array[0]);
            $server['map']    = trim($array[1]);
        }
        else
        {
            $server['players']    = ord($array[5][0]);
            $server['maxplayers']    = ord($array[5][1]);
            $server['name']    = trim($array[1]);
            $server['map']    = trim($array[2]);
        }
        $nf = @fopen("names/".$server['port'], "w+");
        @fwrite($nf, $server['name']);
        @fclose($nf);
    }
    else
    {
        $server['status'] = '<font color="red">выключен</font>';
        $server['players'] = '–';
        $server['maxplayers'] = '–';
        $nf = fopen("names/".$server['port'], "r");
        $server['name'] = fread($nf, filesize("names/".$server['port']));
        fclose($nf);
        $server['map'] = '–';
    }
}
print '
<center><span style="position: relative; top: 0.5em; background-color: #fff;">&nbsp;'.$server['name'].' — '.$server['ip'].':'.$server['port'].'&nbsp;</span></center>
<div style="border: 1px solid #666; padding-top: 1em; padding-bottom: 1em;">
<table style="height: 30px;"><tr><td width="300"><b>Статус:</b> '.$server['status'].'</td><td width="300"><b>Онлайн:</b> '.$server['players'].'/'.$server['maxplayers'].'</td><td width="300"><b>Карта:</b> '.$server['map'].'</td></tr></table>';
echo '</div>';
}
?>

Как добавить список игроков на сервере?
Я с сокетами просто не дружу, по этому прошу знающих =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя garage
сообщение 26.1.2009, 14:35
Сообщение #2


Стаж: 18 лет

Сообщений: 90
Благодарностей: 12
Полезность: 107

Lavrika проси =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: