Here be the comprehensive DJ guide for each server some day. The commands and guidelines on how to be a proper DJ.
A quick summary of the commands:
@put clientnumber team
Puts player with clientnumber in desired team. team should be: r b s
Shorter version is @p cnum team, even more shorter versions are: @r <cnum>, @b <cnum> and @s <cnum>.
Kicks the player from server. @kickmap kicks for the duration of current map. @kickauto kicks automatically forever.
Locks or unlocks the teams. Note: this is a soft-lock which means it locks spectators out (disallow join when called as vote). Players can switch and mix and go spec freely. It is a feature!
short versions are @l and @u (or @ul)
Use this when
Restart the current map with this one in case of a bad /ready or bad teams, etc! @restart is shorter.
The universal swiss army spec knife!
Without an arg it forces the last joiner to spec: use it when teams are unlocked but someone joins without asking or without a pair! You don't have to fiddle with cnums and @put commands in the heat of the game!
It has a global cool-off period (5seconds, that's plenty in this game!) to prevent the racecondition between two or more djs! (ie: they are both typing @s at the same time. the slower one would force a valid player to spec too not just the offender without the cool off)
It also has a 30 seconds safety mechanism to prevent the race condition between the dj and the offender! ie: while you are typing @spec, just before pressing enter the offender leaves or joins spec you would force a legit benevolent player to spec! (hopefully the flagman at 7:7 overtime!)
The safety mechanism gives immunity to players in a team already for more than 30 seconds (but @spec cnum works ofc!). 30 seconds are more than enough to notice someone has joined illegally and type @s.
You can even bind it and spam it every second without causing any turmoil! shorter version is @s you don't even need @lock with this one! (and the offender will receive a polite hint)
maybe still needs some testing, do it during warmup!
There are many more commands depending on your DJ Level. Check them with @whoami. Do not apply them if you aren't sure in their effects!
Type the commands with a dot instead of the 'at' sign if you don't want to be exposed. Like this: .put 4 s ; .kick 13 ; .whoami The commands won't be printed for everyone.
These few are already enough for proper dj'ing, the list will be complete and formatted SOON.
Apologies for current ugliness here.....
Note: practicing djing on bots does not work. (for example they won't go spec)
Guidelines for each serverIn general DJs want to win, just like any ordinary party animal but they want to win with the underdog team! Keep that in mind when issuing commands!
:F normal ctf for stupidsMost of the time you should just leave this untouched ecosystem as is. If someone's only purpose is to fuck up the game (shooting teammates into void, or does nothing else but insults) ofc you can kick them. Do not try to argue or reason, just silently kick. No drama please. Do a shuffle right when the game starts if previous game ended in a disaster (8:1 or worse).
You can insert some more exotic maps if there are a lot of players once in a while to try them too. Maybe they get the hang of it.
Always use dotcommands please (ie: start them with a ' . ' not with a '@'), no need to advertise your dj powers!
You can .last occasionally the wrong joiners but do it fast immediately after a join, not when they were playing for their team for minutes.
:F instantgibYou can do a bit more aggressive and straightforward with djing here. But please do not overdo it or you risk alienating the players.
However when it is a balanced 3vs3 for example and someone just connects and joins you can ask to spec or join in pairs (like it is written in the server rules) you can even put him in spec. It was fun for 6 guys, do not let him ruin.
During busier times, no need to force them, ppl will come and go anyway. anti winjoin will keep the teams relatively balanced at least regarding teamsize.
Another thing is when the server has too few players. 1on1 for example. Let them join, you need players for next game. If you keep them in spec they will leave and so will you.
Do a shuffle on next map if the previous result was ugly or you see an oncoming unbalance BEFORE the game starts.
:F deathmatchKickban botters, tell players to enable autodownload and insert some exotic maps when there are many players online.
:F ctf for geniusesMake them stick to the server rules displayed in motd! Use '@' prefix for commands please, so others know what is going on!