Firing the event game_over won't do anything as you guessed.
You can call CMultiplayRules::EndMultiplayerGame though and it will end the game, like gungame does. I happen to have some code to do it in linux:
PrepSDKCall_SetSignature(SDKLibrary_Server, "@_ZN15CMultiplayRules18EndMultiplayerGameEv", 0);
g_hEndGame = EndPrepSDKCall();
if(g_hEndGame == INVALID_HANDLE)
SetFailState("Could not locate signature for CMultiplayRules::EndMultiplayerGame!");