Cheats performed on BZFlag are usually made by modifying your client. A great deal of power is invested in the client program, and therefore the client may cheat in every way from creating invincible tanks, to invisibility, to super killing. If you have seen any cheats, have performed them yourself, or have noticed a hole in the source, please add it here. Preventions for many of these cheats are being developed for inclusion in v3.0.
Do not use a modified client on a public server. If you are found to be using a cheat client, you will likely be banned from multiple servers and could quickly find yourself with nowhere to play. Cheating in BZflag is not the same as using a cheat code in a PlayStation game. See also the Notes on "CHEAT" servers at the bottom of the README, which forbid the hosting of a "cheat" server. A copy of the README is included with the source code and is displayed when you install a pre-compiled copy of the game.
The following cheats are considered "blatant" cheats because they are usually apparent, even to new players.
NOTE: Some of these cheats may be prevented in certain versions of BZFlag.
A cheater may:
- fly without Wings.
- steal from or give flags to other players.
- give flags to observers.
- rapidly pickup and drop every flag on the map, as if a flag reset were performed.
- spawn with a flag (usually Guided Missile or Genocide, but can be anything).
- not respond to bad flags.
- grab a new flag when passing through a teleporter (when no flag exists).
- move, pickup flags, or shoot other tanks while paused.
- move through buildings without Oscillation Overthruster ("wall walking").
- move backwards through buildings with the Oscillation Overthruster.
- drive outside of the playing area.
- "drag 'n drop", moving from any location to any other at any speed.
- jump back briefly to avoid a bullet then return to where you were ("network jitter").
- double jump.
- instantaneous travel to a new location.
- jump and land at a pre-determined set of coordinates (i.e. the center of a team pad).
- shoot teammates without blowing them up.
- shoot bullets that travel at a different rate (usually faster).
- shoot bullets that travel at impossible linear paths (i.e. downwards, sideways).
- fire multiple shots simultaneously, often in spreads & separate impossible paths.
- shoot bullets which cannot be seen on radar or in the HUD.
- produce abnormally long laser blasts (in terms of length and time).
- be zoned, but yet still shoot tanks that are not zoned.
- cause the bullets of other tanks to explode prematurely.
- lock onto stealthed players while using Guided Missile.
- produce abnormally large, small, or frequent shockwave blasts.
- produce shockwaves at several locations simultaneously.
- respond differently to gravity.
- move at a different rate (usually faster).
- instantly self-destruct.
- be completely invincible ("god mode").
- be partially invincible, repelling everything but some particular flags (often SW or SR are chosen).
- instantly kill everyone else.
- be joined as an observer, but playing with a visible, invincible tank
Subtle cheats are modifications to the BZFlag client that give the user an unfair advantage. Unlike the obvious "blatant" cheats, these modifications are often difficult to detect by other players. These modifications often involve small changes to existing source code, and will make their users appear luckier, more intuitive, or more accurate shooters, giving them a slight edge.
Some of these cheats may be detected by examining long-term player statistics. For example, if a specific player picks up a certain superflag 80% of the time over an extended period, on a map where flag positions are completely randomized, then there is strong reason to suspect the player of using a flag identification cheat.
The following is a list of known subtle cheats:
- Flags are given unique colors (or some other identifying feature - colors are simplest). This can be applied to some, or all flags. For example, bad flags are brown, Shock Wave is cyan, Stealth is orange, Guided Missile is pink, etc. This allows the user to avoid bad flags, spot good flags from across the map, and tell what flags other players are carrying or picking up much more easily.
- The player can see bullet trajectories at an extended length, making shots easier to avoid, or aiding with targeting. The latter function is used mostly on ricochet maps.
- The player can see stealthed tanks on the radar. Often times the cheater's client will flash the stealthed tank on the cheater's radar. This allows a cheater to know that he shouldn't be able to know that tanks position and allow him to "play dumb".
- The player can see cloaked tanks on the field. Often times the cheater's client will show cloaked tanks as phased tanks (as if holding the PZ flag).
- Bad flags whose effects are invisible to other players are disabled from affecting the tank.
- A teammate is impervious to Genocide.
- Various cheats that affect the manner in which bullets are fired are possible. The simplest is to increase bullet velocity. Other cheats include launching multiple bullets in different directions and giving bullets a vertical slope. Many of these cheats are less subtle, and discussed above.
- Normally, if your aim is a little bit off, you can still kill a tank. When this cheat is in effect, other players have to aim more accurately to kill the user.
- The player's console provides more information than is normal. It's debatable whether this should be considered a cheat or not, but players with better consoles will have a slight advantage.
- When the user is killed, his guided missiles remain locked on their targets. This is harder to detect than a Guided Missile being able to lock onto stealthed players, which is discussed above.
- Any player in the game can cause anyone else's bullets to explode prematurely (if their client is hacked). Here are a few possible effects:
- A victim (or victims) will not be able to fire his weapon (bullets will explode shortly after leaving the muzzle). Others can't tell who is causing this.
- Bullets will explode before hitting a cheater, as if the cheater has a forcefield.
- Bullets will explode before hitting a "victim" who is not the cheater, creating the impression that the victim has a forcefield and is cheating. Or the cheater could create the impression that a whole group of tanks are cheating.
- Bullets will not be allowed to enter a "bullet-free zone" (such as a building or platform).
- The cheater's tank is modified to be smaller and harder to hit, but only when carrying the Cloaking flag. Making a tank this hard to hit would be a blatant cheat if the tank wasn't cloaked.
- A variation of the FlagColoring cheat. The client holds the identity of each flag in memory whenever it is picked up by any player and displays the flag type on the cheater's HUD.
Other Malicious Activities
The following is a list of malicious activities that cheaters might also engage in:
- stall or restart servers.
- promote themselves to server administrator and give large bans and kicks.
- change variables without polling successfully or being an admin.
- attempt to guess or "crack" the server or map's password.