'; var_dump($mixed); echo ''; return null; } function query_source_server($ip = null, $port = null) { // https://stackoverflow.com/questions/33454035/counter-strike-go-server-query $socket = socket_create(AF_INET, SOCK_DGRAM, 0); $result = socket_connect($socket, $ip, $port); if($result < 0){ $server['name'] = "UNKNOWN"; $server['map'] = "Could not connect"; $server['game'] = "UNKNOWN"; $server['description'] = "Could not connect"; $server['players'] = 0; $server['playersmax'] = 0; $server['bots'] = 0; $server['dedicated'] = "x"; $server['os'] = "x"; $server['password'] = "x"; $server['vac'] = "Could not connect"; $server['ip'] = "X.X.X.X"; $server['port'] = "00000"; return $server; } // FF FF FF FF 54 53 6F 75 72 63 65 20 45 6E 67 69 6E 65 20 51 75 65 72 79 00 $data = "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00"; socket_write($socket, $data, strlen($data)); $out = socket_read($socket, 4096); $queryData = explode("\x00", substr($out, 6), 5); $server['name'] = $queryData[0]; $server['map'] = $queryData[1]; $server['game'] = $queryData[2]; $server['description'] = $queryData[3]; $packet = $queryData[4]; $app_id = array_pop(unpack("S", substr($packet, 0, 2))); $server['players'] = ord(substr($packet, 2, 1)); $server['playersmax'] = ord(substr($packet, 3, 1)); $server['bots'] = ord(substr($packet, 4, 1)); $server['dedicated'] = substr($packet, 5, 1); $server['os'] = substr($packet, 6, 1); $server['password'] = ord(substr($packet, 7, 1)); $server['vac'] = ord(substr($packet, 8, 1)); $server['ip'] = $ip; $server['port'] = $port; if ($server['bots'] > 0){ $server['players'] = ($server['players'] - $server['bots']); } return $server; } function query_minecraft_server($ip = null, $port = null) { $server['result_valid'] = false; try { $mq = new MinecraftQuery(); $mq->Connect($ip, intval($port), 3, true); $players = $mq->GetPlayers(); if ($players == false) $server['players'] = 0; else $server['players'] = count($players); $info = $mq->GetInfo(); if ($info == false) return $server; $server['version'] = $info['Version']; $server['software'] = $info['Software']; $server['ip'] = "{$ip}"; $server['port'] = "{$port}"; $server['playersmax'] = $info['MaxPlayers']; $server['result_valid'] = true; } catch (MinecraftQueryException $e) { } return $server; } function generate_status_div($server = null, $demos = true) { echo "
\n"; echo "
" . $server['name'] . "
\n"; echo "
" . $server['ip'] . ":" . $server['port'] . "
\n"; echo "
\n"; echo $server['description'] . "\n\n"; echo $server['map'] . "\n"; echo "Players: " . $server['players'] . "/" . ($server['playersmax'] - 1) . "\n"; echo "Bots: " . $server['bots'] . "\n\n"; echo "
\n"; if( $demos == true ) echo "CONNECT  DEMOS"; else echo "CONNECT"; echo "
\n"; } function generate_mc_status_div($server = null) { echo "
\n"; echo "
~~~ networkheaven.net ~~~
\n"; echo "
minecraft
\n"; echo "
" . $server['ip'] . ":" . $server['port'] . "
\n"; echo "
\n"; echo "Players: " . $server['players'] . "/" . ($server['playersmax']) . "\n"; echo "Version: " . $server['version'] . "\n"; echo "Software: " . $server['software'] . "\n\n"; echo "
\n"; echo "
\n"; } // ok we are running stuff thats crasy $$$$ echo file_get_contents("static_elements/h.html"); // Header // only server at the moment $server1data = query_source_server("45.33.90.90", "27015"); if( $server1data['playersmax'] > 0 ) generate_status_div($server1data); $server1data = query_source_server("107.192.200.138", "27015"); if( $server1data['playersmax'] > 0 ) generate_status_div($server1data, false); $mcserverdata = query_minecraft_server("45.33.90.90", "25565"); if ($mcserverdata['result_valid'] == true) { generate_mc_status_div($mcserverdata); } echo file_get_contents("static_elements/f.html"); // Footer ?>