Главная · База плагинов и модов · Форум · ПОИСК · Хостинг 18 сентября 2018
Навигация
Главная
Новости
База плагинов и модов
FAQ
Форум
Cсылки
Обратная связь
ПОИСК
Карта сайта (тест)
Хостинг
Разработчикам
Похожие темы
SA:MP мониторинг
Мониторинг игровых с...
Мониторинг игровых с...
Мониторинг сервера MTA
Доделайте пжласта мо...
Мониторинг сервера L...
Мониторинг Lineage 2...
Мониторинг содержимо...
Мониторинг Quake3/Co...
Люди помогите зделат...
Счетчик


Rambler's Top100

отчет по мониторингу сайта

Спонсоры

CMS SmartFox

Сайт поддержки модифицированной версии PHP-Fusion

Сайт поддержки модифицированного PHP-Fusion


Каждому заказавшему хостинг от FirstVDS по реферальной ссылке - скидка 25%
Просмотр темы
[..] Список форумов - Плагины и моды PHP-Fusion
 |-[..] Разработка плагинов
  [*] мониторинг для Diablo II

Автор [*] мониторинг для Diablo II
mishqa35
Пользователь

Сообщений: 143
Зарегистрирован: 09.11.07
Опубликовано 16 ноября 2007 13:18
всем еще раз привет , мня интересует мониторинг для DiabloII етот сервер не использует mysql базы ... хочу штобы примерно выглядел..

Сервер: Online/offline
Игроков онлайн: 1..

я пытался сделать но недоделал =)

<?php

////Статус сервера//////

