Peržiūrėti temą
PHP-Fusion Mods :: PHP-Fusion modifikacijų forumas :: Taisymas
|
v7 cs monitorius
|
|
| Ruaks |
parašyta 2010-11-21 14:03
|
Pradinukas![]() Reputacija: 0 Pranešimai: 46 Įstojo: 2010-11-18 |
Kas galetu pakeiskit sita cs monitoriu is css i cs buciau labai dekingas ;] include_once "settings.php"; if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; } openside("Counter-Strike"); //-----------------Ïîëíè èíôîðìàèè -------------------// $maps_dir = IMAGES."css_maps/"; //kelias iki paveiksliuku $data = monitor_server_css("cs.mlg.lt", 27022, "halflife", "info"); // IP pakeiskite i serverio!!!! $img = $maps_dir.$data['mapname'].".jpg"; if (file_exists($img)) {} else {$img = $maps_dir."no_image.jpg";} function monitor_server_css($ip, $port, $game, $request) { $fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1); if (!$fp) { return FALSE; } stream_set_timeout($fp, 1, 0); stream_set_blocking($fp, true); if (($request == "settings" || $request == "players")) { $challenge_code = "\xFF\xFF\xFF\xFF\x57"; fwrite($fp, $challenge_code); $buffer = fread($fp, 4096); if (!trim($buffer)) { fclose($fp); return FALSE; } $challenge_code = substr($buffer, 5, 4); } if ($request == "info") { $challenge = "\xFF\xFF\xFF\xFFTSource Engine Query\x00"; } if ($request == "players") { $challenge = "\xFF\xFF\xFF\xFFU".$challenge_code; } if ($request == "settings") { $challenge = "\xFF\xFF\xFF\xFFV".$challenge_code; } fwrite($fp, $challenge); $buffer = fread($fp, 4096); if (!$buffer) { fclose($fp); return FALSE; } if ($request == "settings") { $second_packet = fread($fp, 4096); if (strlen($second_packet) > 0) { $reverse_check = dechex(ord($buffer[8])); if ($reverse_check[0] == "1") { $tmp = $buffer; $buffer = $second_packet; $second_packet = $tmp; } $buffer = substr($buffer, 13); $second_packet = substr($second_packet, 9); $buffer = trim($buffer.$second_packet); } else { $buffer = trim(substr($buffer, 4)); } } else { $buffer = trim(substr($buffer, 4)); } fclose($fp); if (!trim($buffer)) { return FALSE; } /*--------------------Ñòàíàðòíàÿ èíôîðìàèÿ î ñðâð----------------------------*/ if ($request == "info") { unset($data); $tmp = explode("\x00", $buffer); $place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5; $data['hostname'] = $tmp[0]; //hostname $data['mapname'] = $tmp[1]; //name map in server now $data['gamemod'] = $tmp[2]; //name modification Half Life $data['Ngamemod'] = $tmp[3]; //name server $data['players'] = ord($buffer[$place + 0]); $data['maxplayers'] = ord($buffer[$place + 1]); $data['numbots'] = ord($buffer[$place + 3]); // BOTS $data['ip'] = $ip; $data['server_os'] = $buffer[$place + 5]; // W indows or L inux return $data; // RETURN INFO } /*----------------------------------------------------------------------------------*/ if ($request == "players") { // $buffer[0] = datatype = D for steam players // ord($buffer[1]) = number of rules returned $player_number = 0; $position = 2; // START POINT do { $player_number++; // INCREMENT PLAYER NUMBER $player[$player_number]['id'] = ord($buffer[$position]); $position ++; // GET PLAYER GAME ID while($buffer[$position] != "\x00" && $position < 4000) // NAME LOOP WITH 4000 CHARACTER TIMEOUT { $player[$player_number]['name'] .= $buffer[$position]; // COLLECT PLAYER NAME $position ++; } $player[$player_number]['score'] = (ord($buffer[$position + 1])) + (ord($buffer[$position + 2]) * 256) + (ord($buffer[$position + 3]) * 65536) + (ord($buffer[$position + 4]) * 16777216); if ($player[$player_number]['score'] > 2147483648) { $player[$player_number]['score'] -= 4294967296; } // NEGATIVE SCORES ( -1 ) $time = substr($buffer, $position + 5, 4); // PLAYER TIME IN BYTES if (strlen($time) < 4) { return FALSE; } // CHECK FOR MISSING BYTES list(,$time) = unpack("f", $time); // CONVERT BYTES TO DECIMAL $time = mktime(0, 0, $time); // CONVERT DECIMAL TO UNIX TIMESTAMP $player[$player_number]['time'] = date("H:i:s", $time); // CONVERT TIMESTAMP TO HUMAN READABLE TIME $position += 9; } while ($position < strlen($buffer)); // REPEAT UNTIL THE END OF THE BUFFER return $player; } /*----------------------------------------------------------------------------------*/ if ($request == "settings") { // $buffer[0] = datatype = E for steam rules // ord($buffer[1]) = number of rules returned $tmp = substr($buffer, 2); // REMOVE BEGINNING DATA BYTES $rawdata = explode("\x00", $tmp); for($i=1; $i $rawdata[$i] = strtolower($rawdata[$i]); // MAKE ARRAY KEYS LOWERCASE $setting[$rawdata[$i]] = $rawdata[$i+1]; // LOAD DATA IN AN ARRAY } return $setting; // RETURN INFO } } /*--------------Isves informacija apie serveri, suveskite savo serverio duomenis------------------*/ // èçìíèò àðñ_âàãî_ñàòà è 127.0.0.1 íà IP àðñ ñðâðà! $server_css = " IP: cs.mlg.lt Zaideju: ".$data['players']."/".$data['maxplayers']." Zemelapis: ".$data['mapname']." Kas zaidzia? /*--------------Âûâî èíôîðìàèè è çàêðûòè áëîêà----------*/ echo "$server_css"; closeside(); ?> Kas galetu pakeiskit sita cs monitoriu is css i cs buciau labai dekingas ;] Redagavo Ruaks 2010-11-21 14:45 |
| gipsy |
parašyta 2010-11-22 08:01
|
|
Moderatorius ![]() Reputacija: 0 Pranešimai: 585 Įstojo: 2009-10-21 |
tau ka cia i cs suporta uznesa? |
| Ruaks |
parašyta 2010-11-22 12:14
|
Pradinukas![]() Reputacija: 0 Pranešimai: 46 Įstojo: 2010-11-18 |
taigi pagalbos tema.. |
| gipsy |
parašyta 2010-11-22 13:02
|
|
Moderatorius ![]() Reputacija: 0 Pranešimai: 585 Įstojo: 2009-10-21 |
tai cia ne cs zaidimo pagalbos portalas. beto tu ne pagalbos o taisymo vietoi svieties |
| Ruaks |
parašyta 2010-11-22 13:29
|
Pradinukas![]() Reputacija: 0 Pranešimai: 46 Įstojo: 2010-11-18 |
tai as prasau pakeisti koda kad butu ne css o cs.. cia su zaidimu nk nesusije o su html php |
| gipsy |
parašyta 2010-11-22 13:36
|
|
Moderatorius ![]() Reputacija: 0 Pranešimai: 585 Įstojo: 2009-10-21 |
nu vistiek su game CS susija. su jo monitoriu. nu bet tiek to. tuoi pameginasiu padet |
| Ruaks |
parašyta 2010-11-22 17:53
|
Pradinukas![]() Reputacija: 0 Pranešimai: 46 Įstojo: 2010-11-18 |
aciu iskart ;] tai padesit ? ;/ Redagavo Ruaks 2010-11-23 13:57 |
| Peršokti į forumą: |




