SHARE
TWEET

get_tw_server_0_6-example

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