Exemplo n.º 1
0
 |                                                                                                            |
 \-----------------------------------------------------------------------------------------------------------*/
//------------------------------------------------------------------------------------------------------------+
require "lgsl_class.php";
//------------------------------------------------------------------------------------------------------------+
// THIS CONTROLS HOW THE PLAYER FIELDS ARE DISPLAYED
$fields_show = array("name", "score", "kills", "deaths", "team", "ping", "bot", "time");
// ORDERED FIRST
$fields_hide = array("teamindex", "pid", "pbguid");
// REMOVED
$fields_other = TRUE;
// FALSE TO ONLY SHOW FIELDS IN $fields_show
//------------------------------------------------------------------------------------------------------------+
// GET THE SERVER DETAILS AND PREPARE IT FOR DISPLAY
global $lgsl_server_id;
$server = lgsl_query_cached("", "", "", "", "", "sep", $lgsl_server_id);
if (!$server) {
    $output .= "<div style='margin:auto; text-align:center'> {$lgsl_config['text']['mid']} </div>";
    return;
}
$fields = lgsl_sort_fields($server, $fields_show, $fields_hide, $fields_other);
$server = lgsl_sort_players($server);
$server = lgsl_sort_extras($server);
$misc = lgsl_server_misc($server);
$server = lgsl_server_html($server);
//------------------------------------------------------------------------------------------------------------+
$output .= "\r\n  <div style='margin:auto; text-align:center'>";
$output .= "\r\n  <div style='" . lgsl_bg(TRUE) . "; width:90%; margin:auto; text-align:center; height:6px; border:1px solid'><br /></div>\r\n  <div style='height:10px'><br /></div>";
//------------------------------------------------------------------------------------------------------------+
// SHOW THE STANDARD INFO
$output .= "\r\n  <table cellpadding='2' cellspacing='2' style='margin:auto'>\r\n    <tr>\r\n      <td colspan='3' style='text-align:center'>\r\n        <b> {$server['s']['name']} </b><br /><br />\r\n      </td>\r\n    </tr>\r\n  </table>\r\n  <table cellpadding='2' cellspacing='2' style='margin:auto'>\r\n    <tr>\r\n      <td colspan='2' style='text-align:center'>\r\n        <table cellpadding='4' cellspacing='2' style='width:100%; margin:auto'>\r\n          <tr><td style='" . lgsl_bg(TRUE) . "; text-align:center'><a href='{$misc['software_link']}'>{$lgsl_config['text']['slk']}</a></td></tr>\r\n        </table>\r\n      </td>\r\n      <td rowspan='2' style='text-align:center; vertical-align:top'>\r\n        <div style='width:{$lgsl_config['zone']['width']}px; padding:2px; position:relative; margin:auto'>\r\n          <img alt='' src='{$misc['image_map']}'                                            style='vertical-align:middle' />\r\n          <img alt='' src='{$misc['image_map_password']}'                                   style='position:absolute; z-index:2; top:0px; left:0px;' />\r\n          <img alt='' src='{$misc['icon_game']}'          title='{$misc['text_type_game']}' style='position:absolute; z-index:2; top:6px; left:6px;' />\r\n          <img alt='' src='{$misc['icon_location']}'      title='{$misc['text_location']}'  style='position:absolute; z-index:2; top:6px; right:6px;' />\r\n        </div>\r\n      </td>\r\n    </tr>\r\n    <tr>\r\n      <td style='text-align:center'>\r\n        <table cellpadding='4' cellspacing='2' style='margin:auto'>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['sts']} </b></td><td style='white-space:nowrap'> {$misc['text_status']}                                   </td></tr>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['adr']} </b></td><td style='white-space:nowrap'> {$server['b']['ip']}                                     </td></tr>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['cpt']} </b></td><td style='white-space:nowrap'> {$server['b']['c_port']}                                 </td></tr>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['qpt']} </b></td><td style='white-space:nowrap'> {$server['b']['q_port']}                                 </td></tr>\r\n        </table>\r\n      </td>\r\n      <td style='text-align:center'>\r\n        <table cellpadding='4' cellspacing='2' style='margin:auto'>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['typ']} </b></td><td style='white-space:nowrap'> {$server['b']['type']}                                   </td></tr>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['gme']} </b></td><td style='white-space:nowrap'> {$server['s']['game']}                                   </td></tr>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['map']} </b></td><td style='white-space:nowrap'> {$server['s']['map']}                                    </td></tr>\r\n          <tr style='" . lgsl_bg() . ";white-space:nowrap'><td> <b> {$lgsl_config['text']['plr']} </b></td><td style='white-space:nowrap'> {$server['s']['players']} / {$server['s']['playersmax']} </td></tr>\r\n        </table>\r\n      </td>\r\n    </tr>\r\n  </table>";
Exemplo n.º 2
0
 function lgsl_query_group($options = array())
 {
     if (!is_array($options)) {
         exit("LGSL PROBLEM: lgsl_query_group OPTIONS MUST BE ARRAY");
     }
     global $lgsl_config;
     lgsl_database();
     $request = isset($options['request']) ? $options['request'] : "s";
     $zone = isset($options['zone']) ? intval($options['zone']) : 0;
     $hide_offline = isset($options['hide_offline']) ? intval($options['hide_offline']) : intval($lgsl_config['hide_offline'][$zone]);
     $random = isset($options['random']) ? intval($options['random']) : intval($lgsl_config['random'][$zone]);
     $type = empty($options['type']) ? "" : preg_replace("/[^a-z0-9_]/", "_", strtolower($options['type']));
     $game = empty($options['game']) ? "" : preg_replace("/[^a-z0-9_]/", "_", strtolower($options['game']));
     $mysql_order = empty($random) ? "`cache_time` ASC" : "rand()";
     $server_limit = empty($random) ? 0 : $random;
     $mysql_where = array("`disabled`=0");
     if ($zone != 0) {
         $mysql_where[] = "FIND_IN_SET('{$zone}',`zone`)";
     }
     if ($type != "") {
         $mysql_where[] = "`type`='{$type}'";
     }
     $mysql_query = "SELECT `id` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE " . implode(" AND ", $mysql_where) . " ORDER BY {$mysql_order}";
     $mysql_result = mysql_query($mysql_query) or die(mysql_error());
     $server_list = array();
     while ($mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC)) {
         if (strpos($request, "c") === FALSE && lgsl_timer("check")) {
             $request .= "c";
         }
         $server = lgsl_query_cached("", "", "", "", "", $request, $mysql_row['id']);
         if ($hide_offline && empty($server['b']['status'])) {
             continue;
         }
         if ($game && $game != preg_replace("/[^a-z0-9_]/", "_", strtolower($server['s']['game']))) {
             continue;
         }
         $server_list[] = $server;
         if ($server_limit && count($server_list) >= $server_limit) {
             break;
         }
     }
     return $server_list;
 }
