RRD Tool |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
RRD Tool |
330863
|
28.2.2011, 18:46
Сообщение
|
![]() |
Может кто знаком с RRD Tool и видел плагин который берёт статистику онлайна с сервака и делает график ?
|
|
|
|
330863
|
1.3.2011, 17:45
Сообщение
|
![]() |
Добавлю что чутьчуть перепутал ,плагин нужен для Munin ,а для мунина RRD Tool графики делает
Шас нашёл для srcds(CS:S) плагин с фпс игроками итд тут: http://css.setti.info/downloads/munin-srcds-plugin/ Помогите найти для кс1.6 :) умоляю |
|
|
|
330863
|
2.3.2011, 9:00
Сообщение
|
![]() |
вот пример нашёл: http://fragarena.pl/munin/fragarena.pl-CS/..._hlds_i686.html
|
|
|
|
Serj
|
2.3.2011, 16:22
Сообщение
|
![]() |
Здесь смотрел?
|
|
|
|
qwerty1234567890
|
7.3.2011, 20:15
Сообщение
|
|
|
Типа такого? http://bbs.unet.ws/serv/
Если в кактусе разбираешься - ничо сложного. csplayers1.php для вывода текущего кол-ва игроков на сервере Код <?php if(!function_exists('getmicrot ime')) { function getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } } function serverInfo($ip, $port) { $ip = gethostbyname($ip); $timeStart = getmicrotime(); $fp = fsockopen('udp://'.$ip, $port); stream_set_timeout($fp, 2); if($fp) { fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\0\r"); $temp = fread($fp, 4); $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'] = 'on'; if( strpos($array[0], $ip) !== 0) { $server['players'] = ord($array[5][0]); $server['maxplayers'] = ord($array[5][1]); $server['name'] = trim(substr($array[0], 1)); $server['map'] = trim($array[1]); $server['game'] = trim($array[2]); } else { $server['players'] = ord($array[5][0]); $server['maxplayers'] = ord($array[5][1]); $server['name'] = trim($array[1]); $server['map'] = trim($array[2]); $server['game'] = trim($array[3]); } $command = pack("V", -1) . 'W'; fwrite($fp, $command, strlen($command)); $temp = fread($fp, 1500); $temp = substr($temp, 5); $lo = (ord($temp[1]) << 8) | ord($temp[0]); $hi = (ord($temp[3]) << 8) | ord($temp[2]); $data = "\xFF\xFF\xFF\xFF\x55".pack("V", ($hi << 16) | $lo); fwrite($fp, $data); $temp = fread($fp, 5); $status = socket_get_status($fp); if($status['unread_bytes']>0) { $temp = fread($fp, $status['unread_bytes']); $array = array(); $temp = substr($temp, 1); for($i=1;$i<=$server['players'];$i++) { $temp = substr($temp, 1); $pos = strpos($temp, "\0"); $name = substr($temp, 0, $pos); $temp = substr($temp, $pos+1); $lo = (ord($temp[1]) << 8) | ord($temp[0]); $hi = (ord($temp[2]) << 8) | ord($temp[3]); $temp = substr($temp, 4); $kills = ($hi << 16) | $lo; $f = @unpack("f1float", $temp); $temp = substr($temp, 4); $time = (int)$f['float']; if(trim($name)) $server['stats'][] = array("name" => $name, "kills" => $kills, "time" => gmdate("H:i:s", $time)); } } } else $server['status'] = 'off'; } return $server['players']; } $info1 = serverInfo('IP_сервера','27015'); echo $info1; echo ".00 "; ?> srv_info.sma Для вывода в файл среднего, максимального и минимального FPS сервера каждые 5 мин. Плагин написан xakintosh, доработан мной. Код /* This plugin is made by xakintosh with Amxmodx Studio 1.4.3 (final) */
// Thanks to @He3aBucuM #include <amxmodx> #include <amxmisc> #include <fakemeta> new hud_rgb, hud_x, hud_y, hud_effects,maxplayers,hudsync; new Float:globalfps2 = 0.0; new Float:globalfps3 = 0.0; new Float:globalfpsmin = 10001.0; new Float:globalfpsmax = 0.0; new counter=0; public plugin_init() { register_plugin("Server Side Info","1.6","xakintosh") hud_rgb = register_cvar( "srv_hud_rgb", "0 255 0" ) hud_x = register_cvar( "srv_hud_x", "0.11" ) hud_y = register_cvar( "srv_hud_y", "0.00" ) hud_effects = register_cvar( "srv_hud_effects", "0" ) hudsync = CreateHudSyncObj() maxplayers = get_maxplayers() set_task(1.0, "Fwd_StartFrame", 1, "", 0, "b") set_task(300.0, "Fwd_OutInfoFile", 1, "", 0, "b") register_forward(FM_StartFrame, "Fwd_StartFrame") } public Fwd_StartFrame(id) { new timestring[31] get_time("%H:%M:%S",timestring,8) static Float:GameTime, Float:FramesPer = 0.0 static Float:Fps GameTime = get_gametime() if(FramesPer >= GameTime) Fps += 1.0; else { FramesPer = FramesPer + 1.0; if (globalfpsmin > Fps) { globalfpsmin = Fps; } if (globalfpsmax < Fps) { globalfpsmax = Fps; } counter = counter + 1; globalfps2 = (globalfps2+Fps); if(counter==300){ globalfps3 = ( globalfps2/counter ); counter = 0; globalfps2 = 0.0; } for( new id = 1; id <= maxplayers; id++ ) { new red, green, blue get_hud_color(red, green, blue) new timeleft = get_timeleft() set_hudmessage(red,green,blue,get_pcvar_float(hud_x),get_pcvar_float(hud_y),get_pcvar_num(hud_effects),6.0,1.0) ShowSyncHudMsg(id,hudsync,"FPS: %.1f^nКарта: %d:%02d^nВремя: %s",Fps,timeleft / 60, timeleft % 60,timestring) } Fps = 0.0 } } get_hud_color(&r, &g, &b) { new color[20] static red[5], green[5], blue[5] get_pcvar_string(hud_rgb, color, charsmax(color)) parse(color, red, charsmax(red), green, charsmax(green), blue, charsmax(blue)) r = str_to_num(red) g = str_to_num(green) b = str_to_num(blue) } public Fwd_OutInfoFile(id) { new i new szData[100] i = fopen("/stat.txt","w"); if(i!=0){ format(szData,sizeof(szData)-1, "%.1f %.1f %.1f",globalfps3,globalfpsmin,globalfpsmax); fputs(i,szData); fclose(i); globalfpsmin = 10001.0; globalfpsmax = 0.0; } } |
|
|
|
330863
|
7.3.2011, 20:52
Сообщение
|
![]() |
qwerty1234567890,
http://setmaster.info/munin/myhostname/myh..._226_27015.html пример ,но это другой плагин мунин ,а мне нужен тот который показывает графики фпс :) Цитата Если в кактусе разбираешься - ничо сложного. впервые слишу про такую стату |
|
|
|
qwerty1234567890
|
7.3.2011, 21:07
Сообщение
|
|
|
Угощайся! http://www.cacti.net/
Цитата Cacti — open-source веб-приложение, система позволяет строить графики при помощи RRDtool. Cacti собирает статистические данные за определённые временные интервалы и позволяет отобразить их в графическом виде. Преимущественно используются стандартные шаблоны для отображения статистики по загрузке процессора, выделению оперативной памяти, количеству запущенных процессов, использованию входящего/исходящего трафика. Оч удобная штука, для превращения статистики в графики как раз использует RRD Tool. Управляется по http. |
|
|
|
viktor6
|
21.7.2011, 19:08
Сообщение
|
|
|
330863,
Если найдеш для munin поделись Вот что я нашел только в английском не силен http://www.tutos-gameserver.fr/mybb/thread-217.html
Отредактировал: viktor6, - 21.7.2011, 19:22
|
|
|
|
330863
|
21.7.2011, 21:52
Сообщение
|
![]() |
viktor6,
про это я знаю но это неподойдёт для CS1.6 |
Поблагодарили 1 раз
|
|
viktor6
|
23.7.2011, 7:30
Сообщение
|
|
|
Жаль что нельзя его переделать
|
|
|
|
viktor6
|
25.7.2011, 18:36
Сообщение
|
|
|
viktor6, про это я знаю но это неподойдёт для CS1.6 А говорят должен работать http://css.setti.info/forum/topic/3870-mun...dpost__p__45859 |
|
|
|
viktor6
|
27.7.2011, 20:24
Сообщение
|
|
|
viktor6, я попробую у себя протестить, какбы протоколы hl2 похожи) хм, скрипт работает с srcds по tcp протоколу, hlds этого непоймёт, придётся переписать модуль http://css.setti.info/forum/topic/3870-mun...6192#entry46192 |
|
|
|
![]() ![]() |