Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

6 страниц V   1 2 ... 4 5 »

Довести скрипт мониторинга до ума

, доделать готовое решение
Статус пользователя Apatia
сообщение 7.9.2014, 11:24
Сообщение #1


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

Всем доброго времени суток!

Есть скрипт (прикреплен), по идее он должен выводить нужную мне информацию посредством:

<script type="text/javascript" src="http://site-name.ru/info.php?ip=IP-адрес&port=Порт&info=players"></script>

где - info=players, функция отвечающая за вывод занятых слотов/максимальное кол-во слотов.

Загружая на FTP хоста, скрипт не отображает информацию.

Готовое решение - http://game-mon.pp.ua/ucoz/cs-info.php?ip=...mp;info=players - переходя по ссылке, можно увидеть кол-во играющих и максимальное вол-во игроков.
Также, можно заменить переменную info=players, например на info=map, тогда нам будет отображаться текущая карта сервера. Хорошо бы довести скрипт до ума, чтобы он корректно работал и отображал нужную нам информацию, вплоть до картинки карты (которая вызывается info=map-img).

Если кто бесплатно не сможет, огласите пожалуйста за какое вознаграждение вы готовы доделать.

Прикрепленный файл  info.php ( 3,17 килобайт ) Кол-во скачиваний: 155


Отредактировал: Apatia, - 7.9.2014, 11:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 7.9.2014, 21:20
Сообщение #2
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Apatia,
зачем вам готовый? вам дать нормальный на php?

Для одного сервера
Код
<?php
    $server = "127.0.0.1:27015";
    $ip = explode(":", $server);
    $fp = @fsockopen("udp://$ip[0]", $ip[1], $errno, $errstr);
    @stream_set_timeout($fp, 1, 0);
    @stream_set_blocking($fp, true);
    
    $server_name = "unknown";
    $server_online = "<font style=\"color: red;\">Выкл.</font>";
    $server_player = "??";
    $server_maxplayer = "??";
    $server_mapname = "unknown";
    
    if($fp)
    {
        fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
        $buffer = fread($fp, 4096);
        fclose($fp);
        
        if($buffer)
        {
            $tmp = explode("\x00", $buffer);
            $place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;
            
            $server_name = $tmp[1];
            $server_online = "<font style=\"color: green;\">Вкл.</font>";
            $player += $server_player = ord($buffer[$place]);
            $maxplayer += $server_maxplayer = ord($buffer[$place + 1]);
            $server_mapname = $tmp[2];
        }
    }
    
    /* печатаем себе всё что угодно... */
?>


Для нескольких
Код
<?php
    $server = Array("127.0.0.1:27015", "127.0.0.1:27016", "127.0.0.1:27017");
    
    for($i = 1; $i <= count($server); $i++)
    {
        /*
            можно использовать $i как номер сервера
        */
        $ip = explode(":", $server[$i-1]);
        $fp = @fsockopen("udp://$ip[0]", $ip[1], $errno, $errstr);
        @stream_set_timeout($fp, 1, 0);
        @stream_set_blocking($fp, true);
        
        $server_name = "unknown";
        $server_online = "<font style=\"color: red;\">Выкл.</font>";
        $server_player = "??";
        $server_maxplayer = "??";
        $server_mapname = "unknown";
        
        if($fp)
        {
            fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
            $buffer = fread($fp, 4096);
            fclose($fp);
            
            if($buffer)
            {
                $tmp = explode("\x00", $buffer);
                $place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;
                
                $server_name = $tmp[1];
                $server_online = "<font style=\"color: green;\">Вкл.</font>";
                $player += $server_player = ord($buffer[$place]);
                $maxplayer += $server_maxplayer = ord($buffer[$place + 1]);
                $server_mapname = $tmp[2];
            }
        }
    }
    /*
        печатаем себе всё что угодно...
    */
?>