Exemplo n.º 3
0
 |                                                                                                            |
 |                      [ LIVE GAME SERVER LIST ] [ © RICHARD PERRY FROM GREYCUBE.COM ]                       |
 |                                                                                                            |
 |    Released under the terms and conditions of the GNU General Public License Version 3 (http://gnu.org)    |
 |                                                                                                            |
 \-----------------------------------------------------------------------------------------------------------*/
//------------------------------------------------------------------------------------------------------------+
require "lgsl_class.php";
lgsl_database();
//------------------------------------------------------------------------------------------------------------+
// CRON SETTINGS:
@set_time_limit(3600);
// MAXIMUM TIME THE CRON IS ALLOWED TO TAKE
$lgsl_config['cache_time'] = 60;
// HOW OLD CACHE MUST BE BEFORE IT NEEDS REFRESHING
$request = "sep";
// WHAT TO PRE-CACHE: [s] = BASIC INFO [e] = SETTINGS [p] = PLAYERS
//------------------------------------------------------------------------------------------------------------+
echo "<pre>STARTING [ TIME LIMIT: " . ini_get("max_execution_time") . " ] [ CACHE TIME: {$lgsl_config['cache_time']} ]\r\n\r\n";
//------------------------------------------------------------------------------------------------------------+
$mysql_query = "SELECT `type`,`ip`,`c_port`,`q_port`,`s_port` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `disabled`=0 ORDER BY `cache_time` ASC";
$mysql_result = mysql_query($mysql_query) or die(mysql_error());
while ($mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC)) {
    echo str_pad(lgsl_timer("taken"), 8, " ") . ":" . str_pad($mysql_row['type'], 15, " ") . ":" . str_pad($mysql_row['ip'], 30, " ") . ":" . str_pad($mysql_row['c_port'], 6, " ") . ":" . str_pad($mysql_row['q_port'], 6, " ") . ":" . str_pad($mysql_row['s_port'], 12, " ") . "\r\n";
    lgsl_query_cached($mysql_row['type'], $mysql_row['ip'], $mysql_row['c_port'], $mysql_row['q_port'], $mysql_row['s_port'], $request);
    flush();
    ob_flush();
}
//------------------------------------------------------------------------------------------------------------+
echo "\r\nFINISHED</pre>";
//------------------------------------------------------------------------------------------------------------+
Exemplo n.º 4
0
if (!isset($lgsl_protocol_list[$type])) {
    exit("LGSL FEED PROBLEM: " . ($type ? "UNKNOWN TYPE '{$type}'" : "MISSING TYPE") . " FOR {$ip} : {$c_port} : {$q_port} : {$s_port}");
}
//------------------------------------------------------------------------------------------------------------+
// FILTER HOSTNAME AND IP FORMATS THAT PHP ACCEPTS BUT ARE NOT WANTED
if (preg_match("/(\\[[0-9a-z\\:]+\\])/iU", $ip, $match)) {
    $ip = $match[1];
} elseif (preg_match("/([0-9a-z\\.\\-]+)/i", $ip, $match)) {
    $ip = $match[1];
}
//------------------------------------------------------------------------------------------------------------+
// CHECK PUBLIC FEED SETTING AND EITHER ADD [a] REQUEST OR ENSURE [a] IS REMOVED
$request = $lgsl_config['public_feed'] ? $request . "a" : str_replace("a", "", $request);
//------------------------------------------------------------------------------------------------------------+
// QUERY SERVER
$server = lgsl_query_cached($type, $ip, $c_port, $q_port, $s_port, $request);
//------------------------------------------------------------------------------------------------------------+
// ADD THE FEED PROVIDER
if ($server['e']) {
    $server['e']['_feed_'] = "http://{$_SERVER['HTTP_HOST']}";
}
//------------------------------------------------------------------------------------------------------------+
// FEED USAGE LOGGING - 'logs' FOLDER MUST BE MANUALLY CREATED AND SET AS WRITABLE
if (is_dir("logs") && is_writable("logs")) {
    //  $file_path = "logs/log_feed.html";
    $file_path = "logs/log_feed_{$_SERVER['REMOTE_ADDR']}.html";
    if (filesize($file_path) > 1234567) {
        unlink($file_path);
    }
    $file_handle = fopen($file_path, "a");
    $file_string = "\n    [ " . date("Y/m/d H:i:s") . " ] {$type}:{$ip}:{$c_port}:{$q_port}:{$s_port}:{$request}\n    [ <a href='http://" . lgsl_string_html($_SERVER['REMOTE_ADDR']) . "'>" . lgsl_string_html($_SERVER['REMOTE_ADDR']) . "</a> ]\n    [ <a href='" . lgsl_string_html($_SERVER['HTTP_REFERER']) . "'>" . lgsl_string_html($_SERVER['HTTP_REFERER']) . "</a> ]\n    " . ($version ? " [ {$version} ] " : "") . "\n    " . ($xml ? " [ XML ]        " : "") . "\n    <br />";
Exemplo n.º 5
0
 $hdd_total = intval(trim($ssh->exec("df -P / | tail -n +2 | head -n 1 | awk '{print \$2}'"))) * 1024;
 $hdd_used = intval(trim($ssh->exec("df -P / | tail -n +2 | head -n 1 | awk '{print \$3}'"))) * 1024;
 $hdd_free = intval(trim($ssh->exec("df -P / | tail -n +2 | head -n 1 | awk '{print \$4}'"))) * 1024;
 $hdd_usage = intval(substr(trim($ssh->exec("df -P / | tail -n +2 | head -n 1 | awk '{print \$5}'")), 0, -1));
 //------------------------------------------------------------------------------------------------------------+
 //Retrieves num players of the box
 $p = 0;
 $servers = mysql_query("SELECT * FROM `" . DBPREFIX . "server` WHERE `boxid` = '" . $rowsBoxes['boxid'] . "'");
 while ($rowsServers = mysql_fetch_assoc($servers)) {
     $type = query_fetch_assoc("SELECT `querytype` FROM `" . DBPREFIX . "game` WHERE `gameid` = '" . $rowsServers['gameid'] . "' LIMIT 1");
     $serverIp = query_fetch_assoc("SELECT `ip` FROM `" . DBPREFIX . "boxIp` WHERE `ipid` = '" . $rowsServers['ipid'] . "' LIMIT 1");
     if ($rowsServers['status'] == 'Active' && $rowsServers['panelstatus'] == 'Started') {
         //---------------------------------------------------------+
         //Querying the server
         include_once "../libs/lgsl/lgsl_class.php";
         $cache = lgsl_query_cached($type['querytype'], $serverIp['ip'], $rowsServers['port'], $rowsServers['queryport'], 0, 'sp');
         $p = $p + $cache['s']['players'];
         unset($cache);
         //---------------------------------------------------------+
     }
     unset($type);
     unset($serverIp);
 }
 unset($servers);
 //------------------------------------------------------------------------------------------------------------+
 //Data
 $boxCache = array($rowsBoxes['boxid'] => array('players' => array('players' => $p), 'bandwidth' => array('rx_usage' => $bandwidth_rx_usage, 'tx_usage' => $bandwidth_tx_usage, 'rx_total' => $bandwidth_rx_total, 'tx_total' => $bandwidth_tx_total), 'cpu' => array('proc' => $cpu_proc, 'cores' => $cpu_cores, 'usage' => $cpu_usage), 'ram' => array('total' => $ram_total, 'used' => $ram_used, 'free' => $ram_free, 'usage' => $ram_usage), 'loadavg' => array('loadavg' => $loadavg), 'hostname' => array('hostname' => $hostname), 'os' => array('os' => $os), 'date' => array('date' => $date), 'kernel' => array('kernel' => $kernel), 'arch' => array('arch' => $arch), 'uptime' => array('uptime' => $uptime), 'swap' => array('total' => $swap_total, 'used' => $swap_used, 'free' => $swap_free, 'usage' => $swap_usage), 'hdd' => array('total' => $hdd_total, 'used' => $hdd_used, 'free' => $hdd_free, 'usage' => $hdd_usage)));
 unset($p, $bandwidth_rx_total, $bandwidth_tx_total, $bandwidth_rx_usage, $bandwidth_tx_usage, $cpu_proc, $cpu_cores, $cpu_usage);
 unset($ram_used, $ram_free, $ram_total, $ram_usage, $loadavg, $hostname, $os, $date, $kernel, $arch, $uptime);
 unset($swap_used, $swap_free, $swap_total, $swap_usage, $hdd_total, $hdd_used, $hdd_free, $hdd_usage);
 //------------------------------------------------------------------------------------------------------------+
Exemplo n.º 6
0
     $slots = abs($slots);
     $port = abs($port);
     $queryport = abs($queryport);
     ###
     $serverIp = query_fetch_assoc("SELECT `ip` FROM `" . DBPREFIX . "boxIp` WHERE `ipid` = '" . $ipid . "' LIMIT 1");
     ###
     //We update the database
     query_basic("UPDATE `" . DBPREFIX . "server` SET\n\t\t\t`groupid` = '" . $groupid . "',\n\t\t\t`boxid` = '" . $boxid . "',\n\t\t\t`ipid` = '" . $ipid . "',\n\t\t\t`name` = '" . $name . "',\n\t\t\t`status` = '" . $status . "',\n\t\t\t`slots` = '" . $slots . "',\n\t\t\t`port` = '" . $port . "',\n\t\t\t`queryport` = '" . $queryport . "',\n\t\t\t`priority` = '" . $priority . "',\n\t\t\t`cfg1name` = '" . $cfg1Name . "',\n\t\t\t`cfg1` = '" . $cfg1 . "',\n\t\t\t`cfg2name` = '" . $cfg2Name . "',\n\t\t\t`cfg2` = '" . $cfg2 . "',\n\t\t\t`cfg3name` = '" . $cfg3Name . "',\n\t\t\t`cfg3` = '" . $cfg3 . "',\n\t\t\t`cfg4name` = '" . $cfg4Name . "',\n\t\t\t`cfg4` = '" . $cfg4 . "',\n\t\t\t`cfg5name` = '" . $cfg5Name . "',\n\t\t\t`cfg5` = '" . $cfg5 . "',\n\t\t\t`cfg6name` = '" . $cfg6Name . "',\n\t\t\t`cfg6` = '" . $cfg6 . "',\n\t\t\t`cfg7name` = '" . $cfg7Name . "',\n\t\t\t`cfg7` = '" . $cfg7 . "',\n\t\t\t`cfg8name` = '" . $cfg8Name . "',\n\t\t\t`cfg8` = '" . $cfg8 . "',\n\t\t\t`cfg9name` = '" . $cfg9Name . "',\n\t\t\t`cfg9` = '" . $cfg9 . "',\n\t\t\t`startline` = '" . $startline . "',\n\t\t\t`path` = '" . $path . "',\n\t\t\t`screen` = '" . preg_replace('#[^a-zA-Z0-9]#', "_", $name) . "' WHERE `serverid` = '" . $serverid . "'");
     ###
     //LGSL
     query_basic("UPDATE `" . DBPREFIX . "lgsl` SET\n\t\t\t`ip` = '" . $serverIp['ip'] . "',\n\t\t\t`c_port` = '" . $port . "',\n\t\t\t`q_port` = '" . $queryport . "',\n\t\t\t`s_port` = '0',\n\t\t\t`zone` = '0',\n\t\t\t`disabled` = '0',\n\t\t\t`comment` = '" . $name . "',\n\t\t\t`status` = '1' WHERE `id` = '" . $serverid . "'");
     ###
     //Update LGSL cache
     ###
     include_once "../libs/lgsl/lgsl_class.php";
     lgsl_query_cached("", "", "", "", "", "sep", $serverid);
     ###
     //Adding event to the database
     $message = "Server Edited: " . $name;
     query_basic("INSERT INTO `" . DBPREFIX . "log` SET `serverid` = '" . $serverid . "', `message` = '" . $message . "', `name` = '" . mysql_real_escape_string($_SESSION['adminfirstname']) . " " . mysql_real_escape_string($_SESSION['adminlastname']) . "', `ip` = '" . $_SERVER['REMOTE_ADDR'] . "'");
     ###
     $_SESSION['msg1'] = T_('Server Updated Successfully!');
     $_SESSION['msg2'] = T_('Your changes to the server have been saved.');
     $_SESSION['msg-type'] = 'success';
     header("Location: serversummary.php?id=" . urlencode($serverid));
     die;
     break;
 case 'servervalidation':
     $serverid = $_GET['serverid'];
     ###
     $error = '';