Some times, third team goes locked.
The server cvars:
mm_allowlock = 1
matchmode->value = 0
You can resolve that by modifying a_team.c:
void JoinTeam (edict_t * ent, int desired_team, int
skip_menuclose) {
ORIGINAL:
if (mm_allowlock->value && team_locked[desired_team]) {
if (skip_menuclose)
gi.cprintf(ent, PRINT_HIGH, "Cannot
join %s (locked)\n", TeamName(desired_team));
else
gi.centerprintf(ent, "Cannot join %s
(locked)\n", TeamName(desired_team));
return;
}
MODIFIED:
if (matchmode->value && mm_allowlock->value &&
team_locked[desired_team]) {
if (skip_menuclose)
gi.cprintf(ent, PRINT_HIGH, "Cannot
join %s (locked)\n", TeamName(desired_team));
else
gi.centerprintf(ent, "Cannot join %s
(locked)\n", TeamName(desired_team));
return;
}