Скрипт как на сайтах мониторингах
Код
if(!function_exists('getmicrotime')) {
    function getmicrotime() {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }
}
function getString(&$packet){
    $str = "";
    $n = strlen($packet);
    for($i=0;($packet[$i]!=chr(0)) && ($i < $n);++$i)
        $str .= $packet[$i];
    $packet = substr($packet, strlen($str));
    return trim($str);
}
function getChar(&$packet){
    $char = $packet[0];
    $packet = substr($packet, 1);
    return $char;
}
function sortByKills($a, $b) {
    if ($a['kills'] == $b['kills'])
        return 0;
    return ($a['kills'] > $b['kills']) ? -1 : 1;
}
function serverInfo($server) {
    list($ip,$port) = explode(":", $server);
    $ip=gethostbyname($ip);
    $timeStart = getmicrotime();
    $fp = @fsockopen('udp://'.$ip, $port);
    if($fp) {
        stream_set_timeout($fp, 2);
        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']);
            $version = ord(getChar($temp));
            $array = array();
            $array['ping'] = (int)((getmicrotime() - $timeStart)*1000);
            $array['status'] = "on";
            if($version == 109) {
                $array['ip'] = getString($temp);
                $temp = substr($temp, 1);
                $array['name'] = getString($temp);
                $temp = substr($temp, 1);
                $array['map'] = getString($temp);
                $temp = substr($temp, 1);
                getString($temp);
                $temp = substr($temp, 1);
                getString($temp);
                $temp = substr($temp, 1);
                $array['players'] = ord(getChar($temp));
                $array['max_players'] = ord(getChar($temp));
            } elseif($version == 73) {
                getChar($temp);
                $array['name'] = getString($temp);
                $temp = substr($temp, 1);
                $array['map'] = getString($temp);
                $temp = substr($temp, 1);
                getString($temp);
                $temp = substr($temp, 1);
                getString($temp);
                $temp = substr($temp, 3);
                $array['players'] = ord(getChar($temp));
                $array['max_players'] = ord(getChar($temp));
            }
        } else
            $array['status'] = 'off';
        
    }
    return $array;
    if ($array['status']== 'off') continue;
}


function playersInfo($server) {
    list($ip,$port) = explode(":", $server);
    $array = array();
    $fp = @fsockopen('udp://'.$ip, $port);
    if($fp) {
        stream_set_timeout($fp, 2);
        $command = pack("V", -1) . 'W';
        fwrite($fp, $command, strlen($command));
        $temp = fread($fp, 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, 4);
        $status = socket_get_status($fp);
        if($status['unread_bytes']>0) {
            echo $status['unread_bytes'];
            $temp = fread($fp, $status['unread_bytes']);
            while(strlen($temp) > 0) {
                $player['name'] = getString($temp);
                $temp = substr($temp, 1);
                $lo = (ord($temp[1]) << 8) | ord($temp[0]);
                $hi = (ord($temp[2]) << 8) | ord($temp[3]);
                $player['kills'] = ($hi << 16) | $lo;
                $temp = substr($temp, 4);
                $f = @unpack("f1float", $temp);
                $temp = substr($temp, 4);
                $player['time'] = gmdate("H:i:s", (int)$f['float']);
                $array[] = $player;
            }
            usort($array, "sortByKills");
        }
    }
    return $array;
}


а там, крутите как хотите...
чтоб вставить в блок, используй просто include...

Отредактировал: Orty_Hart, - 9.9.2014, 22:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 8.9.2014, 20:40
Сообщение #3


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

"Печатаем себе все что угодно" - Вид мониторинга?
Спасибо, но это не совсем то что нужно.
Хотелось бы что бы вызывалась определенная функция ссылкой, а выводилась на любом движке скриптом.

Отредактировал: Apatia, - 8.9.2014, 20:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.9.2014, 13:40
Сообщение #4
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Apatia,
в чем проблема?

http://htmlbook.ru/html/iframe

залил на сервер файл, там сделал echo и прописал стили,
а потом в блок добавил тег iframe

или на js, делать как у вас...
Но вы должны понять, что js у некоторых пользователей можен быть выключен... и ваш мониторинг они не увидят....

Самый лучший вариант: include
Другой возможный: iframe
Самый худший: js

Цитата
"Печатаем себе все что угодно" - Вид мониторинга?

да, печатаем себе $server_mapname, server_online и т.д.
Убери только $player += и $maxplayer += (эти переменные считают ВСЕГО игроков на всех серверах)
Если хочешь оставить и чтоб считало, поставь себе

Код
$player = $maxplayer = 0;
возле
Код
$server = Array("127.0.0.1:27015", "127.0.0.1:27016", "127.0.0.1:27017");

и печатать эти переменные после цикла for()
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 9.9.2014, 18:35
Сообщение #5


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

