## Alternate Fire Mod README (Chat Filter)

Alternate Fire comes with a very accurate client-side chat and name filter. Both filters are an opt-in affair, meaning that their default state is off. Anyone may turn one or both of them on in the SETUP->GAME OPTIONS menu.
The filters weed out words that are commonly thought of as vulgar, at least in the context of a game. (A context example: the word "penis" may not be considered vulgar if you're talking to your doctor, but this author could think of no time when it would be appropriate to put the word inside a player's name.) It catches words inside of words, minus the legitimate ones like "assassinate," thanks to a fairly comprehensive dictionary of acceptable words. It also deals with color codes and spaces properly (spaces for the most part), and catches the most common number and symbol substitutions. That means it filters words like "^4$^2h^7!^4t" ("$h!t") and "h e l l" just perfectly.
That's all for the client side. It's just a great thing to have if you've got a wife and kids who sometimes watch you play online. (Yes, I programmed it for me.)
For a lot of reasons, it's also good for a server admin to be able to force the chat and/or name filter on for connecting clients. The commands to do this are these:
set g_forceChatFilter "1"
set g_forceNameFilter "1"
At this point, the filtering is an opt-out situation. The clients can disable the server's forcing of filters in the SETUP->GAME OPTIONS menu. There's a special case with g_forceNameFilter: if it's on and a client connects with a name that would be profanity-filtered, the client is given three seconds to understand what's happened and then the server kicks him. This happens whether or not the client is allowing the server to force the chat and name filters.
A server admin also has the following variables at his disposal:
g_filteredWords
g_filteredNames
These are custom words that the server admin can use for filtering. Each is a string of words separated by spaces. If a phrase needs to be filtered, the server admin can separate the individual words with an underscore. For example, say that, in light of current events, a server admin wanted to filter out all the discompassionate flunkies who connect with the name "bin laden":
set g_filteredNames "bin_laden"
This will match "binladen," "bin laden," "b!nl4d3n," ">>8in laden<<," and so on; and kick them when they connect if the name filter is forced.
g_filteredWords works on player chat. Admittedly, it's not nearly as useful as g_filteredNames, but I included it for symmetry's sake. Who knows? Someone might find a good use for it.
Just in case anybody asks you: if you choose to force clients' chat and/or name filters, you are NOT trampling on their Constitutional rights. People don't have a guaranteed right to connect to a public Quake III Arena server with a name like "f***wit." The Constitution only guarantees speech free from government control, and a server admin who switches on a filter because he's got to keep with the standards of a company that pays his bills and has their name on his server is not the government.
<< Back