Saturday, December 12, 2009

Counter Strike Anti-Cheat

Cheating Death
Anti-cheats are programs designed to detect cheats and deal with cheaters. Anti-cheats come in two main forms, anti-cheat clients and server-side only anti-cheats. Anti-cheat clients usually have a server-side component which they authenticate with to enforce purity of the client. One downside to anti-cheat clients is that they have to be kept up to date by the player, which is tedious and can lead to players avoiding the servers which use the anti-cheat rather than dealing with the inconvenience of downloading it.

A server-side only anti-cheat does not require any additional programs or actions from the players to play on the server, as only the server

admin has to take care of the anti-cheat mechanism. However, server-side only anti-cheats are usually less effective (producing more false negatives than client side anti-cheats).

We are presenting 3 of the most known anticheat programs:
- Cheating Death
- VAC: Valve's Anti Cheat
- HLGuard

Cheating Death Anti-Cheat

Cheating-Death (C-D) is an anti-cheat system which includes both a server and client. Unlike HLGuard, which is a server-side only anti-cheat, C-D offers more protection by blocking the cheats themselves before the player joins the server.

Cheating-Death (C-D) is an anti-cheat system which includes both a server and client. Unlike HLGuard, which is a server-side only anti-cheat, C-D offers more protection by blocking the cheats themselves before the player joins the server.

Unfortunately, the C-D anti-cheat system is incompatible with VAC secured MODs. As of v2.2.0, C-D can work with VAC supported MODs as long as VAC is disabled. Otherwise, C-D will shutdown if VAC is detected.

The main difference between Cheating-Death (C-D) and the other anti-cheating packages available is that it does not have cheat specific detection methods. Instead, it tries to make cheats less effective, and to prevent cheats from getting information. In most cases this leads to cheats simply not working.

How Cheating-Death Works:
Cheating-Death works by wedging itself in between the engine
and the cheat. This is what makes C-D different than most anti-cheat software. It does not run as a separate program
outside of the game, but is actually loaded into the game. Here is what C-D does:

If C-D detects that you cannot see a player, it will move that player's location behind you. This does several things. First, it makes wallhacks less effective. Even if you have transparent walls, you cannot see enemies behind them, until at least part of the enemy is visible on the screen.
Second, it makes radars and ESP boxes less effective. ESP boxes are boxes drawn on top
of players, these boxes will show up through walls. If a player is crouching on the other side of a wall, a box
will be drawn on the wall right where the player is crouching. Even though you cannot see the player, the ESP box gives you their exact position.

Furthermore, C-D gives the MOD inaccurate information about players' positions. This will ruin ESP, aimbot and other features common in cheats. It will not affect collision detection, because that is done by the engine, which still has accurate information.

Finally, C-D monitors places commonly used by cheats to intercept data from the engine. If Cheating-Death notices that one of these locations has been modified, it disconnects the player. This deprives the cheats of the information they need in order to function, and forces them to change the way they get information which is quite hard, instead of just making themselves look different which is relatively easy.

Other Benefits of Cheating-Death:

Here are some other benefits of CD:
  • No network problems. C-D does not open any network connections. Instead it uses Half-Life's built-in messaging system for its client/server communications. You do not have to worry about reconfiguring your firewall or router to use C-D. If Half-Life works on your network, then C-D works on it too.

  • No lag. C-D does not use up your bandwidth by sending a lot of information on the network. C-D's challenge packet is very small (22 bytes) and is only sent every few minutes.

  • No list of cheats to update. Since C-D only aims to block certain cheating methods instead of specific cheats, it does not have a list of known cheats that needs to be frequently updated.

  • No unfair bans. When you get disconnected from a server with a violation, the reason for being disconnected is between you and your conscience. The server admin does not know why you disconnected and therefore cannot ban you. We like to think that everyone is welcome to come back and play fair with cheats turned off.

  • No constant downloading. You only have to download C-D once, the auto-update feature keeps you up to date.

  • Frequent updates. If we become aware of cheats that get past C-D, we will release a new version. The average time between cheat release and C-D release is currently 72 hours, but may vary depending on the cheat.

As you now know, Cheating-Death is very different that most other anti-cheating programs. Its main focus has been to make the game more enjoyable, without a lot of hassle. We hope we have been successful.

HLGuard Anticheat

HLGuard is a server-side anti-cheat system for Half-Life and it's many MODs. Originally developed under the name CSGuard by OLO before moving to United Admins who adapted it for use with all HL mods, the project has now been given a new home here at TZP where we plan to further develop it's features and introduce new detection methods.

Main features include:
- Aimbot detection
- Aimbot detection
- Aimbot detection
- Cvar enforcement
- Name banning
- Built-in Steambans client
- SkyWalk Guard System

The list goes on. It also provides a customisable output for logs, so you can output in any format you want, this can be useful for displaying caught cheaters on your website. Upgrading users from before 1.7 please note: Due to the changes in the internal structure, it is strongly recommended that you either delete or rename your HLGuard folder before installing HLGuard 1.7 or newer!

