63 lines
2.7 KiB
JavaScript
63 lines
2.7 KiB
JavaScript
|
String.prototype.trunc = String.prototype.trunc ||
|
||
|
function(n){
|
||
|
return (this.length > n) ? this.substr(0,n-1)+'…' : this;
|
||
|
};
|
||
|
|
||
|
var totalPlayersOnline = 0;
|
||
|
|
||
|
function addServers() {
|
||
|
for (var i=0; i<servers.length; i++) {
|
||
|
if (servers[i].visible) {
|
||
|
var links = '';
|
||
|
if (servers[i].links.length > 0) {
|
||
|
for(l=0;l<servers[i].links.length;l++) {
|
||
|
if (l < (servers[i].links.length-1)) {links += '<a href="'+servers[i].links[l][1]+'"'+servers[i].links[l][2]+'>'+servers[i].links[l][0]+'</a> | ';}
|
||
|
else {links += '<a href="'+servers[i].links[l][1]+'"'+servers[i].links[l][2]+'>'+servers[i].links[l][0]+'</a>';}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
jQuery('#server-status-servers').append(
|
||
|
'<div class="server" id="server-'+i+'">'+
|
||
|
'<div class="server-icon"><img src="'+servers[i].icon+'" /></div>'+
|
||
|
'<div class="server-title">'+servers[i].title+'</div>'+
|
||
|
'<div class="server-ip" data-ip="'+servers[i].ip+'">'+servers[i].displayip+'</div>'+
|
||
|
'<div class="server-players"> 0/0 </div>'+
|
||
|
'<div class="server-map"></div>'+
|
||
|
'<div class="server-actions">'+links+'</div>'+
|
||
|
'<div class="server-indicator"><i class="fa fa-circle"></i></div>'+
|
||
|
'</div>'
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
function checkServersStatus() {
|
||
|
totalPlayersOnline = 0;
|
||
|
|
||
|
jQuery('.server').each(function() {
|
||
|
if (jQuery(this).hasClass('ignore')) {}
|
||
|
else {
|
||
|
var i = jQuery(this).attr('id').split('server-').join('');
|
||
|
jQuery('#server-'+i).find('.server-indicator').find('i').removeClass('fa-circle').addClass('fa-spinner').addClass('fa-pulse').removeClass('green').removeClass('red');
|
||
|
jQuery.getJSON('https://vps.moow.info/scripts/server-status/query.php?type='+servers[i].type+'&ip=' + servers[i].ip, function(response) {
|
||
|
if (response["status"] == "offline") {
|
||
|
jQuery('#server-'+i).find('.server-indicator').find('i').removeClass('fa-spinner').removeClass('fa-pulse').addClass('fa-circle').removeClass('green').addClass('red');
|
||
|
jQuery('#server-'+i).find('.server-players').html(' 0/0 ');
|
||
|
}
|
||
|
else {
|
||
|
jQuery('#server-'+i).find('.server-indicator').find('i').removeClass('fa-spinner').removeClass('fa-pulse').addClass('fa-circle').removeClass('red').addClass('green');
|
||
|
jQuery('#server-'+i).find('.server-players').html(response["players"]);
|
||
|
jQuery('#server-'+i).find('.server-map').html(response["map"].trunc(15));
|
||
|
totalPlayersOnline = totalPlayersOnline + parseInt(response["players"].split('\/')[0]);
|
||
|
jQuery('.server-status-total-num').html(totalPlayersOnline);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
jQuery(function() {
|
||
|
addServers();
|
||
|
checkServersStatus();
|
||
|
setInterval('checkServersStatus();',15000);
|
||
|
});
|