???
Математика на уровне МГУ

Показано с 1 по 13 из 13

Тема: Монитор для серверов ИЛ2 на РНР

  1. #1

    Монитор для серверов ИЛ2 на РНР

    Столкнулся с необходимостью такого для сквадового сайта/сервера. Пришлось написать. Похож на http://www.sukhoi.ru/stat/

    Выкладываю, может кому понадибится.
    Вложения Вложения
    • Тип файла: zip il2mon.zip (722 байт, Просмотров: 63)

  2. #2
    Исправленая версия (старая только один пакет читала ).
    Добавлен шаблон для вывода (содран с ку3осп). Легко модифицируется под конкретные нужды.
    Вложения Вложения

  3. #3
    Это мой кот Толстопуз Аватар для Paul_II
    Регистрация
    16.04.2002
    Сообщений
    2,542
    Был бы нужен, обязательно бы взял - люблю я php
    Крайний раз редактировалось Paul_II; 19.12.2003 в 09:17.
    попытки Председателя свести переговоры к заурядной драке
    встретили возражения со стороны Его Высочества.
    "Приключения принца Флоризеля"

  4. #4
    Спасибо! Жаль, что шаблон почти редактировать низя (например поставить другой шрифт, порядок переменных или статистики поменять ).
    С уважением, Drim (лейтенант 313 ShAP 228 ShAD VVS RKKA).

  5. #5
    на то он и шаблон чтобы его редактировать

    переделаваешь как хочешь, а в тех местах где нужно вставить данные и пишешь название переменной с этими данными
    drive like lightning, crash like thunder

  6. #6
    Инструктор Аватар для IvanoBulo
    Регистрация
    11.09.2002
    Адрес
    Львов, Украина
    Возраст
    47
    Сообщений
    1,474
    Записей в дневнике
    1

    php, asp, jsp это всё пережитки прошлого.
    Apache Cocoon - вот это вещь!

    Сори за флейм.

    не можешь летать - не мучай метлу!

  7. #7
    Да нет, ты меня не понял. У меня при более менее значительных изменениях в шаблоне былезает вот такая строка:
    Parse error: parse error in /home/il2sturmovikru/228shad/313shap/stat/template.php on line 12
    (13, 14 и т.д.)
    Вот здесь сам файл: http://228shad.il2sturmovik.ru/313shap/stat/
    У нас есть сквадовский сервак, но щас он настраивается, поэтому щас проверяю стат с нулевым.
    Крайний раз редактировалось Drim; 20.12.2003 в 12:12.
    С уважением, Drim (лейтенант 313 ShAP 228 ShAD VVS RKKA).

  8. #8
    здается мне что ты с синтаксисом не все усмотрел,- может двойную кавычку куда сунул или еще что-то в этом роде

    попробуй кавычки у print заменить на одинарные
    drive like lightning, crash like thunder

  9. #9
    Если не трудно, ткни носом в ошибку. Заранее безмерно благодарен!
    index.php
    <?php

    $ip = "213.145.43.250";
    $port = "21000";

    $ip = "213.145.43.250";
    $port = "21000";

    $fp = fsockopen("udp://$ip", $port);

    if (!$fp)
    {
    $text .= "ОШИБКА: Сервер не доступен<br>\n";
    }
    else
    {
    $in = "";
    $out = "\\status\\";
    fwrite ($fp, $out);

    while (!strstr($in, "final"))
    {
    $in .= fread($fp, 2048);
    }
    fclose($fp);

    // print "$in";

    $in = explode ("\\", $in);
    for ($i=1; $i < count($in); $i+=2)
    {
    $arr[$in[$i]] = $in[$i+1];
    }

    $red_ping = 0;
    $red_players = 0;

    $blue_ping = 0;
    $blue_players = 0;

    for ($i=0; $i < 32; $i++)
    {
    if (isset($arr["player_$i"]))
    {
    $player = "player_$i";
    $score = "score_$i";
    $ping = "ping_$i";

    if ($arr["team_$i"] == "1")
    {
    $red_ping += $arr[$ping];
    $red_players++;
    $red .= "<tr><td>$arr[$score]</td><td>$arr[$ping]</td><td>$arr[$player]</td></tr>\n";
    }
    if ($arr["team_$i"] == "2")
    {
    $blue_ping += $arr[$ping];
    $blue_players++;
    $blue .= "<tr><td>$arr[$score]</td><td>$arr[$ping]</td><td>$arr[$player]</td></tr>\n";
    }
    if ($arr["team_$i"] == "0")
    {
    $unconnected .= "<tr><td>$arr[$score]</td><td>$arr[$ping]</td><td>$arr[$player]</td></tr>\n";
    }
    print " ";
    }
    }

    $red_score = $arr["score_t1"];
    $red_score += 0;
    $blue_score = $arr["score_t2"];
    $blue_score += 0;

    @$red_avgping = $red_ping / $red_players;
    $red_avgping = round($red_avgping += 0, 0);

    @$blue_avgping = $blue_ping / $blue_players;
    $blue_avgping = round($blue_avgping += 0, 0);

    require ("template.php");

    print "<br><table>\n";
    print " <tr><td><b>Переменная</b></td><td><b>Значение</b></td></tr>\n";
    while (list($key, $var) = each($arr))
    {
    print " <tr><td>$key</td><td>$var</td></tr>\n";
    }
    print "</table>\n";
    }

    ?>
    template.php
    <?
    print "
    <table width=100% border=0 cellspacing=0 cellpadding=5>
    <tr valign=top>
    <td>
    <table width=100% border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td bgcolor=#FF6666>
    <table width=100% border=0 cellspacing=0 cellpadding=5>
    <tr>
    <td>
    <font face="Arial"><b>$red_score</b></font></td>
    <td align=right><font face="Arial" size="2">ИГРОКОВ<br>$red_players</font></td>
    <td align=right><font face="Arial" size="2">СРЕДНИЙ ПИНГ<br>$red_avgping</font></td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td bgcolor=#FF9999>
    <table width=100% border=1 cellspacing=0 cellpadding=0>
    <tr>
    <td><font face="Arial" size="2">Очки:</font></td>
    <td><font face="Arial" size="2">Пинг:</font></td>
    <td><font face="Arial" size="2">Ник:</font></td>
    </tr>
    <font face="Arial">$red </font>
    </table>
    </td>
    </tr>
    </table>
    </td>
    <td>
    <table width=100% border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td bgcolor=#6666FF>
    <table width=100% border=0 cellspacing=0 cellpadding=5>
    <tr>
    <td>
    <font face="Arial"><b>$blue_score</b></font></td>
    <td align=right><font face="Arial" size="2">ИГРОКОВ<br>$blue_players</font></td>
    <td align=right><font face="Arial" size="2">СРЕДНИЙ ПИНГ<br>$blue_avgping</font></td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td bgcolor=#9999FF>
    <table width=100% border=1 cellspacing=0 cellpadding=0>
    <tr>
    <td><font face="Arial" size="2">Очки:</font></td>
    <td><font face="Arial" size="2">Пинг:</font></td>
    <td><font face="Arial" size="2">Ник:</font></td>
    </tr>
    <font face="Arial">$blue </font>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr valign=top align=center>
    <td colspan=2><font face="Arial">Не в игре:</font></td>
    </tr>
    <tr valign=top>
    <td colspan=2>
    <table width=100% border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td width=25%>&nbsp;</td>
    <td>
    <table width=100% border=1 cellspacing=0 cellpadding=0>
    <tr>
    <td><font face="Arial" size="2">Очки:</font></td>
    <td><font face="Arial" size="2">Пинг:</font></td>
    <td><font face="Arial" size="2">Ник:</font></td>
    </tr>
    <font face="Arial">$unconnected </font>
    </table>
    </td>
    <td width=25%>&nbsp;</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    ";
    ?>
    Крайний раз редактировалось Drim; 20.12.2003 в 17:31.
    С уважением, Drim (лейтенант 313 ShAP 228 ShAD VVS RKKA).

  10. #10
    внутри print ""; в темлейте не должно быть двойных кавычек

    так что все твои <font face="Arial" size="2"> портят дело
    удаляй двойные кавычки, либо заменяй их на \"
    drive like lightning, crash like thunder

  11. #11
    Вери биг сенькс!
    С уважением, Drim (лейтенант 313 ShAP 228 ShAD VVS RKKA).

  12. #12
    Еще бы хотелось, что-бы в то время, когда сервер в дауне выводилось сообщение об этом (сейчас страница просто не открывается).
    С уважением, Drim (лейтенант 313 ShAP 228 ShAD VVS RKKA).

  13. #13
    неплохо приукрасил

    в обще-то если не удается создать сокет она пишет что сервер недоступен
    drive like lightning, crash like thunder

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •