у тебя полный треш с Runnable
переменные используются хрен знает откуда
внешний id, внешний sec
нахрена тебе на каждого игрока отдельный Runnable создавать?
понятно почему у тебя первому пишет только.
например, если minplayers равно 10, то у тебя на каждого из 10 игроков создается Runnable. всего 10 штук.
первый запускается, проверяет sec == 60, печатает сообщение, делает sec--
следующий уже видит не 60, а 59. и ничего не печатает.
собственно, это все можно понять банально навставляв принты в код. и разобравшись где что происходит
тебе надо все переписать и нормально инкапсулировать. чтобы не было глобальных счетчиков.
отправку всем игрокам в какой-нибудь метод закатать, а не в цикли делать неведомую хрень по каждому.