Забыли пароль?
Запросите новый здесь.

Автор темы: Kepuexa
ID темы: 1976
Информация:
Тема содержит 6 сообщения, была просмотрена 5199 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Плагины
 Распечатать тему
cs_monitoring_panel
Kepuexa
Здравствуйте,установил себе данный мод(мониторинг)все работает вроде кроме списка игроков кто на сервере,и тут понадобилось мне вставить в мониторинг 2ой сервер Counter-Strike,тут то и проблемкаac
Помогите пож,как вставить в мониторинг 2ой сервер?

 
x365
Может попробуешь скопировать панель и сохранить под названием cs_monitoring_panel2 и тд. Естественно с другим ip и портом

x1
 
Kepuexa
x365 написал:

Может попробуешь скопировать панель и сохранить под названием cs_monitoring_panel2 и тд. Естественно с другим ip и портом

Не помогло ac

 
Vova
Kepuexa,

Загрузить источник  GeSHi: PHP
  1. if (!function_exists('cs_online')) {
  2. function cs_online($ip, $port, $request)
  3. {
  4. $fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1);
  5. if (!$fp) { return FALSE; }
  6. stream_set_timeout($fp, 1, 0); stream_set_blocking($fp, true);
  7. if (($request == "settings" || $request == "players"))
  8. {
  9. $challenge_code = "\xFF\xFF\xFF\xFF\x57";
  10. fwrite($fp, $challenge_code);
  11. $buffer = fread($fp, 4096);
  12. if (!trim($buffer)) { fclose($fp); return FALSE; }
  13. $challenge_code = substr($buffer, 5, 4);
  14. }
  15. if ($request == "info") { $challenge = "\xFF\xFF\xFF\xFFdetails\x00"; }
  16. if ($request == "players") { $challenge = "\xFF\xFF\xFF\xFFplayers\x00"; }
  17. if ($request == "settings") { $challenge = "\xFF\xFF\xFF\xFFrules\x00"; }
  18. fwrite($fp, $challenge);
  19. $buffer = fread($fp, 4096);
  20. if (!$buffer) { fclose($fp); return FALSE; }
  21. if ($request == "settings")
  22. {
  23. $second_packet = fread($fp, 4096);
  24. if (strlen($second_packet) > 0)
  25. {
  26. $reverse_check = dechex(ord($buffer[8]));
  27. if ($reverse_check[0] == "1")
  28. {
  29. $tmp = $buffer;
  30. $buffer = $second_packet;
  31. $second_packet = $tmp;
  32. }
  33. $buffer = substr($buffer, 13);
  34. $second_packet = substr($second_packet, 9);
  35. $buffer = trim($buffer.$second_packet);
  36. }
  37. else
  38. {
  39. $buffer = trim(substr($buffer, 4));
  40. }
  41. }
  42. else
  43. {
  44. $buffer = trim(substr($buffer, 4));
  45. }
  46. fclose($fp);
  47. if (!trim($buffer)) { return FALSE; }
  48. if ($request == "info")
  49. {
  50. $tmp = explode("\x00", $buffer);
  51. $place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;
  52. $data['gamemod'] = $tmp[3];
  53. $data['hostname'] = $tmp[1];
  54. $data['mapname'] = $tmp[2];
  55. $data['players'] = ord($buffer[$place]);
  56. $data['maxplayers'] = ord($buffer[$place + 1]);
  57. $data['password'] = ord($buffer[$place + 5]);
  58. $data['datatype'] = $buffer[0];
  59. $data['version'] = ord($buffer[$place + 2]);
  60. $data['description'] = $tmp[4];
  61. $data['server_type'] = $buffer[$place + 3];
  62. $data['server_os'] = $buffer[$place + 4];
  63. $data['server_secure'] = ord($tmp[14]);
  64. $data['server_bots'] = ord($tmp[15]);
  65. $data['botplayers'] = 0;
  66. if ($data['datatype'] != "m")
  67. {
  68. return FALSE;
  69. }
  70. return $data;
  71. }
  72. if ($request == "players")
  73. {
  74. $player_number = 0;
  75. $position = 2;
  76. do
  77. {
  78. $player_number++;
  79. $player[$player_number]['id'] = ord($buffer[$position]);
  80. $position ++;
  81. while($buffer[$position] != "\x00" && $position < 4000)
  82. {
  83. $player[$player_number]['name'] .= $buffer[$position];
  84. $position ++;
  85. }
  86. $player[$player_number]['score'] = (ord($buffer[$position + 1]))
  87. + (ord($buffer[$position + 2]) * 256)
  88. + (ord($buffer[$position + 3]) * 65536)
  89. + (ord($buffer[$position + 4]) * 16777216);
  90. if ($player[$player_number]['score'] > 2147483648) { $player[$player_number]['score'] -= 4294967296; }
  91. $time = substr($buffer, $position + 5, 4);
  92. if (strlen($time) < 4) { return FALSE; }
  93. list(,$time) = unpack("f", $time);
  94. $time = mktime(0, 0, $time);
  95. $player[$player_number]['time'] = date("H:i:s", $time);
  96. $position += 9;
  97. }
  98. while ($position < strlen($buffer));
  99. return $player;
  100. }
  101. if ($request == "settings")
  102. {
  103. $tmp = substr($buffer, 2);
  104. $rawdata = explode("\x00", $tmp);
  105. for ($i=1; $i<count($rawdata); $i=$i+2)
  106. {
  107. $rawdata[$i] = strtolower($rawdata[$i]);
  108. $setting[$rawdata[$i]] = $rawdata[$i+1];
  109. }
  110. return $setting;
  111. }
  112. }}
  113. $data = cs_online("93.171.173.73", "27015", "info");
  114. $players += $data['players']-$data['botplayers'];
  115. $maxplayers += $data['maxplayers']-$data['botplayers'];
  116. echo "<b>IP:Port:</b> ".$data['hostname'];
  117. echo "<br><b>Игроков:</b> ".($data['players']-$data['botplayers'])."/".($data['maxplayers']-$data['botplayers']);
  118. echo "<br><b>Карта:</b> ".$data['mapname'];
  119. //echo "<br><img src='/uploads/images/css/".$data['mapname'].".jpg'>";
  120.  
  121. $datap = cs_online("93.171.173.73", "27015", "players");
  122. echo "<br><br>";
  123. foreach ($datap as $value) {
  124. echo $value['id']." - <b>".$value['name']."</b> - ".$value['score']."<br>";
  125. }
  126. $data = cs_online("93.171.173.73", "27025", "info");
  127. $players += $data['players']-$data['botplayers'];
  128. $maxplayers += $data['maxplayers']-$data['botplayers'];
  129. echo "<br><br><b>IP:Port:</b> ".$data['hostname'];
  130. echo "<br><b>Игроков:</b> ".($data['players']-$data['botplayers'])."/".($data['maxplayers']-$data['botplayers']);
  131. echo "<br><b>Карта:</b> ".$data['mapname'];
  132. //echo "<br><img src='/uploads/images/css/".$data['mapname'].".jpg'>";
  133.  
  134. $datap = cs_online("93.171.173.73", "27025", "players");
  135. echo "<br><br>";
  136. foreach ($datap as $value) {
  137. echo $value['id']." - <b>".$value['name']."</b> - ".$value['score']."<br>";
  138. }
  139. $data = cs_online("93.171.173.73", "27050", "info");
  140. $players += $data['players']-$data['botplayers'];
  141. $maxplayers += $data['maxplayers']-$data['botplayers'];
  142. echo "<br><br><b>IP:Port:</b> ".$data['hostname'];
  143. echo "<br><b>Игроков:</b> ".($data['players']-$data['botplayers'])."/".($data['maxplayers']-$data['botplayers']);
  144. echo "<br><b>Карта:</b> ".$data['mapname'];
  145. //echo "<br><img src='/uploads/images/css/".$data['mapname'].".jpg'>";
  146.  
  147. $datap = cs_online("93.171.173.73", "27050", "players");
  148. echo "<br><br>";
  149. foreach ($datap as $value) {
  150. echo $value['id']." - <b>".$value['name']."</b> - ".$value['score']."<br>";
  151. }
  152. echo "<br><br><b>Общий онлайн:</b> ".$players."/".$maxplayers;
Добавлено за 0.070 секунд, используя GeSHi 1.0.8.10


Панель для 7 протокола 1.6.

Вместо 93.171.173.73 используеш свой айпи. И порт.
Фото карт залить в папку /uploads/images/css/. И забрать комменты строчек. И добавить file_exists.

Здесь для CS:Source http://bincobox.c...a-php.html


Изменил(а) Vova, 01.01.2014 20:00
x1 x1 x1 x1
 
Web
Kepuexa
куда этот код вставлять?

 
Vova
В панель


 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)