Спасибо за развернутый ответ.
А на примере - http://gameamx.ru/japi (не реклама), нет догадок как реализовать можно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.9.2014, 19:21
Сообщение #6
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Apatia,
Цитата


это тоже самое что использовать ссылку

Код
http://host.gameamx.ru/japi?IP=...&PORT=


это можно реализовать с помощью

Код
RewriteEngine On
RewriteRule ^/japi/([0-9.]+)/([0-9]+)/$ japi.js?ip=$1&port=$2 [NS,L]


Обращение по адресу .../japi/127.0.0.1/27017/ будет эквивалентным .../japi.js?ip=127.0.0.1&port=27017

а вообще, этот принцип на js.... Я уже писал чем он череват....
В чем собственно состоит ещё вопрос?

Вот ещё пару интересных (на js):
https://c-s.net.ua/forum/topic6991.html
https://c-s.net.ua/forum/topic4957.html

Отредактировал: Orty_Hart, - 9.9.2014, 22:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.9.2014, 19:41
Сообщение #7
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Цитата(Apatia @ 9.9.2014, 19:35) *
Спасибо за развернутый ответ.
А на примере - http://gameamx.ru/japi (не реклама), нет догадок как реализовать можно?


Можно открыть файл, по адресу: http://host.gameamx.ru/japi/83.222.96.130/27058/utf8
Код в виде на сайте:

Код
<script type="text/javascript" src="http://host.gameamx.ru/japi/IP/Port/utf8"></script>
<strong>Название:</strong> <script type="text/javascript">document.write(info.hostname);</script><br/>
<strong>IP адрес:</strong> <script type="text/javascript">document.write(info.ip_port);</script><br/>
<strong>Игровой мод:</strong> <script type="text/javascript">document.write(info.gamemode);</script><br/>
<strong>Карта:</strong> <script type="text/javascript">document.write(info.map);</script><br/>
<strong>Статус:</strong> <script type="text/javascript">if(info.status == 'online'){document.write("<font style='color: green;'>Онлайн</font><br />");}else{document.write("<font style='color: red;'>Оффлайн</font><br />");}</script>


но строчку <script type="text/javascript" src="http://host.gameamx.ru/japi/IP/Port/utf8"></script> можно заменить так:

Код
var info = { 'ip_port': '83.222.96.130:27058', 'hostname': 'Ебучий Случий | Паблик !', 'gamemode': 'Counter-Strike 1.6', 'map': 'de_dust2_2x2', 'players': '6', 'maxplayers': '24', 'status': 'online' };


и получится то-же самое.

Вообщем если вы хотите так реализовать, это просто.

Берём мой код что я давал

Скрытый текст
Код
<?php
    $fp = @fsockopen("udp://$_GET[ip]", $_GET["port"], $errno, $errstr);
    @stream_set_timeout($fp, 1, 0);
    @stream_set_blocking($fp, true);
    
    $server_name = "unknown";
    $server_online = "<font style=\"color: red;\">Выкл.</font>";
    $server_player = "??";
    $server_maxplayer = "??";
    $server_mapname = "unknown";
    
    if($fp)
    {
        fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
        $buffer = fread($fp, 4096);
        fclose($fp);
        
        if($buffer)
        {
            $tmp = explode("\x00", $buffer);
            $place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;
            
            $server_name = $tmp[1];
            $server_online = "<font style=\"color: green;\">Вкл.</font>";
            $server_player = ord($buffer[$place]);
            $server_maxplayer = ord($buffer[$place + 1]);
            $server_mapname = $tmp[2];
        }
    }
    
    echo "var info = { 'ip_port':'$_GET[ip]:$_GET[port]', 'hostname':'$server_name'...};";
?>


Вместо ... добавляем себе информацию.
а потом, делаем тот-же код, что и вы хотели.

сохраняем код как файл server.php
подключаемся к нему как: <script type="text/javascript" src="...server.php?ip=127.0.0.0.1&port=27017"></script>

а вид адреса можно поменять через .htaccess с помощью http://htaccess.net.ru/doc/mod_rewrite/RewriteEngine.php

Отредактировал: Orty_Hart, - 9.9.2014, 19:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 9.9.2014, 20:08
Сообщение #8


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

Вообще не соображу ничего.
Если не затруднит можешь готовое решение выложить, чтобы по запросу <script type="text/javascript" src="...server.php?ip=127.0.0.0.1&port=27017"></script> показывало кол-во игроков и максимальное кол-во игроков 21/21 что то типо того?

