Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
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}