So i am trying to show server status on my website without being dependent on external services like ark-servers.net and i tried this script: [PHP] Simple server query | Oxide
Edit: I was able to fetch the data. Below working version:
use below code inside your website's head tags to refresh server status instantly:Code:<?php$ip = 'myipaddress'; $queryport = 28015;$socket = @fsockopen("udp://".$ip, $queryport , $errno, $errstr, 1);stream_set_timeout($socket, 1); stream_set_blocking($socket, TRUE); fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00"); $response = fread($socket, 4096); @fclose($socket);$packet = explode("\x00", substr($response, 6), 5); $server = array();if ( ! isset($packet[0], $packet[1], $packet[4])) { $packet[0] = null; $packet[1] = null; $packet[4] = null; }$server['name'] = $packet[0]; $server['map'] = $packet[1]; $inner = $packet[4]; $server['players'] = ord(substr($inner, 2, 1)); $server['playersmax'] = ord(substr($inner, 3, 1));if (empty($server['name'])) { //do something if empty echo "<p><font COLOR=red><b> Offline </b></Font></p><br>"; } else { //do something else if not empty echo "<p><font COLOR=LimeGreen><b> Online </b></Font> ".$server['players']." / ".$server['playersmax']." <br> <a href=\"steam://connect/myipaddress:28015\">".$server['name']."</a> <br> ".$server['map']." </p><br>"; }?>
Code:<meta http-equiv="refresh">
Server query on website
Discussion in 'Rust Discussion' started by Romminhaju, Feb 4, 2017.