P.S.: Порылся в гугле, наткнулся опять на такой скрипт:
<script language='JavaScript' src='http://csx-monitoring.ru/ucoz/info.php?&ip=95.47.161.116&port=27033&info=map'></script>

Переменные работают (players, map_img, hostname и т.д.)
Автор жадина, делиться отказывается *(

P.S.2.: Этот даже поддерживает CSS, CSGO, CS 1.6, TF2, CSCZ

Отредактировал: Apatia, - 9.9.2014, 20:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.9.2014, 22:43
Сообщение #9
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Apatia,
Лентяюги) совсем делать ничего не хотите))
Ладно, создаем первый файл (server.php)

server.php
Код:
<?php
$fp = @fsockopen("udp://$_GET[ip]", $_GET["port"], $errno, $errstr);
@stream_set_timeout($fp, 1, 0);
@stream_set_blocking($fp, true);

$server_name = "unknown";
$server_online = "<font style=\"color: red;\">Выкл.</font>";
$server_player = "??";
$server_maxplayer = "??";
$server_mapname = "unknown";

if($fp)
{
fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
$buffer = fread($fp, 4096);
fclose($fp);

if($buffer)
{
$tmp = explode("\x00", $buffer);
$place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;

$server_name = $tmp[1];
$server_online = "<font style=\"color: green;\">Вкл.</font>";
$server_player = ord($buffer[$place]);
$server_maxplayer = ord($buffer[$place + 1]);
$server_mapname = $tmp[2];
}
}

echo "var info = {";
echo "'ip_port':'$_GET[ip]:$_GET[port]', 'hostname':'$server_name', 'map':'$server_mapname', 'players':'$server_player', 'maxplayers':'$server_maxplayer', 'status':'$server_online'";
echo "};";
?>


В блоке меню, вставляем содержание:
Код
<script type="text/javascript" src="../server.php?ip=...&port=..."></script>
<strong>Название:</strong> <script type="text/javascript">document.write(info.hostname);</script><br/>
<strong>IP адрес:</strong> <script type="text/javascript">document.write(info.ip_port);</script><br/>
<strong>Игроки:</strong> <script type="text/javascript">document.write(info.players + "/" + info.maxplayers);</script><br/>
<strong>Карта:</strong> <script type="text/javascript">document.write(info.map);</script><br/>
<strong>Статус:</strong> <script type="text/javascript">document.write(info.status);</script>


Если вам принципиально что адрес имеет вид: serve.php?ip....
В .htaccess прописываем:

Вид http://.../server/IP/PORT/
Код
RewriteEngine On
RewriteRule ^/server/([0-9.]+)/([0-9]+)/$ server.php?ip=$1&port=$2 [NS,L]


и соответственно меняем в JS src адрес к файлу уже на другой вид...
Тестируйте, если работает, был рад помочь :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 10.9.2014, 6:25
Сообщение #10


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

No input file specified. - Вот что пишет при обращение к скрипту)
информацию отображает вида:

Название:
IP адрес:
Игроки:
Карта:
Статус:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 10.9.2014, 7:48
Сообщение #11


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(Orty_Hart @ 9.9.2014, 23:43) *
Apatia,
Лентяюги) совсем делать ничего не хотите))
Ладно, создаем первый файл (server.php)

server.php
Код:
<?php
$fp = @fsockopen("udp://$_GET[ip]", $_GET["port"], $errno, $errstr);
@stream_set_timeout($fp, 1, 0);
@stream_set_blocking($fp, true);

$server_name = "unknown";
$server_online = "<font style=\"color: red;\">Выкл.</font>";
$server_player = "??";
$server_maxplayer = "??";
$server_mapname = "unknown";

if($fp)
{
fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
$buffer = fread($fp, 4096);
fclose($fp);

if($buffer)
{
$tmp = explode("\x00", $buffer);
$place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;

$server_name = $tmp[1];
$server_online = "<font style=\"color: green;\">Вкл.</font>";
$server_player = ord($buffer[$place]);
$server_maxplayer = ord($buffer[$place + 1]);
$server_mapname = $tmp[2];
}
}

echo "var info = {";
echo "'ip_port':'$_GET[ip]:$_GET[port]', 'hostname':'$server_name', 'map':'$server_mapname', 'players':'$server_player', 'maxplayers':'$server_maxplayer', 'status':'$server_online'";
echo "};";
?>


В блоке меню, вставляем содержание:
Код
<script type="text/javascript" src="../server.php?ip=...&port=..."></script>
<strong>Название:</strong> <script type="text/javascript">document.write(info.hostname);</script><br/>
<strong>IP адрес:</strong> <script type="text/javascript">document.write(info.ip_port);</script><br/>
<strong>Игроки:</strong> <script type="text/javascript">document.write(info.players + "/" + info.maxplayers);</script><br/>
<strong>Карта:</strong> <script type="text/javascript">document.write(info.map);</script><br/>
<strong>Статус:</strong> <script type="text/javascript">document.write(info.status);</script>


Если вам принципиально что адрес имеет вид: serve.php?ip....
В .htaccess прописываем:

Вид http://.../server/IP/PORT/
Код
RewriteEngine On
RewriteRule ^/server/([0-9.]+)/([0-9]+)/$ server.php?ip=$1&port=$2 [NS,L]


и соответственно меняем в JS src адрес к файлу уже на другой вид...
Тестируйте, если работает, был рад помочь :)

Что за бред?..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Justmw
сообщение 10.9.2014, 8:25
Сообщение #12
Стаж: 12 лет

Сообщений: 337
Благодарностей: 372
Полезность: 0

Цитата(Orty_Hart @ 9.9.2014, 23:43) *
Скрытый текст
Apatia,
Лентяюги) совсем делать ничего не хотите))
Ладно, создаем первый файл (server.php)

server.php
Код:
<?php
$fp = @fsockopen("udp://$_GET[ip]", $_GET["port"], $errno, $errstr);
@stream_set_timeout($fp, 1, 0);
@stream_set_blocking($fp, true);

$server_name = "unknown";
$server_online = "<font style=\"color: red;\">Выкл.</font>";
$server_player = "??";
$server_maxplayer = "??";
$server_mapname = "unknown";

if($fp)
{
fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
$buffer = fread($fp, 4096);
fclose($fp);

if($buffer)
{
$tmp = explode("\x00", $buffer);
$place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;

$server_name = $tmp[1];
$server_online = "<font style=\"color: green;\">Вкл.</font>";
$server_player = ord($buffer[$place]);
$server_maxplayer = ord($buffer[$place + 1]);
$server_mapname = $tmp[2];
}
}

echo "var info = {";
echo "'ip_port':'$_GET[ip]:$_GET[port]', 'hostname':'$server_name', 'map':'$server_mapname', 'players':'$server_player', 'maxplayers':'$server_maxplayer', 'status':'$server_online'";
echo "};";
?>


В блоке меню, вставляем содержание:
Код
<script type="text/javascript" src="../server.php?ip=...&port=..."></script>
<strong>Название:</strong> <script type="text/javascript">document.write(info.hostname);</script><br/>
<strong>IP адрес:</strong> <script type="text/javascript">document.write(info.ip_port);</script><br/>
<strong>Игроки:</strong> <script type="text/javascript">document.write(info.players + "/" + info.maxplayers);</script><br/>
<strong>Карта:</strong> <script type="text/javascript">document.write(info.map);</script><br/>
<strong>Статус:</strong> <script type="text/javascript">document.write(info.status);</script>


Если вам принципиально что адрес имеет вид: serve.php?ip....
В .htaccess прописываем:

Вид http://.../server/IP/PORT/
Код
RewriteEngine On
RewriteRule ^/server/([0-9.]+)/([0-9]+)/$ server.php?ip=$1&port=$2 [NS,L]


и соответственно меняем в JS src адрес к файлу уже на другой вид...
Тестируйте, если работает, был рад помочь :)

Треш psych.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 10.9.2014, 8:57
Сообщение #13


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

Бред не бред, а человек пытается помочь.
Если принципиально не хотите возиться бесплатно, скажите за какое вознаграждение вы готовы сделать данный скрипт.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя PaMcuK
сообщение 10.9.2014, 9:28
Сообщение #14
Стаж: 16 лет

Сообщений: 28
Благодарностей: 8
Полезность: 143

Хмм.. А не лучше ли использовать "jQuery load" ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 10.9.2014, 12:14
Сообщение #15


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(Apatia @ 10.9.2014, 9:57) *
Бред не бред, а человек пытается помочь.
Если принципиально не хотите возиться бесплатно, скажите за какое вознаграждение вы готовы сделать данный скрипт.

