SHARE
TWEET

get_tw_master_old

a guest Jan 22nd, 2014 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. /******************************************************************\
  4. |* Copyright (c) by Starlex.de
  5. |*
  6. |* Visit:
  7. |*              http://teeworlds.com
  8. |*              http://teeworlds.de
  9. |*              http://teeworlds-community.de
  10. |*
  11. |* License:
  12. |*              http://creativecommons.org/licenses/by-nc-sa/3.0/deed.de
  13. |*
  14. \******************************************************************/
  15.  
  16. function get_tw_master($server) {
  17.  
  18.         if ($socket = stream_socket_client('udp://'.$server , $errno, $errstr, 1))
  19.         {
  20.                 stream_set_timeout($socket, 1);
  21.                 fwrite($socket, "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffreqt");
  22.                 $servers = Array();
  23.                 $response = fread($socket, 2048);
  24.                 if ($response)
  25.                 {
  26.                         while (strlen($response) >= 1)
  27.                         {
  28.                                 $response = substr($response, 14);
  29.                                 for ($i = 0; $i <= (strlen($response)-1) ; $i += 6) {
  30.                                         $server =       Array(
  31.                                                         "ip1" => ord($response{$i}),
  32.                                                         "ip2" => ord($response{$i+1}),
  33.                                                         "ip3" => ord($response{$i+2}),
  34.                                                         "ip4" => ord($response{$i+3}),
  35.                                                         "port" => strToint($response{$i+5}.$response{$i+4}));
  36.                                                        
  37.                                         $serveraddresse = $server["ip1"].".".$server["ip2"].".".$server["ip3"].".".$server["ip4"].":".$server["port"];
  38.                                         $servers[] = $serveraddresse;
  39.                                 }
  40.                                 $response = fread($socket, 2048);
  41.                         }
  42.                         return $servers;
  43.                 } else {
  44.                         return FALSE;
  45.                 }
  46.         } else {
  47.                 return FALSE;
  48.         }
  49. }
  50.  
  51. function strToint($string)
  52. {
  53.     $hex = "";
  54.     for ($i=0; $i < strlen($string); $i++)
  55.     {
  56.         $hex .= dechex(ord($string[$i]));
  57.     }
  58.         $int = hexdec($hex);
  59.     return $int;
  60. }
  61. ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top