Tente isso..
1º Para arrumar esse bug do ''Server Offline'', va ate seu "layout.php" e nele, encontre
if($config['status']['serverStatus_online'] == 1)
2º substituia por
if($config['status']['serverStatus_online'] >= 0)
Pronto! Problema do Server Offline Resolvido! mais pera aí ! de que adianta se agora ta aparecendo 0 players online?
3º Agora, adicione ainda no layout.php, antes da tag <head> o seguinte script:
<?PHP
$update_interval = 10;
if(count($config['site']['worlds']) > 1)
{
$worlds .= '<i>Select world:</i> ';
foreach($config['site']['worlds'] as $id => $world_n)
{
$worlds .= ' <a href="?subtopic=whoisonline&world='.$id.'">'.$world_n.'</a> , ';
if($id == (int) $_GET['world'])
{
$world_id = $id;
$world_name = $world_n;
}
}
$main_content .= substr($worlds, 0, strlen($worlds)-3);
}
if(!isset($world_id))
{
$world_id = 0;
$world_name = $config['server']['serverName'];
}
$order = $_REQUEST['order'];
if($order == 'level')
$orderby = 'level';
elseif($order == 'vocation')
$orderby = 'vocation';
if(empty($orderby))
$orderby = 'name';
$tmp_file_name = 'cache/whoisonline-'.$orderby.'-'.$world_id.'.tmp';
if(file_exists($tmp_file_name) && filemtime($tmp_file_name) > (time() - $update_interval))
{
$tmp_file_content = explode(",", file_get_contents($tmp_file_name));
$number_of_players_online = $tmp_file_content[0];
$players_rows = $tmp_file_content[1];
}
else
{
$players_online_data = $SQL->query('SELECT * FROM players WHERE world_id = '.(int) $world_id.' AND online > 0 ORDER BY '.$orderby);
$number_of_players_online = 0;
foreach($players_online_data as $player)
{
$number_of_players_online++;
$acc = $SQL->query('SELECT * FROM '.$SQL->tableName('accounts').' WHERE '.$SQL->fieldName('id').' = '.$player['account_id'].'')->fetch();
if(is_int($number_of_players_online / 2))
$bgcolor = $config['site']['darkborder'];
else
$bgcolor = $config['site']['lightborder'];
$rs = "";
if ($player['skulltime'] > 0 && $player['skull'] == 3)
$rs = "<img style='border: 0;' src='./images/whiteskull.gif'/>";
elseif ($player['skulltime'] = $player['skull'] == 4)
$rs = "<img style='border: 0;' src='./images/redskull.gif'/>";
elseif ($player['skulltime'] = $player['skull'] == 5)
$rs = "<img style='border: 0;' src='./images/blackskull.gif'/>";
$players_rows .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH=10%><image src="images/flags/'.$acc['flag'].'.png"/></TD><TD WIDTH=70%><A HREF="?subtopic=characters&name='.urlencode($player['name']).'">'.$player['name'].$rs.'</A></TD><TD WIDTH=10%>'.$player['level'].'</TD><TD WIDTH=20%>'.$vocation_name[$world_id][$player['promotion']][$player['vocation']].'</TD></TR>';
}
}
?>
4º E onde estiver (em baixo do if que você alterou no passo 1)
echo $config['status']['serverStatus_players'].'<br />Players Online';
Substitua por
echo ''.$number_of_players_online.'<br />Players Online';