summaryrefslogtreecommitdiff
path: root/web/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'web/index.php')
-rw-r--r--web/index.php90
1 files changed, 90 insertions, 0 deletions
diff --git a/web/index.php b/web/index.php
new file mode 100644
index 0000000..0ff5f57
--- /dev/null
+++ b/web/index.php
@@ -0,0 +1,90 @@
+<?php
+function var_dump_pre($mixed = null) {
+ echo '<pre>';
+ var_dump($mixed);
+ echo '</pre>';
+ 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 generate_status_div($server = null) {
+
+ echo "<div class=\"statusbox\">\n";
+ echo "<H5>" . $server['name'] . "</H5>\n";
+ echo "<H6>" . $server['ip'] . ":" . $server['port'] . "</H6>\n";
+ echo "<hr/>\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 "<hr/>\n";
+ echo "<a href=\"steam://connect/" . $server['ip'] . ":" . $server['port']."\">CONNECT</a>&nbsp;&nbsp;<a href='/demos_css/'>DEMOS</a>";
+
+ echo "</div>\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");
+ generate_status_div($server1data);
+
+ echo file_get_contents("static_elements/f.html"); // Footer
+?>