Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: В настоящее время эта функция требует доступа к сайту с помощью встроенного браузера Safari.
Ты для меня прям Америку открыл,про lgsl Я знал,я хотел узнать как встроить так же!я знаю как. Но с внешним видом, т.е. ксс не помогу.
Есть такая утилита или даже не знаю, скрипт, называется LGSL
еще есть более новый, там разраб все файлы на гитхабе держит, если лгсл не подойдет, обращайся, я мб найду
зы: я вот сейчас себе тоже буду делать, так что мб совместными усилиями что и получится.
Кстати, есть уже готовые решения на LGSL, просто загугли, но вставлять код придется ручками.
зы: для меня тема очень актуальна:-) форум игровой тематики, в особенности кс:-))
готовые решения есть, но ими никто не поделится) так что ручкамиТы для меня прям Америку открыл,про lgsl Я знал,я хотел узнать как встроить так же!
Да ну?готовые решения есть, но ими никто не поделится) так что ручками
<?php
/**
* Functions
*/
function error()
{
header('HTTP/1.1 404 Not Found');
die();
}
/**
* Config
*/
$sid = (isset($_GET['server_id'])) ? $_GET['server_id'] : 0;
$sid = ( ($sid>0) && ($sid<4) ) ? $sid : 0;
$servers = array('cs.ru');
$ip = $servers[$sid];
$port = (isset($_GET['port'])) ? (int)$_GET['port'] : 0;
$timeout = 10;
$HOST_LEN = 35;
$MAP_LEN = 11;
$MAP_PATH = '/images/maps/cstrike/';
$WWW_ROOT = '/var/www';
$MAP_NONE = '/styles/default/xenforo/avatars/avatar_s.png';
/**
* Code
*/
if (!$port)
error();
if( $server = @fsockopen( "udp://".$ip, $port, $errno, $errstr ) )
{
$write = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
socket_set_timeout($server,$timeout);
fwrite($server, $write);
$server_response = fread($server,4096);
fclose($server);
}
if(!$server_response)
error();
$server_response = substr($server_response, 5);
$server_info = explode(chr(0x00), $server_response);
$info['hostname'] = substr($server_info[0], 1);
$info['map'] = $server_info[1];
$info['players'] = ord(substr($server_info[5], 0, 1));
$info['max'] = ($info['players'] == 0) ?
((ord(substr($server_info[6], 0, 1))==100) ?
ord(substr($server_info[5], 1, 1)): ord(substr($server_info[6], 0, 1))) :
ord(substr($server_info[5], 1, 1));
if(strlen($info['hostname']) >= $HOST_LEN)
$info['hostname'] = str_replace(
substr($info['hostname'], $HOST_LEN, strlen($info['hostname'])),
'...',
$info['hostname']
);
$info['map_path'] = $MAP_PATH . $info['map'] . '.jpg';
if (!file_exists($WWW_ROOT . $info['map_path']))
$info['map_path'] = $MAP_NONE;
$info['port'] = $port;
// out
echo json_encode($info);
?>
<xen:edithint template="sidebar.css" />
<xen:if hascontent="true">
<div class="section csOnline avatarList">
<div class="secondaryContent">
<h3>{xen:phrase staff_online_cs}</h3>
<ul>
<xen:contentcheck>
<li>{xen:phrase staff_online_cs_empty}</li>
</xen:contentcheck>
</ul>
</div>
</div>
</xen:if>
<script>
$("div.csOnline div ul").empty();
for (cs_server = 27013; cs_server <= 27018; cs_server++) {
$.ajax({
type:"GET",
url:"monitoring.php?server_id=0&port="+cs_server,
data: "",
dataType:"json",
cache:false,
success:function (data) {
$("div.csOnline div ul").append(
"<li>" +
"<a href=\"steam://connect/cs.ru:" + data.port + "\" class=\"avatar\" data-avatarHtml=\"true\">" +
"<img src=\"" + data.map_path + "\" width=\"48\" height=\"48\" alt=\"" + data.map + "\" title=\"" + data.map + "\" /></a>" +
"<a href=\"steam://connect/cs.ru:" + data.port + "\" class=\"hostname\">" + data.hostname + "</a>" +
"<div class=\"userTitle\">{xen:phrase staff_online_cs_players}" + data.players + "/" + data.max + "</div>" +
"</li>"
);
}
});
}
</script>
<!-- block: sidebar_block_online_cs -->
<xen:include template="sidebar_block_online_cs" />
<!-- end block: sidebar_block_online_cs -->
staff_online_cs - Мониторинг серверов
staff_online_cs_empty - Пусто
staff_online_cs_players - Игроки:
Было бы круто :)Если надо, то завтра как приду с работы, могу выложитьУ Вас недостаточно прав для просмотра ссылок. Вход или Регистрация. Покупал для своего сайта. Работает отлично.
Надо, конечно надо. Спасибо заранее :)Если надо, то завтра как приду с работы, могу выложитьУ Вас недостаточно прав для просмотра ссылок. Вход или Регистрация. Покупал для своего сайта. Работает отлично.
<script src="{xen:helper javaScriptUrl, '{$javaScriptSource}/jquery/jquery.timer.js'}"></script>
<xen:require css="monitoring_bar.css" />
<xen:if hascontent="true">
<div class="monitoring_wrapper">
<div class="monitoring_servers">
<ul class="monitoring_ul">
<xen:contentcheck>
<li></li>
</xen:contentcheck>
</ul>
</div>
</div>
</xen:if>
<script>
jQuery(document).ready(function()
{
$('ul.monitoring_ul').empty();
for(srv_port = 27015; srv_port < 27021; srv_port++) {
$('ul.monitoring_ul').append('<li rel="' + srv_port + '"></li>');
$.ajax({
type: "GET",
url: "monitoring.php?port=" + srv_port,
data: "",
dataType: "json",
cache: false,
success: function (data) {
$('[rel=' + data.port + ']').empty().append(
'<div class="monitoring_container" title="' + data.name + '" alt="' + data.name + '"> ' +
'<a href="steam://connect/' + data.ip + ':' + data.port + '" class="monitoring_a" draggable="false" id="z' + data.port + '">' +
'<div class="monitoring_info_server"></div>' +
'<div class="monitoring_info">' +
'<div class="monitoring_info_map">' + data.map + '</div>' +
'<div class="monitoring_info_players">' + data.online + '</div>' +
'<div class="monitoring_info_hostname" id="c' + data.port + '">' + data.ip + ':' + data.port + '</div>' +
'<div class="monitoring_info_mod">' + data.shortname + '</div>' + '</div>' +
'<div class="monitoring_image_map" style="background-image: url(' + data.img + ');"></div>' +
'</a></div> '
)
}
});
};
$('ul.monitoring_ul').everyTime(15000, 'timer', function() {
for(srv_port = 27015; srv_port < 27021; srv_port++) {
$.ajax({
type: "GET",
url: "monitoring.php?port=" + srv_port,
data: "",
dataType: "json",
cache: false,
success: function (data) {
$('[rel=' + data.port + ']').empty().append(
'<div class="monitoring_container" title="' + data.name + '" alt="' + data.name + '"> ' +
'<a href="steam://connect/' + data.ip + ':' + data.port + '" class="monitoring_a" draggable="false" id="z' + data.port + '">' +
'<div class="monitoring_info_server"></div>' +
'<div class="monitoring_info">' +
'<div class="monitoring_info_map">' + data.map + '</div>' +
'<div class="monitoring_info_players">' + data.online + '</div>' +
'<div class="monitoring_info_hostname" id="c' + data.port + '">' + data.ip + ':' + data.port + '</div>' +
'<div class="monitoring_info_mod">' + data.shortname + '</div>' + '</div>' +
'<div class="monitoring_image_map" style="background-image: url(' + data.img + ');"></div>' +
'</a></div> '
)
}
});
};
});
});
</script>
.monitoring_wrapper
{
clear: both;
overflow: hidden;
margin: 10px 0px 0px 0px;
padding: 0px;
width: 100%;
}
.monitoring_servers
{
clear: both;
float: none;
display: block;
overflow: hidden;
white-space: none;
height: auto;
max-height: 120px;
}
ul.monitoring_ul
{
font: 1px Verdana, Geneva, sans-serif;
text-align: justify;
line-height: 0;
font-size: 1px;
text-justify: newspaper;
zoom:1;
text-align-last: justify;
margin: 0px;
padding: 0px;
display: block;
white-space:none;
}
ul.monitoring_ul:after
{
width: 100%;
height: 0px;
visibility: hidden;
overflow: hidden;
content: '';
display: inline-block;
white-space:none;
}
ul.monitoring_ul li
{
display: inline;
text-align: left;
line-height: normal;
font-size: 11px;
vertical-align: top;
}
.monitoring_container
{
width: 160px;
display: inline-block;
cursor: pointer;
padding: 0px;
margin: 0px;
overflow: hidden;
white-space: none;
height: 120px;
}
.monitoring_a
{
display: block;
background: url("@imagePath/xenforo/monitoring/ajax-map-loader.gif") 50% 40% no-repeat #FFF;
border-radius: 3px 3px 0px 0px;
position: relative;
cursor: pointer;
text-decoration: none;
opacity: 0.9;
}
.monitoring_a:hover
{
opacity: 1.0;
}
.monitoring_info
{
height: 32px;
width: 148px;
margin-top: 102px;
transition: all 0.2s cubic-bezier(0, 0, 0.58, 1) 0;
background: rgba(0, 0, 0, 0.506);
color: #FFFFFF;
padding: 3px 6px;
position: absolute;
display: block;
cursor: pointer;
font-size: 11px;
font-family: "tahoma", "arial", "verdana", sans-serif, "Lucida Sans";
font-weight: 400;
line-height: 10px;
}
.monitoring_info:hover,
.monitoring_a:hover .monitoring_info
{
margin-top: 82px;
}
.monitoring_info_map
{
height: 12px;
line-height: 12px;
overflow: hidden;
padding-right: 30px;
text-overflow: ellipsis;
white-space: nowrap;
}
.monitoring_info_players
{
top: 5px;
font-weight: 700;
position: absolute;
right: 3px;
}
.monitoring_info_hostname
{
height: 12px;
line-height: 12px;
overflow: hidden;
text-overflow: ellipsis;
padding-right: 30px;
white-space: nowrap;
margin-top: 6px;
font-size: 10px;
}
.monitoring_info_mod
{
bottom: 6px;
font-weight: 700;
position: absolute;
right: 3px;
font-size: 10px;
}
.monitoring_info_server
{
display: block;
cursor: pointer;
position: absolute;
height: 24px;
width: 24px;
right: 68px;
top: 48px;
}
.monitoring_a:hover .monitoring_info_server
{
background-image: url("@imagePath/xenforo/monitoring/play.png");
}
.monitoring_image_map
{
border-radius: 3px 3px 0px 0px;
background: 50% 50% no-repeat transparent;
height: 120px;
width: 160px;
display: block;
}
<xen:if is="{$h1} == {$xenOptions.boardTitle}">
<xen:include template="monitoring_bar" />
</xen:if>
if ( !$info["name"] ) {
$info["shortname"] = "";
} else {
$info["shortname"] = strstr( $info["name"], "#" );
}
У меня возникло 2 вопроса . Я новичок и плохо в этом соображаю . Сделал всё по инструкции .Мой вариант работает только с одним протоколом ( 47 или 48 ). Если кому то еще интересно, могу переписать ... Появилось свободное время.
супер мониторинг, еще бы как нибудь туда прикрутить список игроков
- Перечитайте инструкцию, там все написано. Либо же изучите: monitoring.php там все ... понятно.
- "Курите" monitoring_bar.css
Поддерживаю, дефолтные картинки отображаются, при добавлении картинок результат нулевой, не отображаются.У меня возникло 2 вопроса . Я новичок и плохо в этом соображаю . Сделал всё по инструкции .
Итак :
1. Почему то не показывается лого карты , для проверки переименовал первый попавшийся и назвал по названию карты которая была в данный момент на сервере . Файл noimage.jpg и noserver.jpg показываются .
2. Где подгоняется размер баннера ? А то как то не очень :
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения