von Wieselburger » Sa 25. Jul 2015, 07:37
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Serverstatus</title> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <style type="text/css"><!-- tr { vertical-align: top; } body { background-color: white; color: black; font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 0.8em; } table.serverstatus { width: 640px; background-color: #EEEEEE; border: 1px dotted #AAAAAA; } table.playerstatus { width: 640px; background-color: #EEEEEE; border: 1px dotted #AAAAAA; text-align: center; } img.currentmap { width: 200px; border: 1px solid black; } img.nextmap { width: 100px; border: 1px solid black; } td { height: 1.4em; } td.key { font-size: 0.8em; font-weight: bold; } --></style> </head> <body> <!-- Begin Content --> <?php $ip = '85.14.237.112'; // IP deines Servers $port = ''; // Port des Servers (kann leer gelassen werden) $colored_names = true; // Sollen Servername+Spielername farbig werden (bei Q3, AAO, etc.)? // Paar Prüfungen und Generierung der URL zur Abfrage der Daten $aport = (int)$port; if ($aport) $aport = 'port='.$aport.'&'; else unset($aport); if ($colored_names) $colored_names = '&color=yes'; else unset($colored_names); // Daten holen $serverinfo = @unserialize(@file_get_contents('http://my.ngz.net/'.'getserverdata.php?'.$aport.'ip='.$ip.'&api=2'.$colored_names)); if (!is_array($serverinfo)) { // Die Rückgabe enthält kein brauchbares Ergebniss. echo 'Serverinformationen für '.$ip.':'.$port.' konnten nicht gelesen werden.'; } else { // Begin Output // Auskommentierung in folgender Zeile entfernen um alle Variablen zu sehen! // echo '<pre>'.var_export($serverinfo, true).'</pre>'; // Generieren des Codes für Mapbilder sofern vorhanden. $img_maps = ''; if ($serverinfo['img_currmap']) $img_maps = '<img src="'.$serverinfo['img_currmap'].'" class="currentmap" alt="'.$serverinfo['currmap'].'" />'; if ($serverinfo['img_nextmap']) $img_maps .= '<br /><img src="'.$serverinfo['img_nextmap'].'" class="nextmap" alt="'.$serverinfo['nextmap'].'" />'; ?> <table class="serverstatus"> <tr> <th colspan="3">Serverstatus</th> </tr> <tr> <td> <table> <tr><td class="key">Servername: </td><td><?php echo $serverinfo['servername']; ?></td></tr> <tr><td class="key">IP & Port: </td><td><?php echo $serverinfo['serverip'].':'.$serverinfo['port']; ?></td></tr> <tr><td class="key">Serverart: </td><td><?php echo $serverinfo['serveros'].' '.$serverinfo['servertype']; ?></td></tr> <tr><td class="key">Game: </td><td><?php echo $serverinfo['currgame']; ?></td></tr> <tr><td class="key">Mod-Name: </td><td><?php echo $serverinfo['currmod']; ?></td></tr> <tr><td class="key">Spieler: </td><td><?php echo $serverinfo['currplayers'].' / '. $serverinfo['maxplayers']; ?></td></tr> <tr><td class="key">Servermodus: </td><td><?php echo $serverinfo['servermode']; ?></td></tr> <tr><td class="key">Aktuelle Map: </td><td><?php echo $serverinfo['currmap']; ?></td></tr> </table> </td> <td style="text-align: right;"><?php echo $img_maps; ?></td> </tr> <tr><td colspan="3" style="text-align: center;"> <a title="In HLSW beobachten" href="hlsw://<?php echo $ip.':'.$serverinfo['port']; ?>">Server in HLSW beobachten</a> | <a title="Mit HLSW connecten" href="hlsw://<?php echo $ip.':'.$serverinfo['port']; ?>/?connect=1">Auf den Server connecten</a></td></tr> </table> <?php if (count($serverinfo['player']) > 1) // Spielertabelle nur anzeigen wenn wirklich min. ein Spieler drauf ist. { ?> <div style="height: 1em;"> </div> <table class="playerstatus"> <tr><th colspan="4">Spieler</th></tr> <tr><th>Nr.</th><th>Name</th><th>Frags</th><th>Zeit</th></tr> <?php foreach ($serverinfo['player'] as $idx => $player) { ?> <tr> <td class="key"><?php echo $idx+1; ?></td> <td><?php echo $player["name"]; ?></td> <td><?php echo $player["frags"]; ?></td> <td><?php echo $player["time"]; ?></td> </tr> <?php } // End foreach player ?> </table> <?php } // End if players ?> <?php } // End Output ?> <!-- End of Content --> </body> </html>