It is not very clear how to make a distinction between cheating and not cheating with Tremulous, especially when some people have different opinions on what is and what is not cheating. For that reason, I'm going to take a shot at defining cheating in a way that catches all of the clear cases and doesn't have any negatives for legitimate uses.
(The major purpose of this thread is to bring this particular issue to light without reviving a particularly dead unresolved thread.)
I think that cheating is doing one or both of two things:
1. Intentionally exploiting bugs
2. Somehow gaining an unfair advantage over other players
In the first case, I said "intentionally exploiting". This means that if there is a bug that is accidentally run into or even that there is a bug effecting something and that thing is continued, that is not cheating. But intentionally relying on that bug is cheating.
An example of cheating is this case would be if you figured out a way to control when you bounce off the ground and consistently used this to avoid getting hurt.
On the other hand, normal "glitched building" where the buildable's model displays below the actual buildable is not really cheating because that should not happen. But building in locations that cannot be gotten to is cheating. (There are some maps where buildables can be constructed in locations it is not possible to get to, sometimes where building there can be readily done.) In any case, glitched building is misleading and should probably be avoided.
On other games, when I am hosting a server, if I find someone "glitching" (they are careful to say "glitching" instead of "cheating"), I warn them to stop and if they persist, I kick or ban them. Exploiting seemingly harmless bugs is really no different from harmlessly cheating -- imagine using an aimbot with your construction kit: useless and silly, but still cheating.
For example, in one game it is possible to "float" when turning rapidly at the same time as you begin climbing. A lot of times the result is someone floating to the top of the map and plummeting to their deaths. However, this can also be used to get to locations on the maps that are not otherwise accessible.
In the second case, an "unfair" advantage is one that is not reasonably possible without assistance or that circumvents intentional protections for that. Basically, there are people who are really skillful at some games and will be able to accomplish things that seem impossible. This is not cheating. Using tools to assist you to obtain that level is not cheating if these tools do not actually take over any of the game play or remove some object of the game.
This includes qualifying client mods and third party "hacks" (hardware mods, etc.). Anything superfluous doesn't really count as a cheat though, nor does anything that can readily be accomplished in a non-"cheating" way.
To clarify what I mean, take for example key bindings. Many games allow custom binds with multiple customizable commands for the different keys. To use the game's bind system or a third part client that duplicates that functionality is not cheating. But in a game where the binds are highly limited or are not even allowed, that would be cheating. In Tremulous, I can make a bind that repeatedly buys and sells an item at the armoury. In Warcraft, I can't make a bind that recruits units faster (in maps with instantaneous recruiting). In Tremulous, that would not be cheating but in Warcraft it would be.
In most games, a special client mod is often suspect. But in a free software game like Tremulous, there may be legitimate purposes for the modification. For instance,
localization. But I do not agree that the availability of a modification changes whether its use is cheating or not.
A few real examples are radar without a helmet, special character models, and alien crosshairs.
Because the radar is available for humans with a helmet and because it gives additional information you would not otherwise have without doing work, it provides an unfair advantage and is a cheat. This does the work of having to turn around and stuff for you, and is unfair.
Using a special character model is not really cheating for two reasons: it could be for a legitimate purpose (e.g., I'm testing some models I made that I want to suggest for use in the next version), and they do not actually assist you in any way. A bright white dretch may be easier to see on some maps, but no easier to see than a normal dretch with certain fairly common cvar settings. Because the effect can be essentially duplicated without "cheating" by modifying variables, I think that should be permitted.
Additionally, there is the legitimate case where one person's vision may be better than another person's. It would be unfair for one person to be able to recognize a slight distortion of a few pixels while someone else cannot. But life is not fair, and allowing it to be evened out somewhat is not that big of a deal.
Finally, the case of an
alien crosshair is interesting. A lot of people say it is a cheat because it assists with aiming. However, in actuality all that a crosshair does is add a marker on the center of the screen, something which can be demonstrably accomplished using various software and hardware methods. What it all comes down to is that some people know where the center of their screen is and some people are not yet that comfortable with their screen.
Identifying the center of your screen only aids in aiming to the extent that you might not otherwise know where the center of your screen is. Some people know that and are perfectly fine aiming without a crosshair at all. So in essence, to say that an alien crosshair is cheating is giving those players more familiar with FPS an unfair advantage because they already know where the center of their screen is. The people familiar with FPS will already have the advantage of being able to aim.
Aimbots are cheats because they do the work for you. A client mod that prevents a chaingun from messing with your aim when you are not using a battlesuit is cheating because it is impossible to reasonably counter the effect using just your hand (or feet or whatever). A basilisk's gas is somewhat easier to aim with, but using something to prevent wobbling with that would be circumventing a game feature, essentially making the gas useless (aside from the slight poison damage). This would be similar to making a mod that enables you to turn around in place while being held by a basilisk. Those are very clearly cheating and require manual dexterity to counteract (which is not 100% like an aimbot would be).
So basically my feeling is that if something does work for you or is being used in a way that was not intended, that is cheating. Some kind of automation or special configuration magic doesn't constitute cheating unless it accomplishes something in line with cheating (for example, with certain lag settings, you can make yourself practically impossible to hit while making your targets easier to hit -- that's cheating unless you actually have a really crappy connection).