Мониторинг сервера, Мониторинг PHP WEB |
Здравствуйте, гость ( Авторизация | Регистрация )
Мониторинг сервера, Мониторинг PHP WEB |
04.04.2007, 07:46
Сообщение
#1
|
|
Почти Игрок Репутация: 9 Группа: Только зарегистрировался Сообщений: 28 Регистрация: 15.02.2006 |
сделал основную работу, а вы уж дизайн сами мастерите...
Код <?php
$address="localhost"; $port="5447"; $socket = fsockopen(("udp://" . $address),$port,$errno,$errdesc,$maxwait); $query = "\xFE\xFD\x00\xE5\xA9\x2A\x02\xFF\xFF\xFF\x01"; fwrite($socket,$query); @socket_set_timeout($socket, 2); $reply = @fread($socket, 2048); fclose($socket); /* $Infoarray = explode(chr(0), $reply); echo "<pre>"; print_r($Infoarray); echo "</pre>"; */ if($reply != '') { $Infoarray = explode(chr(0), $reply); $querysuccess = true; $servername = $Infoarray[4]; $serverversion = $Infoarray[8]; $numplayers = $Infoarray[10]; $maxplayers = $Infoarray[12]; $gametype = $Infoarray[14]; $players = " <td wight=100% nowrap align=center>$Infoarray[74]</td>\n <td wight=100% nowrap align=center>$Infoarray[78]</td>\n <td wight=100% nowrap align=center>$Infoarray[82]</td>\n <td wight=100% nowrap align=center>$Infoarray[86]</td>\n <td wight=100% nowrap align=center>$Infoarray[90]</td>\n "; }; echo " Сервер: $servername<br> Версия: $serverversion<br> Сейчас на сервере: $numplayers/$maxplayers<br> Режим: $gametype<br> Список игроков:<br> <table border=0 wight=100 width=100% bgcolor=000000 cellpadding=1 cellspacing=1>\n <tr bgcolor=white align=center>\n <td wight=100% nowrap>player_</td>\n <td wight=100% nowrap>score_</td>\n <td wight=100% nowrap>deaths_</td>\n <td wight=100% nowrap>skill_</td>\n <td wight=100% nowrap>team_</td>\n </tr>\n <tr bgcolor=white>\n $players </tr>\n </table>"; ?> |
 
|
|
|
|
04.04.2007, 07:54
Сообщение
#2
|
|
Продвинутый геймер Репутация: 242 Группа: Только зарегистрировался Сообщений: 448 Награды: 1 Регистрация: 17.07.2004 |
Гмм...на основе этого можно сделать прожку-пингер спокойно..)
В некоторых мп-играх подобные пакеты сжимаются в бинарку или еще хуже, энкрипт. +1 в репу. -------------------- ^_^ Core2Duo E8600 3.33, 4GB, Radeon HD4850 ^_^
|
 
|
|
04.04.2007, 14:51
Сообщение
#3
|
|
Почти Игрок Репутация: 9 Группа: Только зарегистрировался Сообщений: 28 Регистрация: 15.02.2006 |
подходим, не стесняемся, ставим плюсы
|
 
|
|
04.04.2007, 21:17
Сообщение
#4
|
|
Продвинутый геймер Репутация: 242 Группа: Только зарегистрировался Сообщений: 448 Награды: 1 Регистрация: 17.07.2004 |
segal, можеш повторить этотже трюк, но на делфи?
Я с байтами не возился, незнаю как объеденить в строку их... -------------------- ^_^ Core2Duo E8600 3.33, 4GB, Radeon HD4850 ^_^
|
 
|
|
04.04.2007, 22:26
Сообщение
#5
|
|
Новичок Репутация: 342 Группа: Участник Сообщений: 1526 Награды: 2 Регистрация: 12.03.2005 |
Респект!! Сейчас потестим, сделаю страничку со списком серверов и буду ее пополнять, если кому нужно - дам ссылку..
Was added in 6 minutes 39 seconds: Мм, что то не пашет ]]> Ты на какой версии PHP его тестил? Сообщение отредактировал AlexIT - 04.04.2007, 22:33 |
 
