Naiteki
Narys
Nuolatinis
Pranešimai: 153
Įstojęs: 2011 Vas. 26 23:02:42
Kaip panelė atrodytų su dviem serveriais?
$ip = "77.241.199.156" ;
$port = "27019" ;
$packet = "\xFF \xFF \xFF \xFF TSource Engine Query\x00 " ;
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 ;
}
if ( ! $live_server = fsockopen ( "udp://" . $ip . ":" . $port . "" ) )
{
$output = "Off" ;
}
else
{
fwrite ( $live_server , $packet ) ;
socket_set_timeout ( $live_server , 1 , 0 ) ;
$junk = fread ( $live_server , 5 ) ;
$status = socket_get_status ( $live_server ) ;
$do = 1 ;
$server_info = "" ;
while ( $do )
{
$str_1 = fread ( $live_server , 1 ) ;
$server_info .= $str_1 ;
$status = socket_get_status ( $live_server ) ;
if ( $status [ "unread_bytes" ] == 0 ) { $do = 0 ; }
}
fclose ( $live_server ) ;
if ( strlen ( $server_info ) > 0 )
{
$success = 1 ;
$junk = getnextstring( $server_info ) ;
$servername = getnextstring( $server_info ) ;
$map = getnextstring( $server_info ) ;
$junk = getnextstring( $server_info ) ;
$junk = getnextstring( $server_info ) ;
$players = getnextbytevalue( $server_info ) ;
$maxplayers = getnextbytevalue( $server_info ) ;
}
if ( $players != '' ) {
$players = $players ;
} else {
$players = "0" ;
}
if ( $maxplayers != '' )
{
$maxplayers = $maxplayers ;
}
else
{
$maxplayers = "0" ;
}
if ( $players < $maxplayers )
{
$output = "<font color='#ff0000'>On</font>" ;
}
else
{
$output = "<font color='#54ff00'>Full</font>" ;
}
if ( $output != "Full" and $players != "0" or $maxplayers != "0" )
{
$output = $output ;
}
else
{
$output = "<font color='#ff3600'>Off</font>" ;
}
if ( $map != '' )
{
$map = "" . $map . "" ;
}
else
{
$map = "-----" ;
}
if ( $servername != '' ) {
$servername = $servername ;
} else {
$servername = "<font color='#ff3600'>Serveris neveikia</font>" ;
}
echo "<table cellpadding='0' cellspacing='1' width='100%' height='25'>\n <tr>\n " ;
echo "<td class='gtinasr56' align='center'>" . $output . "</td>
<td class='vovercikas' align='center'>" . $ip . ":" . $port . "</td>
<td class='vovercikas' align='center'>" . $servername . "</td>
<td class='vovercikas' align='center'>" . $map . "</td>
<td class='vovercikas' align='center'>" . $players . "/" . $maxplayers . "</td>" ;
echo "</tr>\n </table>\n " ;
}
Redagavo
Naiteki 2012 Sau. 16 18:01:35
mNm.
Narys
Tankas
Pranešimai: 2039
Įstojęs: 2008 Rugp. 28 00:08:02
getnextstring -> getnextstring2
getnextbytevalue -> getnextbytevalue2 nolife.lt / c-s.lt Redagavo
mNm. 2012 Sau. 18 16:01:16
Naiteki
Narys
Nuolatinis
Pranešimai: 153
Įstojęs: 2011 Vas. 26 23:02:42
Bandžiau pakeisti, bet meta error. Gali visą kodą parašyt?
KiraLT
Narys
Pulkininkas
Pranešimai: 382
Įstojęs: 2010 Rugs. 3 20:09:07
Srr, biški nesuprantu ka tu nori padaryti.
Naiteki
Narys
Nuolatinis
Pranešimai: 153
Įstojęs: 2011 Vas. 26 23:02:42
Hs parašė:
Srr, biški nesuprantu ka tu nori padaryti.
Kad per vidurį būtų panelė, kurioje rodytų du CS serverius.
Scarletas
Narys
Nuolatinis
Pranešimai: 165
Įstojęs: 2009 Gru. 16 11:12:45
Štai padariau, pasiredaguok tik ;]
// Serveris 1
$ip = "77.241.199.156";
$port = "27019";
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
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;
}
if(!$live_server = fsockopen("udp://".$ip.":".$port.""))
{
$output = "Offline";
}
else
{
fwrite($live_server, $packet);
socket_set_timeout($live_server,1,0);
$junk = fread($live_server,5);
$status = socket_get_status($live_server);
$do = 1;
$server_info= "";
while($do)
{
$str_1 = fread($live_server,1);
$server_info .= $str_1;
$status = socket_get_status($live_server);
if($status["unread_bytes"] == 0) {$do = 0;}
}
fclose($live_server);
if (strlen($server_info) > 0)
{
$success = 1;
$junk = getnextstring($server_info);
$servername = getnextstring($server_info);
$map = getnextstring($server_info);
$junk = getnextstring($server_info);
$junk = getnextstring($server_info);
$players = getnextbytevalue($server_info);
$maxplayers = getnextbytevalue($server_info);
}
if ($players != '') {
$players = $players;
} else {
$players = "0";
}
if ($maxplayers != '')
{
$maxplayers = $maxplayers;
}
else
{
$maxplayers = "0";
}
if ($players < $maxplayers)
{
$output = "<font color='green'>Online</font>";
}
else
{
$output = "<font color='red'>Full</font>";
}
if ($output != "Full" and $players != "0" or $maxplayers != "0")
{
$output = $output;
}
else
{
$output = "<font color='red'>Offline</font>";
}
if ($map != '')
{
$map = "".$map."";
}
else
{
$map = "-----";
}
if ($servername != '') {
$servername = $servername;
} else {
$servername = "<font color='#ff3600'>Serveris neveikia</font>";
}
echo "<table cellpadding='0' cellspacing='1' width='100%' height='25'>\n<tr>\n";
echo"<td align='center'><font color='333333'>".$output."</td>
<td class='vovercikas' align='center'><font color='333333'>".$ip.":".$port."</td>
<td class='vovercikas' align='center'><font color='333333'>".$servername."</td>
<td class='vovercikas' align='center'><font color='333333'>".$map."</td>
<td class='vovercikas' align='center'><font color='333333'>".$players."/".$maxplayers."</td>";
echo "</tr>\n</table>\n";
}
// Serveris 2
$ip = "77.241.199.156";
$port = "27019";
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
function getnextstring2(&$data)
{
$temp="";
$counter=0;
while (ord($data[$counter++])!=0) $temp.=$data[$counter-1];
$data=substr($data,strlen($temp)+1);
return $temp;
}
function getnextbytevalue2(&$data)
{
$temp=ord($data[0]);
$data=substr($data,1);
return $temp;
}
if(!$live_server = fsockopen("udp://".$ip.":".$port.""))
{
$output = "Offline";
}
else
{
fwrite($live_server, $packet);
socket_set_timeout($live_server,1,0);
$junk = fread($live_server,5);
$status = socket_get_status($live_server);
$do = 1;
$server_info= "";
while($do)
{
$str_1 = fread($live_server,1);
$server_info .= $str_1;
$status = socket_get_status($live_server);
if($status["unread_bytes"] == 0) {$do = 0;}
}
fclose($live_server);
if (strlen($server_info) > 0)
{
$success = 1;
$junk = getnextstring($server_info);
$servername = getnextstring($server_info);
$map = getnextstring($server_info);
$junk = getnextstring($server_info);
$junk = getnextstring($server_info);
$players = getnextbytevalue($server_info);
$maxplayers = getnextbytevalue($server_info);
}
if ($players != '') {
$players = $players;
} else {
$players = "0";
}
if ($maxplayers != '')
{
$maxplayers = $maxplayers;
}
else
{
$maxplayers = "0";
}
if ($players < $maxplayers)
{
$output = "<font color='green'>Online</font>";
}
else
{
$output = "<font color='red'>Full</font>";
}
if ($output != "Full" and $players != "0" or $maxplayers != "0")
{
$output = $output;
}
else
{
$output = "<font color='red'>Offline</font>";
}
if ($map != '')
{
$map = "".$map."";
}
else
{
$map = "-----";
}
if ($servername != '') {
$servername = $servername;
} else {
$servername = "<font color='#ff3600'>Serveris neveikia</font>";
}
echo "<table cellpadding='0' cellspacing='1' width='100%' height='25'>\n<tr>\n";
echo"<td align='center'><font color='333333'>".$output."</td>
<td class='vovercikas' align='center'><font color='333333'>".$ip.":".$port."</td>
<td class='vovercikas' align='center'><font color='333333'>".$servername."</td>
<td class='vovercikas' align='center'><font color='333333'>".$map."</td>
<td class='vovercikas' align='center'><font color='333333'>".$players."/".$maxplayers."</td>";
echo "</tr>\n</table>\n";
}
Naiteki
Narys
Nuolatinis
Pranešimai: 153
Įstojęs: 2011 Vas. 26 23:02:42
Scarletas , ačiū. +11 tau.
Peršokti į forumą:
Nebeegzistuojančios svetainės
Žaliems
Bendri PHP-F klausimai
WordPress
Kiti PHP, HTML, MySQL klausimai
Expert PHP, MySQL klausimai
Kitos TVS
C#, Python, Java, JS, C++ klausimai
Naujų modų pristatymai
Mods, Panels & Infusions
Themes
Dalinuosi, dovanoju!
Jūsų saitai
Klausimai apie domenus ir hostingus
VPS/DS serverių konfigūravimas ir valdymas
Viskas apie skaitliukus, top'us ir lankomumą
Dizaino konkursai
Parduodu - perku dizainą, banerį
Parduodu - perku - keičiuosi reklama
Parduodu - perku domeną, tinklapį
Siūlau - ieškau hostingo/VPS serverio
Parduodu - perku skriptą, modifikaciją, tvs
Socialiniai tinklai - Facebook ir kiti
Legalus verslas, teisiniai klausimai
Visa kita kas susiję su darbu ir pinigais
LTStartups.com - Lietuvos startuolių bendruomenė
Off-Topic diskusijos
IT naujienos
Portalo informacija
Narių pasiūlymai
Geležis ir programinė įranga
Grafika
Out Of Place
Su e-verslu nesusijęs darbas ir prekyba
Dalinuosi, dovanoju!