Advertisement
Guest User

Untitled

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