Guest User

get_tw_master_old

a guest
Jan 22nd, 2014
81
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