• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Gesior - server status.

Krzkru

New Member
Joined
Jan 10, 2013
Messages
89
Reaction score
1
Location
Poland
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:
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:&nbsp;</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:&nbsp;</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"
 
Back
Top