# ezQuake Manual: Security Features

1. Client authentication
2. Movement scripting
3. Rulesets
   1. Smackdown
   2. Moscow TeamFortress League

## Client authentication

To check that clients of other players on the server are not modified you use `f_version` and validate_clients command.

First command invokes auto-reply of other clients on the server. Their client and security module should return control sum which will then be validated using your client and your security module. Therefore if your client and security module is valid, it should validate other non-modified clients successfully.
Security module is closed-source library therefore the principles of generating the checksum are secret. It's purpose is to increase the probability that the opponent is not using any cheats but the probability never will be 100% when playing games over internet.

Note that this client-to-client validation is standardized only between the same QuakeWorld clients. So if your opponent uses different QuakeWorld client, you are not able to authenticate him using this client.

## Movement scripting

Variable allow_scripts controls three levels of movement scripting. Using command-line option `-norjscripts` you set this variable to 0 (lowest level of allowed movement scripting) and make it unchangeable. The reply for f_ruleset trigger will also contain note about this restriction turned on in your client.

## Model's checking

Following models will are checked against being modified. To check if your opponent is using modified models, type `f_modified` into the chat.

- progs/armor.mdl
- progs/backpack.mdl
- progs/bolt2.mdl
- progs/end1.mdl
- progs/end2.mdl
- progs/end3.mdl
- progs/end4.mdl
- progs/eyes.mdl
- progs/g_light.mdl
- progs/g_nail.mdl
- progs/g_nail2.mdl
- progs/g_rock.mdl
- progs/g_rock2.mdl
- progs/g_shot.mdl
- progs/gib1.mdl
- progs/gib2.mdl
- progs/gib3.mdl
- progs/grenade.mdl
- progs/invisibl.mdl
- progs/invulner.mdl
- progs/missile.mdl
- progs/quaddama.mdl
- progs/s_spike.mdl
- progs/spike.mdl
- progs/suit.mdl
- progs/player.mdl
- progs/player.mdl
- progs/tf_flag.mdl
- progs/turrbase.mdl
- progs/turrgun.mdl
- progs/disp.mdl
- progs/tf_stan.mdl
- progs/hgren2.mdl
- progs/grenade2.mdl
- progs/detpack.mdl
- progs/s_bubble.spr
- progs/s_explod.spr
- maps/b_bh100.bsp
- sound/buttons/airbut1.wav
- sound/items/armor1.wav
- sound/items/damage.wav
- sound/items/damage2.wav
- sound/items/damage3.wav
- sound/items/health1.wav
- sound/items/inv1.wav
- sound/items/inv2.wav
- sound/items/inv3.wav
- sound/items/itembk2.wav
- sound/player/land.wav
- sound/player/land2.wav
- sound/misc/outwater.wav
- sound/weapons/pkup.wav
- sound/player/plyrjmp8.wav
- sound/items/protect.wav
- sound/items/protect2.wav
- sound/items/protect3.wav
- sound/misc/water1.wav
- sound/misc/water2.wav
- gfx/colormap.lmp
- gfx/palette.lmp

## Rulesets

Rulesets disallow some features of this client during the game. Rulesets are maintained by the client developers and league admins. You can check which ruleset your opponents use using command `f_ruleset`.

### Smackdown

This ruleset disallows usage of macros in combination of most available commands. Exceptions: say, say_team, if, echo, tp_point, tp_pickup, tp_took.

Limited particles effects - gl_particles_trail_*, gl_particles_*, * = gunshot, sparks, spikes values limited.

Following features are disabled or limited in smackdown ruleset:

- Tool Common Language
- HUD Strings
- 3rd person camera, Death camera, particle sparks, water ripple effect, Roll effect reduction, particle lightning.
- mp3_time HUD element
- noshadows, timerefresh
- Independent physics Off: cl_maxfps limited to 77; Indpendent physics On: cl_c2spps locked to 0
- packet command
- Custom textures for eyes and backpack models
- r_shiftbeam

### MTFL

Some enemies-counting macros are disabled.

Disabled features:

- Single-colored walls
- 3rd person camera
- water ripple effect
- Detpack lights customization
- Fullbright skins
- Packets limiting
- gl_picmip limited to 3

Last update: 01.03.2008 05:58 PST, made by JohnNy_cz | ezQDocs