Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>Server Statistics</title>
- <style type="text/css">
- body {
- background: #22202F;
- color: #07BFFF;
- text-color: #472929;
- background-color: #006666;
- }
- a:link {
- color: #07BFFF;
- }
- td.border {
- width: 50%;
- background: #4F487C;
- color: #07BFFF;
- border: 1px solid #100C16;
- }
- table.theader {
- background:#7B97EB;
- width: 40%;
- margin:0 auto;
- padding: 3px 1px 3px 1px;
- text-align:center;
- }
- table.playerHeader {
- background:#100C16;
- border: 2px solid #7B97EB;
- width: 40%;
- margin:0 auto;
- padding: 3px 1px 3px 1px;
- text-align:center;
- }
- </style>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- </head>
- <body>
- <br />
- <div style="text-align:center;">
- <b><font color="#ffffff">SA:MP Server Info</font></b>
- <br /><br />
- <table class="theader">
- <?php
- //Defaults
- if (!isset($_GET['ip'])) {
- $ip = '91.121.6.5';
- }
- else {
- $ip = $_GET['ip'];
- }
- if (!isset($_GET['port'])) {
- $port = 7777;
- }
- else {
- $port = $_GET['port'];
- }
- $fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
- if (!$fp) {
- echo '<tr><td class="border">Socket Error: $errno - $errstr</td></tr>\n';
- }
- else {
- $packet = 'SAMP';
- $packet .= chr(strtok($ip, '.'));
- $packet .= chr(strtok('.'));
- $packet .= chr(strtok('.'));
- $packet .= chr(strtok('.'));
- $packet .= chr($port & 0xFF);
- $packet .= chr($port >> 8 & 0xFF);
- fwrite($fp, $packet . 'i');
- fread($fp, 11);
- $is_passworded = ord(fread($fp, 1));
- $plr_count = ord(fread($fp, 2));
- $max_plrs = ord(fread($fp, 2));
- $strlen = ord(fread($fp, 4));
- $hostname = fread($fp, $strlen);
- $strlen = ord(fread($fp, 4));
- $gamemode = fread($fp, $strlen);
- $strlen = ord(fread($fp, 4));
- $mapname = fread($fp, $strlen);
- if (strlen($hostname) < 1) {
- echo 'Server IP ' . $ip . ' is not online.';
- }
- else {
- echo '<table class="theader"><tr><td style="width:100%;"><b>' . $hostname . '<br />' . $ip . ":" . $port . '</b></td></tr></table><br />'."\n";
- echo '<table class="theader"><tr><td class="border">Players: </td><td class="border">' . $plr_count . ' / ' . $max_plrs . '</td></tr>' . "\n";
- echo '<tr><td class="border">GameMode: </td><td class="border">' . $gamemode . '</td></tr>'."\n";
- echo '<tr><td class="border">MapName: </td><td class="border">' . $mapname . '</td></tr>'."\n";
- if ($is_passworded) {
- echo '<tr><td class="border">Using Password: </td><td class="border">Yes</td></tr>' . "\n";
- }
- else {
- echo '<tr><td class="border">Using Password: </td><td class="border">No</td></tr></table>' . "\n";
- }
- echo "<br /><br />";
- fwrite($fp, $packet.'c');
- fread($fp, 11);
- $plr_count = ord(fread($fp, 2));
- if ($plr_count > 0) {
- echo '<table class="playerHeader"><tr><td style="width: 50%;"><b>Player</b></td><td style="width: 50%;"><b>Score</b></td></tr></table>' . "\n";
- echo '<table class="theader">' . "\n";
- for ($i = 0; $i < $plr_count; $i++) {
- $strlen = ord(fread($fp, 1));
- $plrname = fread($fp, $strlen);
- $score = ord(fread($fp, 4));
- echo '<tr><td class="border">' . $plrname . '</td><td class="border">' . $score . '</td></tr>' . "\n";
- }
- }
- else {
- echo '<tr><td class="border"><b>No players currently online!</b></td></tr>' . "\n";
- }
- fclose($fp);
- }
- }
- ?>
- </table>
- </div>
- <br />
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment