I've updated SOAP DM so that it gets unloaded when a game starts with mp_tournament_readymode turned on. For those who don't know, that's the per-user ready-up system that valve uses for mm. You can download the newest version here: https://github.com/Lange/SOAP-TF2DM/archive/master.zip.
For those who want to know what changed in the coding:
Show Content
soap_tournament now pushes a client's userid to their appropriate team's array (redPlayersReady/bluePlayersReady) once they ready up with tournament_player_readystate 1. When a player unreadies or changes their team, their userid is removed from their team's array. When both team's arrays are equal to the value of mp_tournament_readymode_min, StopDeathmatching() is called because the game is starting.
Both of the team arrays are cleared when StartDeathmatching() or StopDeathmatching() is called because if mp_tournament_readymode wasn't turned on before a map change, clients think that they can ready up. The userids put in the team arrays would be carried over with the map change if the arrays weren't cleared in StartDeathmatching().
Both of the team arrays are cleared when StartDeathmatching() or StopDeathmatching() is called because if mp_tournament_readymode wasn't turned on before a map change, clients think that they can ready up. The userids put in the team arrays would be carried over with the map change if the arrays weren't cleared in StartDeathmatching().
EDIT: Explained mp_tournament_readymode cvar