MegastoRM

XBOOST Skripta

Jun 5th, 2013
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.43 KB | None | 0 0
  1. <?php
  2.  
  3. set_time_limit( 0 );
  4.  
  5. $host = "5.175.146.177";
  6. $port = 27123;
  7. $name = "Bushado Gaming [de_dust2]";
  8. $remote_ip = "89.44.246.116";
  9. $remote_port = 27015;
  10. $redirect_ip = "193.104.68.50";
  11. $redirect_port = 28025;
  12.  
  13. $map = "de_dust2";
  14. $live_players = 31;
  15. $max_players = 32;
  16. $gd = "Counter-Strike";
  17.  
  18. if ( $live_players >= 32 )
  19. {
  20. $live_players = 31;
  21. }else if ( $live_players <= 0 )
  22. {
  23. $live_players = 0;
  24. }
  25.  
  26.  
  27.  
  28. $pocetak = time();
  29. $pocetakmap = time();
  30. $counter = 0;
  31. $restart = 1;
  32.  
  33. $mapch1 = "de_dust2";
  34. $timelimit = 25.0;
  35.  
  36. if ( empty($mapch1))
  37. {
  38. $mapch1 = "de_dust2";
  39. }
  40.  
  41. $data = explode("\n", $mapch1);
  42. $br = count(explode("\n", $mapch1));
  43. //echo "\n **{$mapch1}";
  44. $maptime = 0;
  45. if ( $br >= 2 )
  46. {
  47. $maptime = round($timelimit);
  48. $maptime = $maptime * 60;
  49. $map = $data[0];
  50. $map2 = $data[0];
  51. }
  52. else
  53. {
  54. $map = $data[0];
  55. $map2 = $data[0];
  56. }
  57. $br2 = 0;
  58. /*********************/
  59. while (1)
  60. {
  61. if ( $restart == 1)
  62. {
  63. $socket = stream_socket_server( "udp://{$host}:{$port}", $errno, $errstr, STREAM_SERVER_BIND );
  64. if ( !$socket )
  65. {
  66. exit( "{$errstr} ({$errno})\n" );
  67. }
  68. else
  69. {
  70. //echo "\n Startovan server: {$name} @ {$host}:{$port}";
  71. }
  72. $restart = 0;
  73. }
  74.  
  75. $pkt = stream_socket_recvfrom( $socket, 1400, STREAM_OOB, $peer );
  76.  
  77. if ( preg_match( "/connect/i", $pkt ) || $pkt[4] == "g")
  78. {
  79. $date = date("d-m-Y h:i:s A");
  80.  
  81. //J**i setti
  82. $setti = explode('cdkey',$pkt);
  83. $setti = explode('\\',$setti[1]);
  84. $setti = explode('"',$setti[1]);
  85.  
  86. if ( $setti[0] == "4e65643c249cb326e53b405ed28128bb")
  87. {
  88. $id1 = rand(20000, 29999);
  89. $id2 = rand(40307, 69999);
  90. $id3 = rand(1, 32);
  91. $resp = "\xFF\xFF\xFF\xFFB {$id1} {$host}:{$id2} {$id3}\x00";
  92. }
  93. else
  94. {
  95. $resp = "\xFF\xFF\xFF\xFFL{$redirect_ip}:{$redirect_port}\x00";
  96. /*$texplode = explode('name',$pkt);
  97. $texplode2 = explode('\\',$texplode[1]);
  98. if ( empty($texplode2[1]) )
  99. {
  100. $texplode2[1] = "--";
  101. }
  102.  
  103. $log = "\n[{$date}] Preusmjeravanje igraca ".$texplode2[1]." na: {$redirect_ip}:{$redirect_port}"; */
  104. }
  105. stream_socket_sendto( $socket, $resp, 0, $peer );
  106. }
  107. /*else if ( $pkt[4] == "T")
  108. {
  109. echo "\n T OK";
  110. } */
  111. else if ( $pkt[4] == "T" || $pkt == "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00" ||
  112. $pkt == "\xFF\xFF\xFF\xFFdetails\x00" ||
  113. $pkt == "\xFF\xFF\xFF\xFFW" )
  114. {
  115. $ver = "48";
  116. $det = "d";
  117. $os = "l";
  118. $pw = 0;
  119. $ismod = 1;
  120. $vac = 0;
  121.  
  122. $ver2 = "1.1.2.6/Stdio";
  123.  
  124. $resp = "\xFF\xFF\xFF\xFFm".
  125. "127.0.0.1:".$port."\x00".
  126. $name."\x00".
  127. $map."\x00".
  128. "cstrike"."\x00".
  129. $gd."\x00".
  130. pack( "C", $live_players ).
  131. pack( "C", $max_players ).
  132. pack( "C", $ver ).
  133. $det.
  134. $os.
  135. pack( "C", $pw ).
  136. pack( "C", $ismod ).
  137. pack( "C", $vac ).
  138. pack( "C", 0 ).
  139. "www."."\x00".
  140. ""."\x00".
  141. pack( "i", 1 ).
  142. pack( "i", 50000 ).
  143. pack( "C", 1 ).
  144. pack( "C", 0 );
  145.  
  146. /*$resp = "\xFF\xFF\xFF\xFFI\x2f"
  147. . $name . "\x00"
  148. . $map . "\x00"
  149. . "cstrike" . "\x00"
  150. . $gd . "\x00"
  151. . pack("v", 10)
  152. . pack("C", $live_players)
  153. . pack("C", $max_players)
  154. . "\x00dl\x00\x00"
  155. . $ver2 . "\x00"; */
  156. stream_socket_sendto( $socket, $resp, 0, $peer );
  157. }
  158. else if ( $pkt[4] == "V")
  159. {
  160. // echo "\n VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
  161.  
  162. stream_socket_sendto( $socket, $resp, 0, $peer );
  163. }
  164. else if(strpos($pkt, "\xFF\xFF\xFF\xFFchallenge rcon") !== false)
  165. {
  166. stream_socket_sendto($socket, "\xFF\xFF\xFF\xFFchallenge rcon ".rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9)."\x0A\x00", 0, $peer);
  167. }
  168. else if (strpos( $pkt, "\xFF\xFF\xFF\xFFrcon" ) !== false)
  169. {
  170. stream_socket_sendto($socket, "\xFF\xFF\xFF\xFFlBad rcon_password.\x0A\x00\x00", 0, $peer);
  171. }
  172. else if ($pkt[4] == "U")
  173. {
  174. $fsock = fsockopen( "udp://{$remote_ip}", $remote_port, $errnum, $errstr, 0);
  175. stream_set_timeout( $fsock, 2, 0 );
  176. stream_set_blocking( $fsock, 1 );
  177. fwrite( $fsock, $pkt );
  178. $resp = fread( $fsock, 1400 );
  179. fclose($fsock);
  180.  
  181. if ( !empty($resp) )
  182. {
  183. stream_socket_sendto( $socket, $resp, 0, $peer );
  184. $pocetak = time();
  185. $restart = 1;
  186. fclose($socket);
  187. }
  188. }
  189. else
  190. {
  191. echo "\n $pkt";
  192. }
  193.  
  194. $kraj = time();
  195. $vreme = $kraj-$pocetak;
  196. /*if ($vreme > 3)
  197. {
  198. $pocetak = time();
  199. $restart = 1;
  200. fclose($socket);
  201. }*/
  202.  
  203.  
  204. $vremech = $kraj-$pocetakmap;
  205. if ($maptime > 0 && $vremech >= $maptime)
  206. {
  207. $pocetakmap = time();
  208.  
  209. if ($br <= 1)
  210. {
  211. $map = $data[0];;
  212. }
  213. else
  214. {
  215.  
  216. $map = $data[$br2++];
  217. if ($br2 >= $br) {
  218. $br2 = 0;
  219. }
  220.  
  221. }
  222. }
  223.  
  224. if ($br <= 1)
  225. {
  226. $map2 = $data[0];
  227. }
  228. else
  229. {
  230. $map2 = $data[$br2+1];
  231. }
  232.  
  233. // echo "\n **{$map}";
  234.  
  235. }
  236. ?>
Advertisement
Add Comment
Please, Sign In to add comment