Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
|---|---|---|---|---|---|
| 18.1.2009, 19:55 | Игроки в мониторинге | Доброго времени суток. У меня есть следующий 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;"> '.$server['name'].' — '.$server['ip'].':'.$server['port'].' </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>'; } ?> Как добавить список игроков на сервере? Я с сокетами просто не дружу, по этому прошу знающих =) |
pixel111 | ||