https://github.com/Tungul/Script_JoinFirst/raw/master/Script_JoinFirst.zipthis untested add-on should work to fix your little problem
a few things of note
1: i'm really frigging rusty at torquescript so this may have errors
2: it's untested so i obviously didn't catch any errors should they exist
3: it works as follows
a: client joins server
b: client tries to chat
c: if client is NOT admin and has NOT joined a team (via /jointeam team) it will not send the message, and will automagically show them /rules and throw a line on the bottom that says "You're muted until you join a team."
because of the logic used there's a very minor exploit that lets people bypass the chat block without actually joining the team, but if you're bright enough to figure that out you're bright enough to not be stupid and spam
the add-on is a filter of sorts.
i'll pm you the details if you want, but suffice to say it's not a dangerous vulnerability, and i can patch it if you send me the exact team names that you enter, eg "/jointeam lava"
any questions
pm me if it doesn't work
PS you can enable it on the server without rebooting by putting it in the server's add-ons folder and running
setmodpaths(getmodpaths());exec("add-ons/script_joinfirst/server.cs");