Need help with server status.
*Online / offline - doesnt work.
*Players online - works fine.
*Uptime - 1 time shows me good uptime , and after i refresh site it shows me 0 h 0 m.
in layout.php:
in config-and-functions.php
serverstatus
*Online / offline - doesnt work.
*Players online - works fine.
*Uptime - 1 time shows me good uptime , and after i refresh site it shows me 0 h 0 m.
in layout.php:
PHP:
} <div class="header"><center>Server Status</center></div>
<div class="online">
<ul><table cellpadding="3" cellspacing="0" border="0" width="100%"> <tr><td><?PHP
if($config['status']['serverStatus_online'] == 1)
echo'<b>Server:</b> <font color="green">Online</font>';
else
echo'<b>Serwer:</b> <font color="red">Offline</font>';
?> </tr></td>
<tr><td><b>Players Online: </b><?PHP
$players = $SQL->query('SELECT * FROM players WHERE online = 1');
$p_num = 0;
foreach($players as $player) $p_num++;
if($config['status']['serverStatus_online'] == 1)
echo '' .$p_num.' / 100';
else
echo '' .$p_num.' / 100'; ?></td> </tr>
<tr><td><b>Uptime: </b><?php echo ($config['status']['serverStatus_uptime']); ?></td></tr>
</tr>
</table>
</div>
</div>
in config-and-functions.php
PHP:
}
$statustimeout = 1;
foreach(explode("*", str_replace(" ", "", $config['server']['statusTimeout'])) as $status_var)
if($status_var > 0)
$statustimeout = $statustimeout * $status_var;
$statustimeout = $statustimeout / 1000;
$config['status'] = parse_ini_file('config/serverstatus');
if($config['status']['serverStatus_lastCheck']+$statustimeout < time())
{
$config['status']['serverStatus_checkInterval'] = $statustimeout+3;
$config['status']['serverStatus_lastCheck'] = time();
$info = chr(6).chr(0).chr(255).chr(255).'info';
$sock = @fsockopen("my-ip...", $config['server']['statusPort'], $errno, $errstr, 1);
if ($sock)
{
fwrite($sock, $info);
$data='';
while (!feof($sock))
$data .= fgets($sock, 1024);
fclose($sock);
preg_match('/players online="(\d+)" max="(\d+)"/', $data, $matches);
$config['status']['serverStatus_online'] = 1;
$config['status']['serverStatus_players'] = $matches[1];
$config['status']['serverStatus_playersMax'] = $matches[2];
preg_match('/uptime="(\d+)"/', $data, $matches);
$h = floor($matches[1] / 3600);
$m = floor(($matches[1] - $h*3600) / 60);
$config['status']['serverStatus_uptime'] = $h.'h '.$m.'m';
preg_match('/monsters total="(\d+)"/', $data, $matches);
$config['status']['serverStatus_monsters'] = $matches[1];
}
else
{
$config['status']['serverStatus_online'] = 1;
$config['status']['serverStatus_players'] = 1;
$config['status']['serverStatus_playersMax'] = 100;
}
$file = fopen("config/serverstatus", "w");
foreach($config['status'] as $param => $data)
{
$file_data .= $param.' = "'.str_replace('"', '', $data).'"
';
}
serverstatus
Code:
serverStatus_checkInterval = "303"
serverStatus_lastCheck = "1375820614"
serverStatus_online = "1"
serverStatus_players = "1"
serverStatus_playersMax = "100"
serverStatus_uptime = ""
serverStatus_monsters = "9894"
serverStatus_offline = "0"