Напишите точно, что именно нужно. Более подробно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 10.9.2014, 13:02
Сообщение #16


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

А если так?
Код
<?php
class checkserver
{
    protected $mapdir     = 'assets/img/maps/cs/';     /* Директория расположения картинок, например для http://site.ru/maps/de_dust2.jpg это будет maps/ */
    protected $ext           = 'jpg';                      /* Расширение скриншотов картинок, например jpg */
    protected $noimage    = 'noimage';                /* Название картинки для карты у которой не существует скриншот, например noimage, расширение то же, что и в $ext */    
    protected $tplmap;
    
    public function __construct()
    {
        $this->tplmap    = $this->mapdir . '{MAP}' . '.' . $this->ext;    
    }
    
    public function serverinfo($ip, $port)
    {
        $fp = @fsockopen("udp://". $ip, $port, $errno, $errstr);
        @stream_set_timeout ($fp, 1, 0);
        @stream_set_blocking($fp, true);
            
        if(!$fp)        return false;
        
        fwrite($fp, "\xFF\xFF\xFF\xFFTSource Engine Query\x00");
        $buffer = fread($fp, 4096);
        fclose($fp);
        
        if(!$buffer)     return false;

        $tmp = explode("\x00", $buffer);
        $pos = strlen($tmp[0] . $tmp[1] . $tmp[2] . $tmp[3] . $tmp[4]) + 5;

        $server['ipport']       = $ip . ":" . $port;        
        $server['name']       = htmlspecialchars($tmp[1], ENT_QUOTES);
        $server['map']           = $tmp[2];    
        $server['mapimage']   = 'http://' . $_SERVER['SERVER_NAME'] . '/' . str_replace('{MAP}', file_exists($_SERVER['DOCUMENT_ROOT'] . str_replace('{MAP}', $server['map'], $this->tplmap)) ? $server['map'] : $this->noimage, $this->tplmap);        
        $server['players']       = ord($buffer[$pos]);
        $server['maxplayers'] = ord($buffer[++$pos]);

        return $server;
    }
}

$init = new checkserver();

echo "var info = " . json_encode($init->serverinfo('193.26.217.22', 27528));


Применение:

Код
<script type="text/javascript" src="путь до php файла, который указан выше"></script>
<script type="text/javascript">document.write(info.map);</script>


Не знаю как сейчас там на юкозе, если что-то нужно изменить, скажешь.

Файл с правильной табуляцией внутри.
Прикрепленные файлы:
Прикрепленный файл  unit.php ( 1,75 килобайт ) Кол-во скачиваний: 45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 10.9.2014, 13:23
Сообщение #17


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

Цитата(onotole @ 10.9.2014, 12:14) *
Напишите точно, что именно нужно. Более подробно.


В идеале неплохо бы скрипт который выводит нужную информацию:
<script language='JavaScript' src='http://csx-monitoring.ru/ucoz/info.php?&ip=95.47.161.116&port=27033&info=map'></script>

Где info=map функция которая отвечает за вывод нужно нам информации, которую можно заменить например на players, map_img, hostname и т.д.
А еще лучше если скрипт будет поддерживать не только CS 1.6. Как скрипт который я указал, он поддерживает CSS, CSGO, TF2, CS 1.6

miRror, Не работает

Отредактировал: Apatia, - 10.9.2014, 13:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 10.9.2014, 14:39
Сообщение #18
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

onotole,
есть какие-то возражения?
я человеку дал готовый скрипт, который он хотел. Если вы не помогаете, так и не смейте критиковать!

Apatia,
дайте ссылку на сайт, где установлен код... (через спойлер)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Apatia
сообщение 10.9.2014, 15:10
Сообщение #19


Стаж: 16 лет
Город: Москва

Сообщений: 206
Благодарностей: 42
Полезность: < 0

Хост куда лью скрипты.
Скрытый текст


Сайт пока не делал, тестирую на хосте.


Страница с предпочтительным скриптом.

!
Предупреждение:
Ссылки ложить под спойлер


Отредактировал: Orty_Hart, - 10.9.2014, 16:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 10.9.2014, 15:21
Сообщение #20


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Руки значит не оттуда растут, я не рабочее скидывать бы не стал, тем более для тебя писал специально.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
6 страниц V   1 2 ... 4 5 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: