Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 45 lines 1.6 kB view raw
1package net.minecraft.server; 2 3import java.io.IOException; 4import java.net.InetAddress; 5import java.net.Socket; 6import java.util.HashMap; 7 8class NetworkAcceptThread extends Thread { 9 10 final MinecraftServer a; 11 12 final NetworkListenThread b; 13 14 NetworkAcceptThread(NetworkListenThread networklistenthread, String s, MinecraftServer minecraftserver) { 15 super(s); 16 this.b = networklistenthread; 17 this.a = minecraftserver; 18 } 19 20 public void run() { 21 HashMap hashmap = new HashMap(); 22 23 while (this.b.b) { 24 try { 25 Socket socket = NetworkListenThread.a(this.b).accept(); 26 27 if (socket != null) { 28 InetAddress inetaddress = socket.getInetAddress(); 29 30 if (hashmap.containsKey(inetaddress) && !"127.0.0.1".equals(inetaddress.getHostAddress()) && System.currentTimeMillis() - ((Long) hashmap.get(inetaddress)).longValue() < 5000L) { 31 hashmap.put(inetaddress, Long.valueOf(System.currentTimeMillis())); 32 socket.close(); 33 } else { 34 hashmap.put(inetaddress, Long.valueOf(System.currentTimeMillis())); 35 NetLoginHandler netloginhandler = new NetLoginHandler(this.a, socket, "Connection #" + NetworkListenThread.b(this.b)); 36 37 NetworkListenThread.a(this.b, netloginhandler); 38 } 39 } 40 } catch (IOException ioexception) { 41 ioexception.printStackTrace(); 42 } 43 } 44 } 45}