| | |
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Autor | Správa |
---|
Registrovaný: 01.11.12 Prihlásený: 25.12.14 Príspevky: 40 Témy: 13 |
Ahojte, našiel som na nete tento CS 1.6 serverstatus a neviem prečo nefunguje. Packetom ani ničomu podobnému som nerozumel a ani nechcem zachádzať do hĺbky, pretože viem že by mi to trvalo (čiastke toho kódu rozumiem ale to čo sa zaoberá paketmi, to už nie ). Tu je kód: Kód: <?php error_reporting(E_ALL); include "../../maincore.php"; require_once THEMES."templates/header.php"; opentable("*** ServerList"); echo "<table width='100%' valign='top' cellpadding='1' cellspacing='1' class='tbl-border'> <tr> <td class='tbl2'></td> <td class='tbl2' align='center'>Názov servera</td> <td class='tbl2' align='center'>IP:Port</td> <td class='tbl2' align='center'>Mapa</td> <td class='tbl2' align='center'>Hráči</td> <td class='tbl2' width='5%'>Status</td> </tr>"; CS16("217.11.249.83", "27330"); echo "</table>"; closetable(); include THEMES."templates/footer.php";
function CS16($ip, $port) { $packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00"; if (!$server = @fsockopen("udp://".$ip, $port, $errno, $errstr)) { echo "<tr> <td class='tbl1' align='center' valign='middle'><img src='".BASEDIR."infusions/server_list/images/cs16.gif' title='Counter-Strike 1.6' alt='Counter-Strike 1.6' /></td> <td class='tbl1' align='center' valign='middle'>Server je vypnutý...</td> <td class='tbl1' align='center' valign='middle'>{$ip}:{$port}</td> <td class='tbl1' align='center' valign='middle'>...</td> <td class='tbl1' align='center' valign='middle'>0 / 0</td> <td class='tbl1' align='center' valign='middle'><img src='".BASEDIR."infusions/server_list/images/offline.png' title='Server je Offline' alt='Server je Offline' /></td> </tr>"; } else { fwrite($server, $packet); socket_set_timeout($server, 1, 0); $junk = fread($server, 5); $status = socket_get_status($server); $do = 1; $server_info = ""; while($do) { $str = fread($server, 1); $server_info .= $str; $status = socket_get_status($server); if ($status["unread_bytes"] == 0) { $do = 0; } } fclose($server); if (strlen($server_info) > 0) { $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); echo "<tr> <td class='tbl1' align='center' valign='middle'><img src='".BASEDIR."infusions/server_list/images/cs16.gif' title='Counter-Strike 1.6' alt='Counter-Strike 1.6' /></td> <td class='tbl1' align='center' valign='middle'>{$servername}</td> <td class='tbl1' align='center' valign='middle'>{$ip}:{$port}</td> <td class='tbl1' align='center' valign='middle'>{$map}</td> <td class='tbl1' align='center' valign='middle'>{$players} / {$maxplayers}</td> <td class='tbl1' align='center' valign='middle'><img src='".BASEDIR."infusions/server_list/images/online.png' title='Server je Online' alt='Server je Online' /></td> </tr>"; } else { echo "<tr> <td class='tbl1' align='center' valign='middle'><img src='".BASEDIR."infusions/server_list/images/cs16.gif' title='Counter-Strike 1.6' alt='Counter-Strike 1.6' /></td> <td class='tbl1' align='center' valign='middle'>Server je vypnutý...</td> <td class='tbl1' align='center' valign='middle'>{$ip}:{$port}</td> <td class='tbl1' align='center' valign='middle'>...</td> <td class='tbl1' align='center' valign='middle'>0 / 0</td> <td class='tbl1' align='center' valign='middle'><img src='".BASEDIR."infusions/server_list/images/offline.png' title='Server je Offline' alt='Server je Offline' /></td> </tr>"; } } }
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; }
?> začal som si vypisovať informácie a zistil som, že mi tie informácie nezíska, presnejšie $server_info neviete kde môže byť chyba?
|
|
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|