public int PORT = 9000; public int maxPlayers = 50; public Thread threads[] = new Thread[maxPlayers]; public static UserHandler userHandler[] = new UserHandler[maxPlayers]; public static void main(java.lang.String args[]) { new Server(); } public Server() { try { ServerSocket serverSock = new ServerSocket(PORT); Socket clientSock; while (true) { System.out.println("Waiting for a client..."); clientSock = serverSock.accept(); System.out.println("Client connection from " + clientSock.getInetAddress().getHostAddress()); for (int i = 0; i < maxPlayers; i++) if (threads[i] == null) { threads[i] = new Thread(userHandler[i]); threads[i].start(); break; } } } catch(Exception e) { System.out.println(e); } }