Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <meta charset="UTF-8">
- <title>Server Status</title>
- <style>
- a {
- text-decoration:none;
- color:#0076B1;
- }
- a:hover {
- color:#fff;
- }
- td {
- background-color:#D0D0D0;
- height:32px;
- }
- td:hover {
- background-color:#C0C0C0;
- }
- body {
- margin: 0px;
- }
- </style>
- <?php
- error_reporting(0);
- $year =date("Y");
- $datum =date("j.M.Y");
- $time =date("H:i:s");
- Class CounterStrike {
- var $m_servervars = ""; // Info about the server current map, players etc
- //
- // Get exact time, used for timeout counting
- //
- function timenow() {
- return doubleval(ereg_replace('^0\.([0-9]*) ([0-9]*)$','\\2.\\1',microtime()));
- }
- //
- // Read raw data from server
- //
- function getServerData($command,$serveraddress,$portnumber,$waittime) {
- $serverdata ="";
- $serverdatalen=0;
- if ($waittime< 500) $waittime= 500;
- if ($waittime>2000) $waittime=2000;
- $waittime=doubleval($waittime/1000.0);
- if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr)) {
- $this->errmsg="No connection";
- return "";
- }
- socket_set_blocking($cssocket,true);
- socket_set_timeout($cssocket,0,500000);
- fwrite($cssocket,$command,strlen($command));
- //
- $starttime=$this->timenow();
- do {
- $serverdata.=fgetc($cssocket);
- $serverdatalen++;
- $socketstatus=socket_get_status($cssocket);
- if ($this->timenow()>($starttime+$waittime)) {
- $this->errmsg="Connection timed out";
- fclose($cssocket);
- return "";
- }
- } while ($socketstatus["unread_bytes"] );
- fclose($cssocket);
- return $serverdata;
- }
- function getnextstring(&$data) {
- $temp="";
- $counter=0;
- while (ord($data[$counter++])!=0) $temp.=$data[$counter-1];
- $data=substr($data,strlen($temp)+1);
- return $temp;
- }
- function getnextbytevalue(&$data) {
- $temp=ord($data[0]);
- $data=substr($data,1);
- return $temp;
- }
- // **********************************************************************
- // getServerinfo
- // Return true if successful
- // **********************************************************************
- function getServerInfo($serveraddress,$portnumber,$waittime) {
- $cmd="\xFF\xFF\xFF\xFFTSource Engine Query\x00";
- $serverdata=$this->getServerData($cmd,$serveraddress,$portnumber,$waittime) ;
- // Check length of returned data, if < 5 something went wrong
- if (strlen($serverdata)<5) return false;
- // Strip OOB data
- $bytearr = unpack('C*', substr($serverdata,5));
- $servername = "";
- $i = 2;
- while($i < sizeof($bytearr)) {
- if($bytearr[$i] == 0) break;
- $servername .= chr($bytearr[$i]);
- $i++;
- }
- $mapname = "";
- $i++;
- while($i < sizeof($bytearr)) {
- if($bytearr[$i] == 0) break;
- $mapname .= chr($bytearr[$i]);
- $i++;
- }
- $modname = "";
- $i++;
- while($i < sizeof($bytearr)) {
- if($bytearr[$i] == 0) break;
- $modname .= chr($bytearr[$i]);
- $i++;
- }
- $gamename = "";
- $i++;
- while($i < sizeof($bytearr)) {
- if($bytearr[$i] == 0) break;
- $gamename .= chr($bytearr[$i]);
- $i++;
- }
- $playercount = $bytearr[$i+3];
- $maxcount = $bytearr[$i+4];
- $this->m_servervars["serveraddress"]=$this->getnextstring($serverdata);
- $this->m_servervars["servername"]=$this->getnextstring($serverdata);
- $this->m_servervars["mapname"]=$mapname;
- $this->m_servervars["game"]=$gamename;
- $this->m_servervars["gamename"]=$modname;
- $this->m_servervars["currentplayers"]=$playercount;
- $this->m_servervars["maxplayers"]=$maxcount;
- }
- // **********************************************************************
- // Get Playerinfo
- // Return true if successful
- // **********************************************************************
- }
- //Uprava serverov!!!!!!!!!!!!!!!!!!!!!!
- $nazov = "Server1"; //Sem zadaj názov serveru
- $serverip = "217.11.249.93"; //Sem zadaj ip adresu serveru
- $serverport = 27903; //Sem zadaj port serveru
- $nazov2 = "Server2"; //Sem zadaj názov serveru
- $serverip2 = "92.240.236.20";
- $serverport2 = 27011;
- $nazov3 = "Server3";
- $serverip3 = "dfghfgh";
- $serverport3 = 27011;
- $serveradr ="$serverip";
- $serverport="$serverport";
- $csinfo=new CounterStrike;
- $status=$csinfo->getServerInfo($serveradr,$serverport,1000);
- $serveradr2 ="$serverip2";
- $serverport2="$serverport2";
- $csinfo2=new CounterStrike;
- $status2=$csinfo2->getServerInfo($serveradr2,$serverport2,1000);
- $serveradr3 ="$serverip3";
- $serverport3="$serverport3";
- $csinfo3=new CounterStrike;
- $status3=$csinfo2->getServerInfo($serveradr3,$serverport3,1000);
- $hra = $csinfo->m_servervars["mapname"];
- $mapa = $csinfo->m_servervars["servername"];
- $hraci = $csinfo->m_servervars["currentplayers"];
- $sloty = $csinfo->m_servervars["maxplayers"];
- $hra2 = $csinfo2->m_servervars["mapname"];
- $mapa2 = $csinfo2->m_servervars["servername"];
- $hraci2 = $csinfo2->m_servervars["currentplayers"];
- $sloty2 = $csinfo2->m_servervars["maxplayers"];
- $hra3 = $csinfo3->m_servervars["mapname"];
- $mapa3 = $csinfo3->m_servervars["servername"];
- $hraci3 = $csinfo3->m_servervars["currentplayers"];
- $sloty3 = $csinfo3->m_servervars["maxplayers"];
- echo "<table style='background-color:#B0B0B0; text-decoration:none; text-align:center; font-family:arial; font-size: 10px; color: #FF6600; width:920px' colspan='10'>
- <tr><td width='24px'>Hra</td><td width='145px'>Název serveru</td><td width='135px'>Ip Adresa/Připojit</td><td width='74px'>Mapa</td><td width='55px'>Připojeno</td><td width='24px'>Stav</td></tr>";
- echo "<tr>"; //Prvy server začína tu
- echo "<td>";
- if($hra == "csgo"){
- echo "<img width='24px' height='24px' title='Counter Strike 1.6' src='http://www.iconesbr.net/iconesbr/2009/11/9038/9038_256x256.png'>";
- }
- echo "</td>";
- echo "<td>".$nazov."</td>";
- echo "<td><a href='steam://connect/".$serverip.":".$serverport."'>".$serverip.":".$serverport."</td>";
- echo "<td>".$mapa."</td>";
- echo "<td>".$sloty."/".$hraci."</td>";
- echo "<td>";
- if($status == 0){
- echo "<img title='Server je offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Red.png'>";
- } elseif($hraci == $sloty){
- echo "<img title='Server je plný' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Yellow.png'>";
- } elseif($status == 2){
- echo "<img title='Offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Green.png'>";
- }
- echo "</td>";
- echo "</tr>"; //končí tu
- echo "<tr>"; //druhý server začína tu
- echo "<td>";
- if($hra2 == "csgo"){
- echo "<img width='24px' height='24px' title='Counter Strike 1.6' src='http://www.iconesbr.net/iconesbr/2009/11/9038/9038_256x256.png'>";
- }
- echo "</td>";
- echo "<td>".$nazov2."</td>";
- echo "<td><a href='steam://connect/".$serverip2.":".$serverport2."'>".$serverip2.":".$serverport2."</td>";
- echo "<td>".$mapa2."</td>";
- echo "<td>".$hraci2."/".$sloty2."</td>";
- echo "<td>";
- if($status2 == 0){
- echo "<img title='Server je offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Red.png'>";
- } elseif($hraci2 == $sloty2){
- echo "<img title='Server je plný' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Yellow.png'>";
- } elseif($status2 == 1){
- echo "<img title='Offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Green.png'>";
- }
- echo "</td>";
- echo "</tr>"; //končí tu
- echo "<tr>"; //tretí server začína tu
- echo "<td>";
- if($hra3 == "csgo"){
- echo "<img width='24px' height='24px' title='Counter Strike 1.6' src='http://www.iconesbr.net/iconesbr/2009/11/9038/9038_256x256.png'>";
- }
- echo "</td>";
- echo "<td>".$nazov3."</td>";
- echo "<td><a href='steam://connect/".$serverip3.":".$serverport3."'>".$serverip3.":".$serverport3."</td>";
- echo "<td>".$mapa3."</td>";
- echo "<td>".$hraci3."/".$sloty3."</td>";
- echo "<td>";
- if($status3 == 0){
- echo "<img title='Server je offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Red.png'>";
- } elseif($hraci3 == $sloty3){
- echo "<img title='Server je plný' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Yellow.png'>";
- } elseif($status3 == 1){
- echo "<img title='Offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Green.png'>";
- }
- echo "</td>";
- echo "</tr>"; //končí tu
- echo "</table>";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment