Parašė ch0k3· 2007 Spa. 7 18:10:22
#12
<?php
/*---------------------------------------------------+
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }
// Check if locale file is available matching the current site locale setting.
if (file_exists(INFUSIONS."css_qs_panel/locale/".$settings['locale'].".php")) {
// Load the locale file matching the current site locale setting.
include INFUSIONS."css_qs_panel/locale/".$settings['locale'].".php";
} else {
// Load the infusion's default locale file.
include INFUSIONS."css_qs_panel/locale/English.php";
}
$map;
$players;
$servername;
$maxplayers;
$bots;
$success;
$serveroutput = create_table();
opentable("Musu Counter-strike serveris");
Echo "<table width='100%' valign='top' cellpadding='1' cellspacing='1' class='tbl-border'>
<tr>
<td class = 'tbl2'></td>
<td class = 'tbl2' align='center'>Serverio Pavadinimas</td>
<td class = 'tbl2' align='center'>IP Adresas</td>
<td class = 'tbl2' align='center'>Dabartinis Map'as</td>
<td class = 'tbl2' align='center'>Zaidejei</td>
<td class = 'tbl2' width='5%'>Statusas</td>
<td class = 'tbl2' align='center'>Veiksmas</td>
</tr>
$serveroutput
</table>
";
closetable();
//functions
function create_table()
{
global $players;
global $map;
global $servername;
global $maxplayers;
global $bots;
global $success;
global $db_prefix;
$list = "";
$result = dbquery("SELECT * FROM ".$db_prefix."css_qs_servers ORDER BY css_qs_server_order ASC");
$rows = dbrows($result);
if ($rows != 0)
{
while($data = dbarray($result))
{
foreach($data as $key=>$value)
{
$$key = $value;
}
$server_status = query_server($css_qs_server_type,$css_qs_server_address,$css_qs_server_port);
if ($success == 1)
{
$players = $players." / ".$maxplayers." (".$bots.")";
}
if ($css_qs_server_type != "TeamSpeak" && $success == 1)
{
$actions = "<a href='steam://connect ".$css_qs_server_address.":".$css_qs_server_port."'><img src='infusions/css_qs_panel/images/connect.png' title='connect''></a>";
}
else
{
$actions = "No Actions";
}
$list .= "<tr><td align='center' valign='middle' class='tbl1' width='10'><img src='infusions/css_qs_panel/".$css_qs_server_image."'></td>
<td align='center' vaiign='middle' class='tbl1'>".$css_qs_server_Name."</td>
<td align='center' valign='middle' class='tbl1'>".$css_qs_server_address.":".$css_qs_server_port."</td>
<td align='center' valign='middle' class='tbl1'>".$map."</td>
<td align='center' valign='middle' class='tbl1'>".$players."</td>
<td align='center' valign='middle' class='tbl1'>$server_status</td>
<td align='center' valign='middle' class='tbl1'>$actions</td></tr>";
}
}
else
{
$list = "<tr><td align='center' valign='middle' colspan='7'>Nera nustatytu serveriu!</td></tr>";
}
if ($rows >= 4)
{
$list .= "<tr><td align='center' valign='middle' colspan='7'><font size='10'>Copyright © <a href='http://www.crazy-site.tik.lt'>PhoboS</a> 2006</font></td></tr>";
}
return $list;
}
function query_server($type,$ip,$port)
{
global $players;
global $map;
global $servername;
global $maxplayers;
global $bots;
global $success;
$success = 0;
$map = "N/A";
$players = "N/A";
$servername = "N/A";
$maxplayers = "N/A";
$bots = "N/A";
if ($type == "Counter Strike") //Source Query
{
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
if(!$live_server = fsockopen("udp://".$ip,$port))
{
$output = "<img src='infusions/css_qs_panel/images/red.gif' title='Server Down'>";
}
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;
$servername = getnextstring($server_info);
$map = getnextstring($server_info);
$junk = getnextstring($server_info);
$junk = getnextstring($server_info);
$junk = getnextbytevalue($server_info);
$junk = getnextbytevalue($server_info);
$players = getnextbytevalue($server_info);
$maxplayers = getnextbytevalue($server_info);
$bots = getnextbytevalue($server_info);
if ($players < $maxplayers)
{
$output = "<img src='infusions/css_qs_panel/images/green.gif' title='Server Active'>";
}
else
{
$output = "<img src='infusions/css_qs_panel/images/yellow.gif' title='Server Full'>";
}
}
else
{
$output = "<img src='infusions/css_qs_panel/images/red.gif' title='Server Down'>";
}
}
}
elseif ($type == "TeamSpeak")// Teamspeak Query
{
if (!$fp = @fsockopen($ip,$port))
{
$output = "<img src='infusions/css_qs_panel/images/red.gif' title='Server Down'>";
}
else
{
socket_set_timeout($fp,1,0);
$data = fread($fp,4);
fputs($fp, "quit");
fclose($fp);
if ($data == "[TS]")
{
$output = "<img src='infusions/css_qs_panel/images/green.gif' title='Server Active'>" ;
}
else
{
$output = "<img src='infusions/css_qs_panel/images/yellow.gif' title='Query Error'>";
}
}
}
elseif ($type == "CounterStrike 1.6")
{
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
if(!$live_server = fsockopen("udp://".$ip,$port))
{
$output = "<img src='infusions/css_qs_panel/images/red.gif' title='Server Down'>";
}
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 < $maxplayers)
{
$output = "<img src='infusions/css_qs_panel/images/green.gif' title='Server Active'>";
}
else
{
$output = "<img src='infusions/css_qs_panel/images/yellow.gif' title='Server Full'>";
}
}
else
{
$output = "<img src='infusions/css_qs_panel/images/red.gif' title='Server Down'>";
}
}
}
return $output;
}
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;
}
?>
gait parasyt kur reik serva irasyt ir apn nes nesuprantu :(:(:(:(