ericek111

CS:GO Server Status

Oct 17th, 2015
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.54 KB | None | 0 0
  1. <meta charset="UTF-8">
  2. <title>Server Status</title>
  3. <style>
  4.  
  5.   a {
  6.   text-decoration:none;
  7.   color:#0076B1;
  8.   }
  9.  
  10.   a:hover {
  11.   color:#fff;
  12.   }
  13.  
  14.   td {
  15.   background-color:#D0D0D0;
  16.   height:32px;
  17.   }
  18.  
  19.   td:hover {
  20.   background-color:#C0C0C0;
  21.   }
  22.  
  23.   body {
  24.   margin: 0px;
  25.   }
  26.  
  27. </style>
  28. <?php  
  29.  
  30. error_reporting(0);
  31.                    
  32.        
  33.         $year                    =date("Y");                  
  34.         $datum                 =date("j.M.Y");  
  35.         $time                    =date("H:i:s");          
  36. Class CounterStrike {
  37.         var $m_servervars = "";                // Info about the server current map, players etc
  38.         //
  39.         // Get exact time, used for timeout counting
  40.         //
  41.         function timenow() {
  42.                 return doubleval(ereg_replace('^0\.([0-9]*) ([0-9]*)$','\\2.\\1',microtime()));
  43.         }
  44.         //
  45.         // Read raw data from server
  46.         //
  47.         function getServerData($command,$serveraddress,$portnumber,$waittime) {
  48.                 $serverdata                ="";
  49.                 $serverdatalen=0;
  50.                 if ($waittime< 500) $waittime= 500;
  51.                 if ($waittime>2000) $waittime=2000;
  52.                 $waittime=doubleval($waittime/1000.0);
  53.                 if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr)) {
  54.                         $this->errmsg="No connection";
  55.                         return "";
  56.                 }
  57.                 socket_set_blocking($cssocket,true);
  58.                 socket_set_timeout($cssocket,0,500000);
  59.                 fwrite($cssocket,$command,strlen($command));
  60.                 //
  61.                 $starttime=$this->timenow();
  62.                 do {
  63.                         $serverdata.=fgetc($cssocket);
  64.                         $serverdatalen++;
  65.                         $socketstatus=socket_get_status($cssocket);
  66.                         if ($this->timenow()>($starttime+$waittime)) {
  67.                                 $this->errmsg="Connection timed out";
  68.                                 fclose($cssocket);
  69.                                 return "";
  70.                         }
  71.                 } while ($socketstatus["unread_bytes"] );
  72.                 fclose($cssocket);
  73.                 return $serverdata;
  74.         }
  75.         function getnextstring(&$data) {
  76.                 $temp="";
  77.                               $counter=0;
  78.                 while (ord($data[$counter++])!=0) $temp.=$data[$counter-1];
  79.                 $data=substr($data,strlen($temp)+1);
  80.                  return $temp;
  81.         }
  82.         function getnextbytevalue(&$data) {
  83.                 $temp=ord($data[0]);
  84.           $data=substr($data,1);
  85.           return $temp;
  86.         }
  87.         // **********************************************************************
  88.         // getServerinfo
  89.         // Return true if successful
  90.         // **********************************************************************
  91.         function getServerInfo($serveraddress,$portnumber,$waittime) {
  92.                 $cmd="\xFF\xFF\xFF\xFFTSource Engine Query\x00";
  93.                 $serverdata=$this->getServerData($cmd,$serveraddress,$portnumber,$waittime)        ;
  94.             // Check length of returned data, if < 5 something went wrong
  95.             if (strlen($serverdata)<5) return false;
  96.             // Strip OOB data
  97.             $bytearr = unpack('C*', substr($serverdata,5));
  98.  
  99.             $servername = "";
  100.             $i = 2;
  101.             while($i < sizeof($bytearr)) {
  102.                 if($bytearr[$i] == 0) break;
  103.                 $servername .= chr($bytearr[$i]);
  104.                 $i++;
  105.             }
  106.             $mapname = "";
  107.             $i++;
  108.             while($i < sizeof($bytearr)) {
  109.                 if($bytearr[$i] == 0) break;
  110.                 $mapname .= chr($bytearr[$i]);
  111.                 $i++;
  112.             }
  113.             $modname = "";
  114.             $i++;
  115.             while($i < sizeof($bytearr)) {
  116.                 if($bytearr[$i] == 0) break;
  117.                 $modname .= chr($bytearr[$i]);
  118.                 $i++;
  119.             }
  120.             $gamename = "";
  121.             $i++;
  122.             while($i < sizeof($bytearr)) {
  123.                 if($bytearr[$i] == 0) break;
  124.                 $gamename .= chr($bytearr[$i]);
  125.                 $i++;
  126.             }
  127.             $playercount = $bytearr[$i+3];
  128.             $maxcount = $bytearr[$i+4];
  129.  
  130.                 $this->m_servervars["serveraddress"]=$this->getnextstring($serverdata);
  131.                 $this->m_servervars["servername"]=$this->getnextstring($serverdata);
  132.                 $this->m_servervars["mapname"]=$mapname;
  133.                 $this->m_servervars["game"]=$gamename;
  134.                 $this->m_servervars["gamename"]=$modname;
  135.                 $this->m_servervars["currentplayers"]=$playercount;
  136.                 $this->m_servervars["maxplayers"]=$maxcount;
  137.         }
  138.         // **********************************************************************
  139.         // Get Playerinfo
  140.         // Return true if successful
  141.         // **********************************************************************
  142. }
  143.  
  144.     //Uprava serverov!!!!!!!!!!!!!!!!!!!!!!
  145.  
  146.     $nazov = "Server1"; //Sem zadaj názov serveru
  147.     $serverip = "217.11.249.93"; //Sem zadaj ip adresu serveru
  148.     $serverport = 27903; //Sem zadaj port serveru
  149.    
  150.     $nazov2 = "Server2"; //Sem zadaj názov serveru
  151.     $serverip2 = "92.240.236.20";
  152.     $serverport2 = 27011;
  153.    
  154.     $nazov3 = "Server3";
  155.     $serverip3 = "dfghfgh";
  156.     $serverport3 = 27011;
  157.    
  158.     $serveradr ="$serverip";
  159.     $serverport="$serverport";
  160.     $csinfo=new CounterStrike;
  161.     $status=$csinfo->getServerInfo($serveradr,$serverport,1000);
  162.    
  163.     $serveradr2 ="$serverip2";
  164.     $serverport2="$serverport2";
  165.     $csinfo2=new CounterStrike;
  166.     $status2=$csinfo2->getServerInfo($serveradr2,$serverport2,1000);
  167.    
  168.     $serveradr3 ="$serverip3";
  169.     $serverport3="$serverport3";
  170.     $csinfo3=new CounterStrike;
  171.     $status3=$csinfo2->getServerInfo($serveradr3,$serverport3,1000);
  172.    
  173.     $hra = $csinfo->m_servervars["mapname"];
  174.     $mapa = $csinfo->m_servervars["servername"];
  175.     $hraci = $csinfo->m_servervars["currentplayers"];
  176.     $sloty = $csinfo->m_servervars["maxplayers"];
  177.    
  178.     $hra2 = $csinfo2->m_servervars["mapname"];
  179.     $mapa2 = $csinfo2->m_servervars["servername"];
  180.     $hraci2 = $csinfo2->m_servervars["currentplayers"];
  181.     $sloty2 = $csinfo2->m_servervars["maxplayers"];
  182.    
  183.     $hra3 = $csinfo3->m_servervars["mapname"];
  184.     $mapa3 = $csinfo3->m_servervars["servername"];
  185.     $hraci3 = $csinfo3->m_servervars["currentplayers"];
  186.     $sloty3 = $csinfo3->m_servervars["maxplayers"];
  187.    
  188.    
  189.     echo "<table style='background-color:#B0B0B0; text-decoration:none; text-align:center; font-family:arial; font-size: 10px; color: #FF6600; width:920px' colspan='10'>
  190.          <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>";
  191.  
  192.         echo "<tr>"; //Prvy server začína tu
  193.         echo "<td>";
  194.         if($hra == "csgo"){
  195.        
  196.           echo "<img width='24px' height='24px' title='Counter Strike 1.6' src='http://www.iconesbr.net/iconesbr/2009/11/9038/9038_256x256.png'>";
  197.        
  198.         }
  199.         echo "</td>";
  200.         echo "<td>".$nazov."</td>";
  201.         echo "<td><a href='steam://connect/".$serverip.":".$serverport."'>".$serverip.":".$serverport."</td>";
  202.         echo "<td>".$mapa."</td>";
  203.         echo "<td>".$sloty."/".$hraci."</td>";  
  204.         echo "<td>";
  205.         if($status == 0){
  206.        
  207.           echo "<img title='Server je offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Red.png'>";
  208.        
  209.         } elseif($hraci == $sloty){
  210.        
  211.           echo "<img title='Server je plný' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Yellow.png'>";  
  212.        
  213.         } elseif($status == 2){
  214.                                
  215.           echo "<img title='Offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Green.png'>";
  216.          
  217.         }
  218.         echo "</td>";
  219.         echo "</tr>"; //končí tu
  220.        
  221.         echo "<tr>"; //druhý server začína tu
  222.         echo "<td>";
  223.         if($hra2 == "csgo"){
  224.        
  225.           echo "<img width='24px' height='24px' title='Counter Strike 1.6' src='http://www.iconesbr.net/iconesbr/2009/11/9038/9038_256x256.png'>";
  226.        
  227.         }
  228.         echo "</td>";
  229.         echo "<td>".$nazov2."</td>";
  230.         echo "<td><a href='steam://connect/".$serverip2.":".$serverport2."'>".$serverip2.":".$serverport2."</td>";
  231.         echo "<td>".$mapa2."</td>";
  232.         echo "<td>".$hraci2."/".$sloty2."</td>";  
  233.         echo "<td>";
  234.                 if($status2 == 0){
  235.        
  236.           echo "<img title='Server je offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Red.png'>";
  237.        
  238.         } elseif($hraci2 == $sloty2){
  239.        
  240.           echo "<img title='Server je plný' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Yellow.png'>";  
  241.        
  242.         } elseif($status2 == 1){
  243.        
  244.           echo "<img title='Offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Green.png'>";
  245.          
  246.         }
  247.         echo "</td>";
  248.         echo "</tr>"; //končí tu
  249.        
  250.         echo "<tr>"; //tretí server začína tu
  251.         echo "<td>";
  252.         if($hra3 == "csgo"){
  253.        
  254.           echo "<img width='24px' height='24px' title='Counter Strike 1.6' src='http://www.iconesbr.net/iconesbr/2009/11/9038/9038_256x256.png'>";
  255.        
  256.         }
  257.         echo "</td>";
  258.         echo "<td>".$nazov3."</td>";
  259.         echo "<td><a href='steam://connect/".$serverip3.":".$serverport3."'>".$serverip3.":".$serverport3."</td>";
  260.         echo "<td>".$mapa3."</td>";
  261.         echo "<td>".$hraci3."/".$sloty3."</td>";  
  262.         echo "<td>";
  263.         if($status3 == 0){
  264.        
  265.           echo "<img title='Server je offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Red.png'>";
  266.        
  267.         } elseif($hraci3 == $sloty3){
  268.        
  269.           echo "<img title='Server je plný' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Yellow.png'>";  
  270.        
  271.         } elseif($status3 == 1){
  272.        
  273.           echo "<img title='Offline' src='https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/24x24/Box_Green.png'>";
  274.          
  275.         }
  276.         echo "</td>";
  277.         echo "</tr>"; //končí tu
  278.  
  279.     echo "</table>";
  280. ?>
Advertisement
Add Comment
Please, Sign In to add comment