Итак, для начала нам стоит уяснить несколько фундаментальных моментов, без которых построить схему, распределяющую игроков по командам, невозможно.
Что значит "Попадание в команду"? Мы, как строители, должны понимать, что в дальнейшем нам может потребоваться выполнить какие-либо действия, относительно всех игроков в команде. Соответственно, ещё на этапе распределения игроков, мы должны регистрировать их в специальных командах. Не рекомендую использовать простую телепортацию в разные комнаты, поскольку в дальнейшем взаимодействовать с игроками из определённой команды будет достаточно проблематично.
Как распределить нечётное количество игроков? Представьте ситуацию - на сервере находится 5 человек и нам нужно распределить их на 2 команды. 4 игрока из них будут успешно рассортированы - по 2 игрока в каждую команду. Но что делать с пятым игроком? Есть несколько возможных вариантов. Мы можем зарегистрировать игрока в отдельной команде и запретить ему играть, либо переместить его в одну из двух команд случайным образом. Как Вы понимаете, намного проще реализовать второй вариант развития событий. Мне кажется, что перевес в одного игрока в большинстве случаев не так существенен.
Итак, преступим к реализации механизма. Практическую его часть можно будет посмотреть на видео ниже. Сейчас мы будем реализовывать только техническую часть схемы. Для начала нам потребуется создать команду: /scoreboard teams add {имяКоманды} [отображаемоеИмяКоманды]. Затем мы будем поочерёдно регистрировать игроков в командах: /scoreboard teams join {имяКоманды} [никИгрокаИлиСелектор]. Теперь давайте выберем подходящий селектор. Селектор @p[c=1,r=5] выберет одного ближайшего игрока в радиусе пяти блоков.
Также, советую посмотреть видео-урок по распределению игроков по командам: