Mirror damage is a server setting for friendly fire. (Other options
include "no team damage" and "team damage"). On a mirror damage server,
when you shoot teammates you take the damage instead of them. This means
you can kill yourself by shooting teammates; the death message will read
"UnnamedPlayer killed himself".
I think this is the best friendly fire setting, and I don't plan on
changing it (please don't ask). Let's look at the alternatives:
No team damage is easy, but on a public server all the games
degenerate into spamfests. There's no penalty for tossing grenades
and rockets everywhere.
Team damage on a public server really sucks (I tried this at
first); you're always getting creamed by clueless teammates. It only
cuts down on spam a little. Worst yet, malicious teamkilling can
really ruin a game. (This is probably the setting I'd use if I were to
have a "real" match, however.)
Now check out why mirror damage rocks:
It really does discourage spam, since the spammer is hurt if he
hits teammates. Another way of saying this is that it forces you to be
deliberate with all of your shots; you are punished for slopiness
which might not be considered "spam". I think you'll find that this
makes you a better player with practice.
Mirror damage makes spy-checking easier; simply fire a weak shot
(every class has a weapon which doesn't do very much damage) at the
player -- if you get hurt, then it's a teammate. Otherwise, it's a
spy.
Mirror damage makes malicious spam worthless: you can't gas,
HE charge, or nail-bomb your own team. In fact, it's pretty funny to
watch people try to do this, since they just get hurt and die as
you stand unphased inside their gas.
That said, there are a few annoyances to mirror damage (probably
less so than the other settings). These include damage incurred from
hurting a teammates' (or your own!) sentry/supplystation, difficulties
grenade jumping with low-armor classes, and teammates who accidentally
run right in front of your sniper shot. If you are cognizant of these,
however, they're pretty easily avoided. Hopefully some of these issues
will be "fixed" in future versions of Q3F.