Как происходит разделение на команды? Игрок заходит на сервер и его закидывает за рандомную команду? С учетом того, что вы хотите что бы был баланс команд, не очень представляю как можно сделать создаваемые команды.
Опишите подробнее весь режим(мод) что бы было меньше вопросов.
Вступление в команду будет происходить через команду, допустим !cotj (j-join) "название команды", при этом плагин будет проверять сколько людей в группе. Если игрок захочет вступить в белую команду, но если в ней уже 3 человека а в других (уже созданных дефолтных) меньше 3х игроков, то плагин не даст вступить в белую команда. (Сообщение в чате: В этой команде слишком много участников. Пожалуйста выберите другую.).
Если же создание команды будет то любой игрок сможет создать свою команду, через команду !cotc (c-create) " HLmodTeam" например.
Работа самого режима: Есть допустим 3 команды (Белые, Синие, Красные.). В игре под радаром указывается позиция на которой находится игрок, допустим Зигзаг. На Зигзаг зашёл игрок белой команды, убив другого игрока с этой позиции, засчитывается убийство Белой команде на позиции Зигзаг. Итак на позиции Зигзаг счёт команд 1:0:0. Белая команда т. к. у неё больше фрагов Захват Зигзага. Игрок Синей команды убивает на той же позиции 3х игроков, после чего счёт на этой позиции становится 1:3:0. Таким образом Синяя команда набрала больше убийств на этой позиции и захват ЗигЗага переходит к ним.
И такая система считает счёт на всех позициях на карте, и с команды !cots (s-status) в чат пишется сообщение: Захваченные позиции: Белые: 0; Синие: 1; Красные: 0.
Команда проверки Захвата !cot "Название Команды". Пример по тексту выше: !cot Синии.
Текст в чате: Захваченные позиции командой Синии: ЗигЗаг. (Позиции добавляются в зависимости от захваченных позиций по счету убийст.)
!!!Важно убийство товарища по команде не засчитывает убийство.
Как-то так:)