|
|
04.04.2007, 22:40
Сообщение
#6
|
|
Почти Игрок Репутация: 9 Группа: Только зарегистрировался Сообщений: 28 Регистрация: 15.02.2006 |
php 5.1.6
к дельфи близко неподходил, только msvc++ |
 
|
|
04.04.2007, 22:44
Сообщение
#7
|
|
Новичок Репутация: 342 Группа: Участник Сообщений: 1526 Награды: 2 Регистрация: 12.03.2005 |
На 5.1.4 и 4.4.2 не пашет, странно, ошибок никаких не выводит вообще..
Сообщение отредактировал AlexIT - 04.04.2007, 22:45 |
 
|
|
04.04.2007, 22:55
Сообщение
#8
|
|
Продвинутый геймер Репутация: 242 Группа: Только зарегистрировался Сообщений: 448 Награды: 1 Регистрация: 17.07.2004 |
segal, Если можно, буду благодарен за примерчик и на msvc, я с ним тоже работал немного.
-------------------- ^_^ Core2Duo E8600 3.33, 4GB, Radeon HD4850 ^_^
|
 
|
|
04.04.2007, 23:22
Сообщение
#9
|
|
Геймер Репутация: 18 Группа: Только зарегистрировался Сообщений: 126 Награды: 1 Регистрация: 29.03.2006 |
могу на дельфи забацать
-------------------- КоммунизмЪ - светлое прошлое народа!
|
 
|
|
05.04.2007, 09:56
Сообщение
#10
|
|
Продвинутый геймер Репутация: 242 Группа: Только зарегистрировался Сообщений: 448 Награды: 1 Регистрация: 17.07.2004 |
KoMMyHuCT, Отлично, попробуй.
-------------------- ^_^ Core2Duo E8600 3.33, 4GB, Radeon HD4850 ^_^
|
 
|
|
06.04.2007, 14:29
Сообщение
#11
|
|
Игрок Репутация: 6 Группа: Участник Сообщений: 35 Награды: 1 Регистрация: 05.03.2007 |
|
 
|
|
06.04.2007, 14:37
Сообщение
#12
|
|
Продвинутый геймер Репутация: 242 Группа: Только зарегистрировался Сообщений: 448 Награды: 1 Регистрация: 17.07.2004 |
Хотелось-бы увидеть кишки, и метод работы с пакетами.
-------------------- ^_^ Core2Duo E8600 3.33, 4GB, Radeon HD4850 ^_^
|
 
|
|
09.04.2007, 08:24
Сообщение
#13
|
|
Репутация: 3 Группа: Только зарегистрировался Сообщений: 2 Регистрация: 26.03.2007 |
Код <?php //settings define("STSERVER","83.172.18.162"); define("STPORT","5447"); ?> <html> <head> <title>Stalker Server Monitor v0.6b</title> </head> <body> <h1 align=center>Stalker Server Monitor</h1> <h3 align=center><?=STSERVER.':'.STPORT ?></h3> <table width=40% align=center> <tr><td aling=center><b>Players</b></td><td align=center><b>Map</b></td><td align=center><b>Gametype</b></td></tr> <?php /* here will be cash check */ // $fp = @fsockopen("udp://".STSERVER, STPORT, $errno, $errstr, 1); if (!$fp) { echo"Can't connect to server (".STSERVER.":".STPORT.")";die; } fputs($fp,"\xFE\xFD\x00\xFB\xD8\x07\x01\xFF\xFF\xFF"); @socket_set_timeout($socket, 2); $buffer = trim(fread($fp, 2048)); fclose($fp); // $ssquery = explode("\x00",$buffer); $mpl=$ssquery[9]; $npl=$ssquery[7]; $mapn=$ssquery[3]; $hostn=$ssquery[1]; $gtype=$ssquery[11]; $ssquery=str_replace("\x00","|",$buffer); $ssquery=explode("artefacts_",$ssquery); $scores=$ssquery[1]; $ssquery=explode("||",$scores); $teamscores=$ssquery[count($ssquery)-1]; unset($ssquery[count($ssquery)-1]); unset($ssquery[count($ssquery)-1]); // echo'<tr><td aling=center>'.$npl.'/'.$mpl.'</td><td align=center>'.$mapn.'</td><td align=center>'.$gtype.'</td></tr>'; echo'</table><table width=60% align=center>'; #echo'<tr><td colspan=4 align=center><h5>PLAYERS LIST</h5></td></tr>'; echo'<tr><td align=center><b>Name</b></td><td align=center><b>Score</b></td><td align=center><b>Deaths</b></td><td align=center><b>Skill</b></td><td align=center><b>Team</b></td></tr>'; foreach ($ssquery as $keys=>$player) { if($keys=="0"){ continue; } $player = explode('|',$player); if($player[4]=="1"){$player[4]="Freedom";} if($player[4]=="2"){$player[4]="Mercs";} if($player[5]=="1"){$player[4]="Spectator";} ?> <tr><td align=center><?=$player[0]?></td><td align=center><?=$player[1]?></td><td align=center><?=$player[2]?></td><td align=center><?=$player[3]?></td><td align=center><?=$player[4]?></td></tr> <?php } ?> </table> <h5 align=center>by Drake 2007 Tomsk</h5> </body> </html> Мой вариант. Идея с разбиением по нулевому символу взята у segala, остальное все свое. Работает без сбоев при teamdeathmatch. На остальных не тестировалась. |
 
|
|
09.04.2007, 09:20
Сообщение
#14
|
|
Почти Мастер Репутация: 316 Группа: Участник Сообщений: 1136 Награды: 3 Регистрация: 23.11.2005 |
Молодцы, а текущию карту он не показывает?
|
 
|
|
09.04.2007, 10:19
Сообщение
#15
|
|
Репутация: 3 Группа: Только зарегистрировался Сообщений: 2 Регистрация: 26.03.2007 |
Показывает. Счас работаю над новой версией с поддержкой дезматча и кеширования.
|
 
|
|
09.04.2007, 12:05
Сообщение
#16
|
|
Опытный Игрок Репутация: 14 Группа: Только зарегистрировался Сообщений: 63 Регистрация: 25.02.2007 |
Вот моя версия программки на делфи... ]]>
|
 
|
|
09.04.2007, 13:54
Сообщение
#17
|
|
Опытный Игрок Репутация: 14 Группа: Только зарегистрировался Сообщений: 63 Регистрация: 25.02.2007 |
Вот немного доделал программку... ]]>
1) Нельзя получить инфу 2й раз или инфу с другого сервера 2) Нельзя подключиться к серверу с программы, он просто запускает игру... |
 
|
|
09.04.2007, 15:16
Сообщение
#18
|
|
Новичок Репутация: 342 Группа: Участник Сообщений: 1526 Награды: 2 Регистрация: 12.03.2005 |
Народ, а кто то php скрипт тестил, как у вас - работает?
|
 
|
|
09.04.2007, 16:35
Сообщение
#19
|
|
Опытный Игрок Репутация: 14 Группа: Только зарегистрировался Сообщений: 63 Регистрация: 25.02.2007 |
Я тестил, работает нормально.
|
 
|
|
09.04.2007, 18:33
Сообщение
#20
|
|
Опытный Игрок Репутация: 14 Группа: Только зарегистрировался Сообщений: 63 Регистрация: 25.02.2007 |
Жаль что тут нельзя редактировать свои посты программа теперь нормально запускает сталкера + нету начальных заставок при запуске. ]]>
|
 
|
|
Текстовая версия | Сейчас: 24.04.2024, 05:10 |