1 private void pollServer(ServerNBTStorage servernbtstorage) 2 throws IOException 3 { 4 String s = servernbtstorage.host; 5 String as[] = s.split(":"); 6 if(s.startsWith("[")) 7 { 8 int i = s.indexOf("]"); 9 if(i > 0) 10 { 11 String s2 = s.substring(1, i); 12 String s3 = s.substring(i + 1).trim(); 13 if(s3.startsWith(":") && s3.length() > 0) 14 { 15 s3 = s3.substring(1); 16 as = new String[2]; 17 as[0] = s2; 18 as[1] = s3; 19 } else 20 { 21 as = new String[1]; 22 as[0] = s2; 23 } 24 } 25 } 26 if(as.length > 2) 27 { 28 as = new String[1]; 29 as[0] = s; 30 } 31 String s1 = as[0]; 32 int j = as.length <= 1 ? 25565 : parseIntWithDefault(as[1], 25565); 33 Socket socket = null; 34 DataInputStream datainputstream = null; 35 DataOutputStream dataoutputstream = null; 36 try 37 { 38 socket = new Socket(); 39 socket.setSoTimeout(3000); 40 socket.setTcpNoDelay(true); 41 socket.setTrafficClass(18); 42 socket.connect(new InetSocketAddress(s1, j), 3000); 43 datainputstream = new DataInputStream(socket.getInputStream()); 44 dataoutputstream = new DataOutputStream(socket.getOutputStream()); 45 dataoutputstream.write(254); 46 if(datainputstream.read() != 255) 47 { 48 throw new IOException("Bad message"); 49 } 50 String s4 = Packet.readString(datainputstream, 64); 51 char ac[] = s4.toCharArray(); 52 for(int k = 0; k < ac.length; k++) 53 { 54 if(ac[k] != '\247' && ChatAllowedCharacters.allowedCharacters.indexOf(ac[k]) < 0) 55 { 56 ac[k] = '?'; 57 } 58 } 59 60 s4 = new String(ac); 61 String as1[] = s4.split("\247"); 62 s4 = as1[0]; 63 int l = -1; 64 int i1 = -1; 65 try 66 { 67 l = Integer.parseInt(as1[1]); 68 i1 = Integer.parseInt(as1[2]); 69 } 70 catch(Exception exception) { } 71 servernbtstorage.motd = (new StringBuilder()).append("\2477").append(s4).toString(); 72 if(l >= 0 && i1 > 0) 73 { 74 servernbtstorage.playerCount = (new StringBuilder()).append("\2477").append(l).append("\2478/\2477").append(i1).toString(); 75 } else 76 { 77 servernbtstorage.playerCount = "\2478???"; 78 } 79 } 80 finally 81 { 82 try 83 { 84 if(datainputstream != null) 85 { 86 datainputstream.close(); 87 } 88 } 89 catch(Throwable throwable) { } 90 try 91 { 92 if(dataoutputstream != null) 93 { 94 dataoutputstream.close(); 95 } 96 } 97 catch(Throwable throwable1) { } 98 try 99 { 100 if(socket != null) 101 { 102 socket.close(); 103 } 104 } 105 catch(Throwable throwable2) { } 106 } 107 }