HLGuard Server Commands
Server Commands:

hlguard - displays hlguard settings [set hlguard settings]
mode: 1, 2, 3, 4, 5 or 6
bitmask: bitmask of the modes to be enabled. 0 to disable HLGuard.

hlg_action ":" ""
adds an action to link to checked aliases
flag: Identifier for this action
found/not found: whether the alias checked by hlg_check's linked with this action are detected or not detected
command: command to execute if conditions are true

hlg_aimbot ""
adds an action for aimbot detections

hlg_check ":" ""
adds an alias to scan for
alias: alias to scan for
description: name of cheat
flags: flags to link this check with

hlg_clexec <#|> ""
executes a command on a number of clients
userid: the unique userid of a player
uniqueid: Steam ID

resets hlguard [ignores any hlg_loadmode commands while reloading and loads mode net/lan/league]

hlg_log ""
logs a string to both the current server log file and the HLG log file.
hlg string: text string with % variable support

hlg_menucvar "" "" ""
adds a menu spot to hlg_menu under the server cvar part
cvar: a cvar, hlg_delay for example.
step: step increase within 0 and

hlg_menucmd "" ""
adds a menu spot to hlg_menu under the server commands part

hlg_menuplayer "" ""
adds a menu spot to hlg_menu under the player commands part

hlg_agreement ""
adds a line to the agreement or shows the current agreement

hlg_write ""
writes a message to the current hlg_writefile

hlg_conncommand ""
adds a command to the list of commands to be executed on clients when connecting

hlg_exec ""
executes a normal config file or a z config file with % variable support.

lists all files executed with hlg_exec

hlg_blockcommand ""
blocks a client command when used, or shows current blocked commands (Note: Not all commands can be blocked)

loads net/lan/league mode, should only be used once

performs a manual config update

hlg_swzone mod
hlg_swzone map
hlg_swzone point1
hlg_swzone point2
hlg_swzone point3
hlg_swzone point4
hlg_swzone point5
hlg_swzone point6
hlg_swzone point7
hlg_swzone point8
hlg_swzone method
hlg_swzone add
mod: short name of mod (cstrike, tfc, ...)
map: map without file type ending (de_dust, rock2, ...)
x/y/z: origin in game world (246, -284, ...)
method: 0 = none, 1 = block, 2 = block + force no beams
sets a setting for the next box or creates it

Config Variables:

(Note: These variables are case sensitive! (%s is not the same as %S)

%n - Returns the players name
%y - Returns the description of the detected cheat / the total aimwarns since player connect
%w - Returns a players uniqueid (wonid/steamid)
%i - Returns a players IP address
%v - Returns if an alias was found or not found
%d - Returns the date (mm/dd/yyyy)
%h - Returns the time (hh:mm:ss)
%g - Returns the HLGuard version
%k - Returns the value of hlg_aimbotrepeat
%c - Returns the aimwarn number (within hlg_aimbottimeout)
%a - Returns the value of hlg_aimbotlevel
%q - Returns the value of hlg_aimbottimeout
%u - Returns the players userid
%m - Returns the name of the played map
%t - Returns the name of the players team
%f - Returns the value of hlg_cfgversion
%s - Returns the name of the server
%o - Returns a list of players
%M - Returns the name of the mod folder
%L - Returns the current log path
%C - Returns the number of alias scans completed on player
%S - Slot number of player
%N - Name player is changing into, needed for nameban actions to display new name instead of old

Valve Anti-Cheat ( VAC )

Valve Anti-Cheat ( VAC )
The Valve Anti-Cheat Module:
VAC is an anti-cheat implementation introduced by valvesoftware to aid server admins in clamping down on those people in the community who have no respect for the game, nor for the people who actually play the game without the need of cheats.

VAC is a server-based implementation which means that it is installed on the half-life dedicated server, and will check clients are cheat free compliant -- if found not to be, it will issue a incremental ban from all VAC 'secure' servers. The ban that will be issued to the cheater will depend on the severity of the cheat, and or the number of offenses. We won't be listing exactly what VAC checks for, but we will detail how to activate the module on your server.

Installing VAC on your server:
Installing VAC on your server is a 2 minute process, and can be achieved in a number of ways.

1. add -secure to your hlds target line which will initiate the module download automatically from when you start the hlds session.
2. navigate to your cstrike/liblist.gam file, and open it with an editor such as notepad. You'll see a line in there which will say "secure 0", change the 0 to a 1 to activate it, save the file, and start your server up. The server will then download the latest version of the modules to your server.

About VAC Updates:
Valve periodically updates the VAC modules, which in turn, your server will download and update them automatically. You can keep uptodate with when new modules are released via Counter-Servers main page, or by subscribing to the Valve mailing lists.

No comments:

Post a Comment