Thread: Trash this one
View Single Post
8088
Veteran Member
Join Date: Jan 2008
Old 04-28-2012 , 19:14   Re: Want an simple PHP script for website with div id="serverstatus"
Reply With Quote #43

matrixmark, try this:
PHP Code:
<?php
require_once('JG_Cache.php');
require_once(
'SourceQuery.class.php');

$servers = array(
// add servers like this:
//'server_01' => array ('name' => 'My shitty server', 'ip' => 'abc.example.com', 'port' => '27015'),
//'server_02' => array ('name' => 'My crap server', 'ip' => '1.2.3.4', 'port' => '27015'),
  
'server_03' => array('name' => 'My awesome server''ip' => 'dks.servehalflife.com''port' => '27016')
);


foreach (
$servers as $server)
{

  
$cache = new JG_Cache('/tmp');
  
$info $cache->get($server['name'], 60); // second paramater = cache time in seconds

  
if ($info === false)
  {
    
$query = new SourceQuery();
    try
    {
      
$query->Connect($server['ip'], $server['port']);
      
$info['status'] = $query->GetInfo();
      
$info['players'] = $query->GetPlayers();
    } catch (
SourceQueryException $e)
    {
      
$info $e->getMessage();
    }
    
$cache->set($server['name'], $info);
  }
  
?>
  <table style="width:500px;">
  <?php if (is_array($info)): ?>
    <caption style="color:#000;">
        <?php echo htmlspecialchars($info['status']['HostName']); ?><br>
        <?php echo $server['ip'] . ':' $server['port']; ?> | map: <?php echo htmlspecialchars($info['status']['Map']); ?> | players: <?php echo $info['status']['Players']; ?>/<?php echo $info['status']['MaxPlayers']; ?>
    </caption>
    <?php if (is_array($info['players'])): ?>
        <thead>
          <tr><th>player</th><th>score</th><th>play time</th></tr>
        </thead>
        <?php foreach ($info['players'] as $player): ?>
          <tr><td><?php echo htmlspecialchars($player['Name']); ?></td><td><?php echo $player['Frags']; ?></td><td><?php echo $player['TimeF']; ?></td></tr>
        <?php endforeach; ?>
    <?php endif; ?>
  <?php else: ?>
    <caption style="color:#ff0000;"><?php echo $server['ip']; ?>:<?php echo $server['port']; ?> (offline)</caption>
  <?php endif; ?>
</table>
  <?php
}
?>
__________________
steamID converter with OpenSearch browser plugin

Last edited by 8088; 04-28-2012 at 20:25.
8088 is offline