error_reporting(0);
$IP = array(

" Cервер: " => "172.16.151.31:6113",
); while(list($ServerName,$Host)=each($IP)) {
list($IPAddress,$Port)=explode(":",$Host);
echo($ServerName);
if($fp=fsockopen($IPAddress,$Port,$ERROR_NO,$ERROR_STR,(float)0.5)) {
echo("<font color='green'>On-line </font><br>"smiley;
fclose($fp);
}
else {
echo ("<font color='red'>Off-line </font><br>"smiley;
}
}

?>




всем заранее спасибо..smiley
361-072-319
Автор [*] RE: мониторинг для Diablo II
muS1c
Пользователь

Сообщений: 61
Зарегистрирован: 06.03.07
Опубликовано 18 ноября 2007 00:51
Ну статус то показывает.
А вот поле с игроками я чота не наблюдаю )
Автор [*] RE: мониторинг для Diablo II
mishqa35
Пользователь

Сообщений: 143
Зарегистрирован: 09.11.07
Опубликовано 18 ноября 2007 14:44
переделайте плиз мониторинг от php-nuke для php-fusion.......

<?php
if (!defined("IN_FUSION"smiley) { header("Location:../../index.php"smiley; exit; }

if (file_exists(INFUSIONS."popular_articles_panel/locale/".$settings['locale'].".php"smiley) {
include INFUSIONS."popular_articles_panel/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."popular_articles_panel/locale/English.php";
}

// Connection timeout in seconds. If the script cannot connect to a server before this timeout,
// then that server is considered to be offline. Don't make this too big or your website could
// take a long time to load.
$timeout = 1;

$pvpgn = array(
'check' => true, // Should we check the status of the PvPGN server? (true or false)
'ip' => '172.16.151.31', // IP of the PvPGN server
'port' => 6112, // Port of the PvPGN server
);

$content .="Статус сервера: ";

if ($pvpgn['check']) {
if ($fp = @fsockopen($pvpgn['ip'], $pvpgn['port'], $errno, $errstr, $timeout)) {
fclose($fp);
$pvpgn_online = true;
$online = '<font color="#00FF00">online</font>';
$content .= "".$online."";
} else {
$pvpgn_online = false;
$offline = '<font color="#FF0000">online</font>';
$content .= "".$offline."";
}
}

$content .="<br><br>";

//=============================== XML =======================================
$file = 'D:\Игры\DiabloII\pvpgn\var\status\server.xml';

global $stack;

function startTag($parser, $name, $attrs)
{
global $stack;
$tag=array("name"=>$name,"attrs"=>$attrs);
array_push($stack,$tag);

}

function cdata($parser, $cdata)
{
global $stack,$i;

if(trim($cdata))
{
$stack[count($stack)-1]['cdata']=$cdata;
}
}

function endTag($parser, $name)
{
global $stack;
$stack[count($stack)-2]['children'][] = $stack[count($stack)-1];
array_pop($stack);
}


$stack = array();
$version = array();
$uptime = array();
$num_pl = array();
$user = array();
$num_gs = array();
$games = array();
$num_ch = array();
$channels = array();


$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag"smiley;
xml_set_character_data_handler($xml_parser, "cdata"smiley;

$data = xml_parse($xml_parser,file_get_contents($file));
if(!$data) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}

xml_parser_free($xml_parser);

//print("<pre>\n"smiley;
//print_r($stack);
//print("</pre>\n"smiley;


// version
$versionname=$stack[0][children][0][name];
$version[$versionname]=$stack[0][children][0][cdata];
//print("<pre>\n"smiley;
//print_r($version);
//echo $version['VERSION'];
//print("</pre>\n"smiley;
//uptime
$uptimename=$stack[0][children][1][name];
$uptime[$uptimename]=$stack[0][children][1][cdata];
//print("<pre>\n"smiley;
//print_r($uptime);
//echo $uptime['UPTIME'];
//print("</pre>\n"smiley;
//num_players
$npname=$stack[0][children][2][children][0][name];
$num_pl[$npname]=$stack[0][children][2][children][0][cdata];
//print("<pre>\n"smiley;
//print_r($num_pl);
//echo $num_pl['NUMBER'];
//print("</pre>\n"smiley;

//users
for($i = 1; $i < sizeof($stack[0][children][2][children]); $i++)
{
for($x = 0; $x < sizeof($stack[0][children][2][children][$i][children]); $x++)
{
$usersname=$stack[0][children][2][children][$i][children][$x][name];
$usersvalue=$stack[0][children][2][children][$i][children][$x][cdata];
if($usersname=="NAME"smiley $un=$usersvalue;
$user[$un][$usersname]=$usersvalue;

}
}
//print("<pre>\n"smiley;
//print_r($user);
//print("</pre>\n"smiley;


//foreach($user as $key => $u)
//{
// print("<pre>\n"smiley;
// echo $u['NAME'];
// echo $u['CLIENTTAG'];
// echo $u['VERSION'];
// print("</pre>\n"smiley;
//}


//num_gs
$valname=$stack[0][children][3][children][0][name];
$num_gs[$valname]=$stack[0][children][3][children][0][cdata];

//print("<pre>\n"smiley;
//print_r($num_gs);
//echo $num_gs['NUMBER'];
//print("</pre>\n"smiley;

//games
for($i = 1; $i < sizeof($stack[0][children][3][children]); $i++)
{
for($x = 0; $x < sizeof($stack[0][children][3][children][$i][children]); $x++)
{
$gamename=$stack[0][children][3][children][$i][children][$x][name];
$gamevalue=$stack[0][children][3][children][$i][children][$x][cdata];
if($gamename=="NAME"smiley $gs=$gamevalue;
$games[$gs][$gamename]=$gamevalue;

}
}
//print("<pre>\n"smiley;
//print_r($games);
//print("</pre>\n"smiley;


//foreach($games as $key => $g)
//{
// print("<pre>\n"smiley;
// echo $g['NAME'];
// echo $g['CLIENTTAG'];
// print("</pre>\n"smiley;
//}


//num_ch
$ncname=$stack[0][children][4][children][0][name];
$num_ch[$ncname]=$stack[0][children][4][children][0][cdata];
//print("<pre>\n"smiley;
//print_r($num_ch);
//echo $num_ch['NUMBER'];
//print("</pre>\n"smiley;

//channels
for($i = 1; $i < sizeof($stack[0][children][4][children]); $i++)
{
$channelsname=$stack[0][children][4][children][$i][name];
$channelsvalue=$stack[0][children][4][children][$i][cdata];
$cn=$i;
$channels[$cn][$channelsname]=$channelsvalue;


}
//print("<pre>\n"smiley;
//print_r($channels);
//print("</pre>\n"smiley;

//foreach($channels as $key => $ch)
//{
// print("<pre>\n"smiley;
// echo $ch['CHANNEL'];
// print("</pre>\n"smiley;
//}


//===================================================================
$li_d = '<li type="disk""></li>';
$li_c = '<li type="circle"></li>';
$li_s = '<li type="square"></li>';
$content .= "<table cellspacing=\"0\">\n";
$content .= "".$li_d."Версия PvPGN: ".$version['VERSION']."<br>\n";
$content .= "".$li_d."Работает: ".$uptime['UPTIME']."<br>\n";
$content .= "".$li_d."Игроков онлайн: ".$num_pl['NUMBER']."<br>\n";
$content .= "".$li_d."Игр создано: ".$num_gs['NUMBER']."<br>\n";
$content .="<br>";
$w3ft = '<div align="left"><font color="#FF0000">:: Warcraft III Frozen Throne ::</font></div>';
$content .= "".$w3ft."<br>\n";
$content .= "Игроки:<br>\n";
foreach($user as $key => $u)
{
if($u['CLIENTTAG'] == 'W3XP'smiley
{
$iconvu = iconv("UTF-8","CP1251",$u['NAME']);
$content .= "".$li_c."".$iconvu." (".$u['VERSION']."smiley<br>\n";
// echo $u['NAME'];
// echo $u['CLIENTTAG'];
// echo $u['VERSION'];
}
}
$content .="Созданные игры:<br>\n";
foreach($games as $key => $g)
{
if($g['CLIENTTAG'] == 'W3XP'smiley
{
$iconvg = iconv("UTF-8","CP1251",$g['NAME']);
$content .="".$li_c."".$iconvg."<br>\n";
//echo $g['NAME'];
//echo $g['CLIENTTAG'];
}
}

$content .="<br>";
$sb = '<div align="left"><font color="#FF0000">:: Starcraft Broodwar ::</font></div>';
$content .="".$sb."\n";
$content .="<br>";
$content .= "Игроки:<br>\n";

foreach($user as $key => $u)
{
if($u['CLIENTTAG'] == 'SEXP'smiley
{
$iconvu = iconv("UTF-8","CP1251",$u['NAME']);
$content .= "".$li_c."".$iconvu." (".$u['VERSION']."smiley<br>\n";
// echo $u['NAME'];
// echo $u['CLIENTTAG'];
// echo $u['VERSION'];
}

}

$content .="Созданные игры:<br>\n";
foreach($games as $key => $g)
{
if($g['CLIENTTAG'] == 'SEXP'smiley
{
$iconvg = iconv("UTF-8","CP1251",$g['NAME']);
$content .="".$li_c."".iconvg."<br>\n";
//echo $g['NAME'];
//echo $g['CLIENTTAG'];
}
}

$content .= "</table>\n";

?>

Изменил(а) mishqa35, 21 ноября 2007 13:00
361-072-319
Автор [*] RE: мониторинг для Diablo II
zedbez
Пользователь

Сообщений: 1
Зарегистрирован: 06.02.08
Опубликовано 06 февраля 2008 00:38
mishqa35 написал:
переделайте плиз мониторинг от php-nuke для php-fusion.......

<?php
if (!defined("IN_FUSION"smiley) { header("Location:../../index.php"smiley; exit; }

if (file_exists(INFUSIONS."popular_articles_panel/locale/".$settings['locale'].".php"smiley) {
include INFUSIONS."popular_articles_panel/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."popular_articles_panel/locale/English.php";
}

// Connection timeout in seconds. If the script cannot connect to a server before this timeout,
// then that server is considered to be offline. Don't make this too big or your website could
// take a long time to load.
$timeout = 1;

$pvpgn = array(
'check' => true, // Should we check the status of the PvPGN server? (true or false)
'ip' => '172.16.151.31', // IP of the PvPGN server
'port' => 6112, // Port of the PvPGN server
);

$content .="Статус сервера: ";

if ($pvpgn['check']) {
if ($fp = @fsockopen($pvpgn['ip'], $pvpgn['port'], $errno, $errstr, $timeout)) {
fclose($fp);
$pvpgn_online = true;
$online = '<font color="#00FF00">online</font>';
$content .= "".$online."";
} else {
$pvpgn_online = false;
$offline = '<font color="#FF0000">online</font>';
$content .= "".$offline."";
}
}

$content .="<br><br>";

//=============================== XML =======================================
$file = 'D:\Игры\DiabloII\pvpgn\var\status\server.xml';

global $stack;

function startTag($parser, $name, $attrs)
{
global $stack;
$tag=array("name"=>$name,"attrs"=>$attrs);
array_push($stack,$tag);

}

function cdata($parser, $cdata)
{
global $stack,$i;

if(trim($cdata))
{
$stack[count($stack)-1]['cdata']=$cdata;
}
}

function endTag($parser, $name)
{
global $stack;
$stack[count($stack)-2]['children'][] = $stack[count($stack)-1];
array_pop($stack);
}


$stack = array();
$version = array();
$uptime = array();
$num_pl = array();
$user = array();
$num_gs = array();
$games = array();
$num_ch = array();
$channels = array();


$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag"smiley;
xml_set_character_data_handler($xml_parser, "cdata"smiley;

$data = xml_parse($xml_parser,file_get_contents($file));
if(!$data) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}

xml_parser_free($xml_parser);

//print("<pre>\n"smiley;
//print_r($stack);
//print("</pre>\n"smiley;


// version
$versionname=$stack[0][children][0][name];
$version[$versionname]=$stack[0][children][0][cdata];
//print("<pre>\n"smiley;
//print_r($version);
//echo $version['VERSION'];
//print("</pre>\n"smiley;
//uptime
$uptimename=$stack[0][children][1][name];
$uptime[$uptimename]=$stack[0][children][1][cdata];
//print("<pre>\n"smiley;
//print_r($uptime);
//echo $uptime['UPTIME'];
//print("</pre>\n"smiley;
//num_players
$npname=$stack[0][children][2][children][0][name];
$num_pl[$npname]=$stack[0][children][2][children][0][cdata];
//print("<pre>\n"smiley;
//print_r($num_pl);
//echo $num_pl['NUMBER'];
//print("</pre>\n"smiley;

//users
for($i = 1; $i < sizeof($stack[0][children][2][children]); $i++)
{
for($x = 0; $x < sizeof($stack[0][children][2][children][$i][children]); $x++)
{
$usersname=$stack[0][children][2][children][$i][children][$x][name];
$usersvalue=$stack[0][children][2][children][$i][children][$x][cdata];
if($usersname=="NAME"smiley $un=$usersvalue;
$user[$un][$usersname]=$usersvalue;

}
}
//print("<pre>\n"smiley;
//print_r($user);
//print("</pre>\n"smiley;


//foreach($user as $key => $u)
//{
// print("<pre>\n"smiley;
// echo $u['NAME'];
// echo $u['CLIENTTAG'];
// echo $u['VERSION'];
// print("</pre>\n"smiley;
//}


//num_gs
$valname=$stack[0][children][3][children][0][name];
$num_gs[$valname]=$stack[0][children][3][children][0][cdata];

//print("<pre>\n"smiley;
//print_r($num_gs);
//echo $num_gs['NUMBER'];
//print("</pre>\n"smiley;

//games
for($i = 1; $i < sizeof($stack[0][children][3][children]); $i++)
{
for($x = 0; $x < sizeof($stack[0][children][3][children][$i][children]); $x++)
{
$gamename=$stack[0][children][3][children][$i][children][$x][name];
$gamevalue=$stack[0][children][3][children][$i][children][$x][cdata];
if($gamename=="NAME"smiley $gs=$gamevalue;
$games[$gs][$gamename]=$gamevalue;

}
}
//print("<pre>\n"smiley;
//print_r($games);
//print("</pre>\n"smiley;


//foreach($games as $key => $g)
//{
// print("<pre>\n"smiley;
// echo $g['NAME'];
// echo $g['CLIENTTAG'];
// print("</pre>\n"smiley;
//}


//num_ch
$ncname=$stack[0][children][4][children][0][name];
$num_ch[$ncname]=$stack[0][children][4][children][0][cdata];
//print("<pre>\n"smiley;
//print_r($num_ch);
//echo $num_ch['NUMBER'];
//print("</pre>\n"smiley;

//channels
for($i = 1; $i < sizeof($stack[0][children][4][children]); $i++)
{
$channelsname=$stack[0][children][4][children][$i][name];
$channelsvalue=$stack[0][children][4][children][$i][cdata];
$cn=$i;
$channels[$cn][$channelsname]=$channelsvalue;


}
//print("<pre>\n"smiley;
//print_r($channels);
//print("</pre>\n"smiley;

//foreach($channels as $key => $ch)
//{
// print("<pre>\n"smiley;
// echo $ch['CHANNEL'];
// print("</pre>\n"smiley;
//}


//===================================================================
$li_d = '<li type="disk""></li>';
$li_c = '<li type="circle"></li>';
$li_s = '<li type="square"></li>';
$content .= "<table cellspacing=\"0\">\n";
$content .= "".$li_d."Версия PvPGN: ".$version['VERSION']."<br>\n";
$content .= "".$li_d."Работает: ".$uptime['UPTIME']."<br>\n";
$content .= "".$li_d."Игроков онлайн: ".$num_pl['NUMBER']."<br>\n";
$content .= "".$li_d."Игр создано: ".$num_gs['NUMBER']."<br>\n";
$content .="<br>";
$w3ft = '<div align="left"><font color="#FF0000">:: Warcraft III Frozen Throne ::</font></div>';
$content .= "".$w3ft."<br>\n";
$content .= "Игроки:<br>\n";
foreach($user as $key => $u)
{
if($u['CLIENTTAG'] == 'W3XP'smiley
{
$iconvu = iconv("UTF-8","CP1251",$u['NAME']);
$content .= "".$li_c."".$iconvu." (".$u['VERSION']."smiley<br>\n";
// echo $u['NAME'];
// echo $u['CLIENTTAG'];
// echo $u['VERSION'];
}
}
$content .="Созданные игры:<br>\n";
foreach($games as $key => $g)
{
if($g['CLIENTTAG'] == 'W3XP'smiley
{
$iconvg = iconv("UTF-8","CP1251",$g['NAME']);
$content .="".$li_c."".$iconvg."<br>\n";
//echo $g['NAME'];
//echo $g['CLIENTTAG'];
}
}

$content .="<br>";
$sb = '<div align="left"><font color="#FF0000">:: Starcraft Broodwar ::</font></div>';
$content .="".$sb."\n";
$content .="<br>";
$content .= "Игроки:<br>\n";

foreach($user as $key => $u)
{
if($u['CLIENTTAG'] == 'SEXP'smiley
{
$iconvu = iconv("UTF-8","CP1251",$u['NAME']);
$content .= "".$li_c."".$iconvu." (".$u['VERSION']."smiley<br>\n";
// echo $u['NAME'];
// echo $u['CLIENTTAG'];
// echo $u['VERSION'];
}

}

$content .="Созданные игры:<br>\n";
foreach($games as $key => $g)
{
if($g['CLIENTTAG'] == 'SEXP'smiley
{
$iconvg = iconv("UTF-8","CP1251",$g['NAME']);
$content .="".$li_c."".iconvg."<br>\n";
//echo $g['NAME'];
//echo $g['CLIENTTAG'];
}
}

$content .= "</table>\n";

?>
Перейти на форум:
0.03692102432251