daily pastebin goal
30%
SHARE
TWEET

get_tw_server_0_6

a guest Jan 22nd, 2014 530 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.         /******************************************************************\
  3.         |* Copyright (c) by Starlex.de
  4.         |*
  5.         |* Visit:
  6.         |*              http://teeworlds.com
  7.         |*              http://teeworlds.de
  8.         |*              http://teeworlds-community.de
  9.         |*
  10.         |* License:
  11.         |*              http://creativecommons.org/licenses/by-nc-sa/3.0/deed.de
  12.         |*
  13.         \******************************************************************/
  14.  
  15. function get_tw_server_0_6($server) {
  16.    
  17.         $socket = stream_socket_client('udp://'.$server , $errno, $errstr, 1);
  18.         fwrite($socket, "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x69\x65\x33\x05");
  19.         $response = fread($socket, 2048);
  20.        
  21.         //      echo str_replace("\x00"," <br/> ",$response);
  22.        
  23.         if ($response){
  24.                 $info = explode("\x00",$response);
  25.                
  26.                 $players = array();
  27.                 for ($i = 0; $i <= $info[8]*5-5 ; $i += 5) {
  28.                        
  29.                         $teams = Array("Zuschauer","Spieler");
  30.                         $team = $teams[$info[$i+14]];
  31.                        
  32.                         $flags = Array();
  33.                        
  34.                         $flags[] = Array("default", "-1");
  35.                         $flags[] = Array("XEN", "901");
  36.                         $flags[] = Array("XNI", "902");
  37.                         $flags[] = Array("XSC", "903");
  38.                         $flags[] = Array("XWA", "904");
  39.                         $flags[] = Array("SS", "737");
  40.                         $flags[] = Array("AF", "4");
  41.                         $flags[] = Array("AX", "248");
  42.                         $flags[] = Array("AL", "8");
  43.                         $flags[] = Array("DZ", "12");
  44.                         $flags[] = Array("AS", "16");
  45.                         $flags[] = Array("AD", "20");
  46.                         $flags[] = Array("AO", "24");
  47.                         $flags[] = Array("AI", "660");
  48.                         $flags[] = Array("AG", "28");
  49.                         $flags[] = Array("AR", "32");
  50.                         $flags[] = Array("AM", "51");
  51.                         $flags[] = Array("AW", "533");
  52.                         $flags[] = Array("AU", "36");
  53.                         $flags[] = Array("AT", "40");
  54.                         $flags[] = Array("AZ", "31");
  55.                         $flags[] = Array("BS", "44");
  56.                         $flags[] = Array("BH", "48");
  57.                         $flags[] = Array("BD", "50");
  58.                         $flags[] = Array("BB", "52");
  59.                         $flags[] = Array("BY", "112");
  60.                         $flags[] = Array("BE", "56");
  61.                         $flags[] = Array("BZ", "84");
  62.                         $flags[] = Array("BJ", "204");
  63.                         $flags[] = Array("BM", "60");
  64.                         $flags[] = Array("BT", "64");
  65.                         $flags[] = Array("BO", "68");
  66.                         $flags[] = Array("BA", "70");
  67.                         $flags[] = Array("BW", "72");
  68.                         $flags[] = Array("BR", "76");
  69.                         $flags[] = Array("IO", "86");
  70.                         $flags[] = Array("BN", "96");
  71.                         $flags[] = Array("BG", "100");
  72.                         $flags[] = Array("BF", "854");
  73.                         $flags[] = Array("BI", "108");
  74.                         $flags[] = Array("KH", "116");
  75.                         $flags[] = Array("CM", "120");
  76.                         $flags[] = Array("CA", "124");
  77.                         $flags[] = Array("CV", "132");
  78.                         $flags[] = Array("KY", "136");
  79.                         $flags[] = Array("CF", "140");
  80.                         $flags[] = Array("TD", "148");
  81.                         $flags[] = Array("CL", "152");
  82.                         $flags[] = Array("CN", "156");
  83.                         $flags[] = Array("CX", "162");
  84.                         $flags[] = Array("CC", "166");
  85.                         $flags[] = Array("CO", "170");
  86.                         $flags[] = Array("KM", "174");
  87.                         $flags[] = Array("CG", "178");
  88.                         $flags[] = Array("CD", "180");
  89.                         $flags[] = Array("CK", "184");
  90.                         $flags[] = Array("CR", "188");
  91.                         $flags[] = Array("CI", "384");
  92.                         $flags[] = Array("HR", "191");
  93.                         $flags[] = Array("CU", "192");
  94.                         $flags[] = Array("CW", "531");
  95.                         $flags[] = Array("CY", "196");
  96.                         $flags[] = Array("CZ", "203");
  97.                         $flags[] = Array("DK", "208");
  98.                         $flags[] = Array("DJ", "262");
  99.                         $flags[] = Array("DM", "212");
  100.                         $flags[] = Array("DO", "214");
  101.                         $flags[] = Array("EC", "218");
  102.                         $flags[] = Array("EG", "818");
  103.                         $flags[] = Array("SV", "222");
  104.                         $flags[] = Array("GQ", "226");
  105.                         $flags[] = Array("ER", "232");
  106.                         $flags[] = Array("EE", "233");
  107.                         $flags[] = Array("ET", "231");
  108.                         $flags[] = Array("FK", "238");
  109.                         $flags[] = Array("FO", "234");
  110.                         $flags[] = Array("FJ", "242");
  111.                         $flags[] = Array("FI", "246");
  112.                         $flags[] = Array("FR", "250");
  113.                         $flags[] = Array("GF", "254");
  114.                         $flags[] = Array("PF", "258");
  115.                         $flags[] = Array("TF", "260");
  116.                         $flags[] = Array("GA", "266");
  117.                         $flags[] = Array("GM", "270");
  118.                         $flags[] = Array("GE", "268");
  119.                         $flags[] = Array("DE", "276");
  120.                         $flags[] = Array("GH", "288");
  121.                         $flags[] = Array("GI", "292");
  122.                         $flags[] = Array("GR", "300");
  123.                         $flags[] = Array("GL", "304");
  124.                         $flags[] = Array("GD", "308");
  125.                         $flags[] = Array("GP", "312");
  126.                         $flags[] = Array("GU", "316");
  127.                         $flags[] = Array("GT", "320");
  128.                         $flags[] = Array("GG", "831");
  129.                         $flags[] = Array("GN", "324");
  130.                         $flags[] = Array("GW", "624");
  131.                         $flags[] = Array("GY", "328");
  132.                         $flags[] = Array("HT", "332");
  133.                         $flags[] = Array("VA", "336");
  134.                         $flags[] = Array("HN", "340");
  135.                         $flags[] = Array("HK", "344");
  136.                         $flags[] = Array("HU", "348");
  137.                         $flags[] = Array("IS", "352");
  138.                         $flags[] = Array("IN", "356");
  139.                         $flags[] = Array("ID", "360");
  140.                         $flags[] = Array("IR", "364");
  141.                         $flags[] = Array("IQ", "368");
  142.                         $flags[] = Array("IE", "372");
  143.                         $flags[] = Array("IM", "833");
  144.                         $flags[] = Array("IL", "376");
  145.                         $flags[] = Array("IT", "380");
  146.                         $flags[] = Array("JM", "388");
  147.                         $flags[] = Array("JP", "392");
  148.                         $flags[] = Array("JE", "832");
  149.                         $flags[] = Array("JO", "400");
  150.                         $flags[] = Array("KZ", "398");
  151.                         $flags[] = Array("KE", "404");
  152.                         $flags[] = Array("KI", "296");
  153.                         $flags[] = Array("KP", "408");
  154.                         $flags[] = Array("KR", "410");
  155.                         $flags[] = Array("KW", "414");
  156.                         $flags[] = Array("KG", "417");
  157.                         $flags[] = Array("LA", "418");
  158.                         $flags[] = Array("LV", "428");
  159.                         $flags[] = Array("LB", "422");
  160.                         $flags[] = Array("LS", "426");
  161.                         $flags[] = Array("LR", "430");
  162.                         $flags[] = Array("LY", "434");
  163.                         $flags[] = Array("LI", "438");
  164.                         $flags[] = Array("LT", "440");
  165.                         $flags[] = Array("LU", "442");
  166.                         $flags[] = Array("MO", "446");
  167.                         $flags[] = Array("MK", "807");
  168.                         $flags[] = Array("MG", "450");
  169.                         $flags[] = Array("MW", "454");
  170.                         $flags[] = Array("MY", "458");
  171.                         $flags[] = Array("MV", "462");
  172.                         $flags[] = Array("ML", "466");
  173.                         $flags[] = Array("MT", "470");
  174.                         $flags[] = Array("MH", "584");
  175.                         $flags[] = Array("MQ", "474");
  176.                         $flags[] = Array("MR", "478");
  177.                         $flags[] = Array("MU", "480");
  178.                         $flags[] = Array("MX", "484");
  179.                         $flags[] = Array("FM", "583");
  180.                         $flags[] = Array("MD", "498");
  181.                         $flags[] = Array("MC", "492");
  182.                         $flags[] = Array("MN", "496");
  183.                         $flags[] = Array("ME", "499");
  184.                         $flags[] = Array("MS", "500");
  185.                         $flags[] = Array("MA", "504");
  186.                         $flags[] = Array("MZ", "508");
  187.                         $flags[] = Array("MM", "104");
  188.                         $flags[] = Array("NA", "516");
  189.                         $flags[] = Array("NR", "520");
  190.                         $flags[] = Array("NP", "524");
  191.                         $flags[] = Array("NL", "528");
  192.                         $flags[] = Array("NC", "540");
  193.                         $flags[] = Array("NZ", "554");
  194.                         $flags[] = Array("NI", "558");
  195.                         $flags[] = Array("NE", "562");
  196.                         $flags[] = Array("NG", "566");
  197.                         $flags[] = Array("NU", "570");
  198.                         $flags[] = Array("NF", "574");
  199.                         $flags[] = Array("MP", "580");
  200.                         $flags[] = Array("NO", "578");
  201.                         $flags[] = Array("OM", "512");
  202.                         $flags[] = Array("PK", "586");
  203.                         $flags[] = Array("PW", "585");
  204.                         $flags[] = Array("PA", "591");
  205.                         $flags[] = Array("PG", "598");
  206.                         $flags[] = Array("PY", "600");
  207.                         $flags[] = Array("PE", "604");
  208.                         $flags[] = Array("PH", "608");
  209.                         $flags[] = Array("PN", "612");
  210.                         $flags[] = Array("PL", "616");
  211.                         $flags[] = Array("PT", "620");
  212.                         $flags[] = Array("PR", "630");
  213.                         $flags[] = Array("QA", "634");
  214.                         $flags[] = Array("RE", "638");
  215.                         $flags[] = Array("RO", "642");
  216.                         $flags[] = Array("RU", "643");
  217.                         $flags[] = Array("RW", "646");
  218.                         $flags[] = Array("BL", "652");
  219.                         $flags[] = Array("SH", "654");
  220.                         $flags[] = Array("KN", "659");
  221.                         $flags[] = Array("LC", "662");
  222.                         $flags[] = Array("MF", "663");
  223.                         $flags[] = Array("PM", "666");
  224.                         $flags[] = Array("VC", "670");
  225.                         $flags[] = Array("WS", "882");
  226.                         $flags[] = Array("SM", "674");
  227.                         $flags[] = Array("ST", "678");
  228.                         $flags[] = Array("SA", "682");
  229.                         $flags[] = Array("SN", "686");
  230.                         $flags[] = Array("RS", "688");
  231.                         $flags[] = Array("SC", "690");
  232.                         $flags[] = Array("SL", "694");
  233.                         $flags[] = Array("SG", "702");
  234.                         $flags[] = Array("SX", "534");
  235.                         $flags[] = Array("SK", "703");
  236.                         $flags[] = Array("SI", "705");
  237.                         $flags[] = Array("SB", "90");
  238.                         $flags[] = Array("SO", "706");
  239.                         $flags[] = Array("ZA", "710");
  240.                         $flags[] = Array("GS", "239");
  241.                         $flags[] = Array("ES", "724");
  242.                         $flags[] = Array("LK", "144");
  243.                         $flags[] = Array("SD", "736");
  244.                         $flags[] = Array("SR", "740");
  245.                         $flags[] = Array("SZ", "748");
  246.                         $flags[] = Array("SE", "752");
  247.                         $flags[] = Array("CH", "756");
  248.                         $flags[] = Array("SY", "760");
  249.                         $flags[] = Array("TW", "158");
  250.                         $flags[] = Array("TJ", "762");
  251.                         $flags[] = Array("TZ", "834");
  252.                         $flags[] = Array("TH", "764");
  253.                         $flags[] = Array("TL", "626");
  254.                         $flags[] = Array("TG", "768");
  255.                         $flags[] = Array("TK", "772");
  256.                         $flags[] = Array("TO", "776");
  257.                         $flags[] = Array("TT", "780");
  258.                         $flags[] = Array("TN", "788");
  259.                         $flags[] = Array("TR", "792");
  260.                         $flags[] = Array("TM", "795");
  261.                         $flags[] = Array("TC", "796");
  262.                         $flags[] = Array("TV", "798");
  263.                         $flags[] = Array("UG", "800");
  264.                         $flags[] = Array("UA", "804");
  265.                         $flags[] = Array("AE", "784");
  266.                         $flags[] = Array("GB", "826");
  267.                         $flags[] = Array("US", "840");
  268.                         $flags[] = Array("UY", "858");
  269.                         $flags[] = Array("UZ", "860");
  270.                         $flags[] = Array("VU", "548");
  271.                         $flags[] = Array("VE", "862");
  272.                         $flags[] = Array("VN", "704");
  273.                         $flags[] = Array("VG", "92");
  274.                         $flags[] = Array("VI", "850");
  275.                         $flags[] = Array("WF", "876");
  276.                         $flags[] = Array("EH", "732");
  277.                         $flags[] = Array("YE", "887");
  278.                         $flags[] = Array("ZM", "894");
  279.                         $flags[] = Array("ZW", "716");
  280.  
  281.  
  282.                         $flag = "";
  283.                        
  284.                         foreach ($flags as $flag_tmp)
  285.                         {
  286.                                 if($flag_tmp[1] == $info[$i+12])
  287.                                 {
  288.                                         $flag = $flag_tmp[0];
  289.                                 }
  290.                         }
  291.                        
  292.  
  293.                         $players[] = array(
  294.                                                 "name" => htmlentities($info[$i+10], ENT_QUOTES, "UTF-8"),
  295.                                                 "clan" => htmlentities($info[$i+11], ENT_QUOTES, "UTF-8"),
  296.                                                 "flag" => $flag,
  297.                                                 "score" => $info[$i+13],
  298.                                                 "team" => $team);
  299.                 }
  300.                
  301.                 if($info[9] == $info[7])
  302.                 {
  303.                         $specslots = $info[9];
  304.                 }else{
  305.                         $specslots = $info[9] - $info[7];
  306.                 }
  307.                 $tmp = array(
  308.                 "name" => $info[2],
  309.                 "map" => $info[3],
  310.                 "type" => $info[4],
  311.                 "flags" => $info[5],
  312.                 "player_count_ingame" => $info[6],
  313.                 "max_players_ingame" => $info[7],
  314.                 "player_count_spectator" => $info[8] - $info[6],
  315.                 "max_players_spectator" => $specslots,
  316.                 "player_count_all" => $info[8],
  317.                 "max_players_all" => $info[9],
  318.                 "players" => $players);
  319.                
  320.                 return $tmp;
  321.                
  322.         } else {
  323.                 return FALSE;
  324.         }
  325. }
  326. ?>
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