Проблема с вашим кодом связана с неправильным форматированием. Если вы подключаетесь к клиенту, вы должны увеличивать переменную player только тогда, когда это происходит.
while(players < MAX_PLAYERS){
if(players < MAX_PLAYERS) >>{<<<
new MyThread().start(serverSocket.accept());
players++;
>>}<<
}
Я удивлен, что вы подключились к клиенту в первую очередь.
Кроме того, метод запуска для потока не принимает параметры. Runnable интерфейс не принимает параметр для метода run.