Username:    Password:       Signup |  Forgot Password?
NMSoft logo
AGuard documentation
SpooK, Friday 08 December 2017 - 00:49:47

This documentation is geared towards AGuard v1.6

Welcome to AGuard, the server-side anti-cheat system for Counter-Strike 1.6 !

Even with the limitations working with a very old Half-Life engine, AGuard continues to improve techniques in detecting and blocking cheats.


Wallhack/ESP blocker

A wallhack is a program which makes the walls of a map appear transparent. This allows the player to see his enemy anywhere in the map. Obviously this destroys all gameplay and fair play within a game.

This is where AGuard's wallhack block comes in!

AGuard wallhack blocker tackles this problem at source by stopping the data which details the enemy’s position being sent to a player if there is a wall between the player and his enemy. Because of this method, and the fact that no data is actually sent, there is no possible way ANY wallhack can be used effectively on a AGuard Block_Wallhack enabled server.

Now there has often been some confusion about the wallhack blocker because of the way it works. It doesn't stop the walls becoming transparent. It doesn't stop the player seeing his own team mates (configurable). It doesn't stop a wallhack working on a player while he is spectating. It does, however, stop all alive players seeing all alive enemies and stop soundhacks which take datafrom the sound a player makes.

So why don't we stop all players from seeing any player if there’s a wall between them, regardless of whether it’s team mates or if they are spectating? The simple answer here is resources.

The wallhack blocker takes up a lot of processing power. It's without doubt the most CPU intensive feature of AGuard. To reduce the overheads it requires we only apply the wallhack blocker exactly where it’s needed and that’s between a player and his enemy. The server has to take into account all the players’ positional data and enable the wallhack blocker on a player every time a wall comes between him and his enemy. It also has to disable the blocker just before the player comes around a corner. That requires quite a lot of processing, hence the fact that wallhack blocker works only on alive players.

You'll notice I said the block is disabled just before the player reaches a corner. This is done in this way because if we disabled the wallhack blocker at the exact moment the player came around the corner and either the player or server lagged, the player would appear to just popup out of nowhere as if he was teleported there. The downside to this is that wallhackers can see players who are very close to the corner of a wall. But this isn't a huge downside as it only gives them a spilt second notice of a player, as opposed to knowing their exact position the whole time.

Wallhack blocker may uses a lot of CPU power, but it also reduces overall server ping (because of the dropped player packets).


Aimbot blocking/detection

Either through the use of scripting or prediction, aimbots help the player aim at enemies by moving the player's view to anticipate an enemy's position. They are usually programmed to aim specifically for the head. Instead of detecting aimbots (which is really very hard, especially when it's server-sided) we decided to make sure that this 'feature' cant work as it's supposed to on the client by changing packets sent about the player's position and statistics.


Rapidfire detection

The Rapid/Burst detection monitors the speeds at which a player fires his gun and detects the use of anything which allows a player to fire faster than should be possible. This detection is great for detecting multihacks, rapidfire scripts, burstfire scripts and also mousewheel triggers.


Spinhack detection

The player with spinhack appears to spin rapidly in all directions when moving, reducing the player's overall hit area and confusing the enemy. This detection monitors for those, also known as, spinbots. It has also the ability to ignore the arrow turns to reduce the false positives.


Speedhack detection

Speedhacks give the player increased speed, usually dramatically increased speed making it hard to target, hit, or even see the player. It works by sending false synchronization data to servers.


Cheating-Death emulation

Cheating-Death (C-D) was an anti-cheat system which included both a server and client. In it's last alive days, the so-called CD hacks appeared, emulating cheating-death client and letting the user use cheats. The CD hacks are one of the most common cheats today. While all of the methods and plugins nowadays detect CD hacks by alias scanning or cvar quering the 'cd_version' variable, AGuard detects it via emulating a Cheating-Death server on the HLDS. This produces 100% CD hack detection rate without false positives !


Cvar enforcement

All of the client settings are stored into cvars (client-side). There are cvars that can give the user abilities, normally it's not mean to have. Thats why we introduce the cvar enforcement - enforces clients cvars with a value, that cant be changed!


Client file enforcer

A ported version of soundcheck metamod plugin. With this feature you can enforce consistency for sound/sprite/model/wad files on the client thus removing the possibilities of nosmoke sprites and etc.


Client-file hash detection

With this feature you can determine the existence of a file on the client (for example OpenGL cheats).


Rapid name change detection

Prevents constant name change cheats.


WalkGuard system

WalkGuard basically prevents various kind of map exploiting. AGuard ships with pre-defined zone files containing data of known exploit locations in a number of default maps. Custom zones can be added as well using the advanced in-game zone editor. This way skywalking can be prevented, and the "jump-through-ceiling" bug detected. If a player tries to enter a SkyWalk zone, he will be pushed back. If he tries to use the "jump-through-ceiling" bug, he will be punished according to the server configuration.

Zone mode explanation:

There are 4 types of zone definitions available:

  • None - zone will do nothing, and will turn invisible when the WG menu is closed
  • Block - zone will block players from moving through it
  • Jump-through-ceiling - zone that punishes players using the "Jump-Through-Ceiling" bug against it.
  • Kill - zone will kill players when they enter in it

Notes about WalkGuard:

  • Boxes (the zones) cannot be rotated.
  • Even though you can edit the zones live in-game, we recommend creating a test server for the purpose, as the gameplay will continue even in the zone edit mode.
  • You can place zones inside small ceilings to detect the "jump-through-ceiling" bug.
  • Zones can be displayed in-game, but the HL engine limits the number of beams (which the zones are displayed with) in one view, so too many zones in one area might cause the last-added to turn "invisible".
  • When defining Jump-through-ceiling zone the map must be restarted in order the zone to take effect.
  • Dont forget to save the created zones, otherwise they will be erased on map change/restart!


Chat and nick spam detection

Prevents spamming IPs and sites using the in-game chat/teamchat and by nickname.


In-game crash and bug fixes

Fixes various bugs like 'fullupdate' lag, flashbug, autobuy crash, color chat, localizebug.


Update checker

Checks for new updates and notifies admins with ADMIN_RCON flag when they enter the game.


Global banlist

All players joining a AGuard protected server can be checked for previous cheating offenses against our global banlist. All of the cheaters detected in a server, using AGuard, are logged in our database and are added to our global banlist. All of the bans are checked before add by our moderation team!



AGuard is a metamod plugin, so you need to have MetaMod installed on your server.
For more information on how to install metamod see here:
Note: You are advised to use the newest MetaMod module from AMXX official website

Once MetaMod is installed you can then install AGuard.

To install AGuard you need to unpack the release into your addons folder (cstrike/addons/), the correct path for AGuard should be: cstrike/addons/AGuard/
After you have unpacked the files in the correct place, you then need to edit the metamod/plugin.ini file.If you do not already have a plugins.ini file in the cstrike/addons/metamod/ directory, you need to create one yourself.

In linux, simply type

touch plugins.ini

In Windows, go Start -> Run... Then type in the text box


In the notepad window that comes up, click the File menu and choose Save As... Navigate to the cstrike\addons\metamod\ folder, and in the File Name text box type: "plugins.ini"

WITH the quotation marks. This will save the file as plugins.ini and not plugins.ini.txt

Linux Server

  • Edit the file plugins.ini (mod/addons/metamod/) by using a text editor (e.g. 'ee' or 'vi')
  • Add this line BEFORE any existing plug-ins:

    linux addons/AGuard/dlls/

  • Save and exit the text editor.

Win32 Server

  • Edit the file plugins.ini in (mod\addons\metamod) by using a text editor (e.g. notepad)
  • Add this line BEFORE any existing plug-ins:

    win32 addons\AGuard\dlls\aguard_mm.dll

  • Save and exit the text editor.

Remember: AGuard MUST BE the first loaded plugin in METAMOD to work properly!

  • AGuard DOES NOT support third-party HLDS builds ! Only official Valve builds are supported for now (downloaded via HLDSUpdateTool or SteamCMD) !
  • Manipulating maxplayers count above 32 can lead to stability issues and server crashes !


After installation

After installing AGuard you then need to have a look at the config files and set them up the way you want. If you have never used AGuard before then we recommend you leave the settings alone for a few days and use the default settings. Then once you have a better idea on how things work you can go over the AGuard config files and make any changes you need.

Try to read over ALL config files, most have comments describing what they do and how they need setting.

If you want to use the global banlisting module you will need to have a license file placed in the AGuard root directory (cstrike/addons/AGuard). You can get a license from our online license form. The license is FREE, just needs a registration of the server !

Since version 1.0b7 AGuard support custom 'addons' directory in case its not located inside [hlds/mod/addons]. If you want to use a custom directory - edit aguard-dir.cfg file with the new "addons" directory (without the slash at the end) and place it in [hlds/mod]

Example aguard-dir.cfg (ex: in case your AGuard is located in "/var/home/addons/AGuard")


AMXX plugin

You may probably see in AGuard configuration file that the Updater needs an AMXX plugin (in order to know which player to inform about a newly released version) as well as the "Ignore_Admins" setting switched on (in order to add the AMXX admins to the exclusion list). To install AGuard AMXX plugin simply copy the file 'aguard-plugin.amxx' from AGuard installation directory to 'amxmodx/plugins' and add the following line in your AMXX 'plugins.ini' file


To check if the plugin is running type 'amxx plugins' in your server console and you have to see an output like this:

[ 7] AGuard plugin 1.1 Nikolay Milkov aguard-plugin.amxx running


Critical errors : Troubleshooting

Critical error: 0x00000001
Aimbot blocking module failed to find/hook the needed functions
Consequences: Block aimbot module will automatically turn itself off
Cause: Either other module is hooking this function already or you use unsupported engine version
Resolve: Update to one of the supported HLDS versions and/or remove other modules/third party plugins that may hook this function as well

Critical error: 0x00000002
Rapidfire checking module failed to initialize player hooks
Consequences: Rapidfire checking module will not work as expected
Cause: You are using an unsupported engine version
Resolve: Update to one of the supported HLDS versions

Critical error: 0x00000003
Spam detection module failed to initialize RegEx
Consequences: Chat and nick spam detection will not work
Cause: The cause of the error will be written in the brackets
Resolve: --

Critical error: 0x00000004
AGuard failed to initialize player hooks for its core functionality
Consequences: AGuard will fail to continue working or can even crash
Cause: You are using an unsupported engine version
Resolve: Update to one of the supported HLDS versions

Critical error: 0x00000005
ESP blocker failed to create hooks needed for its functionality
Consequences: ESP (Soundhack) blocker will automatically turn itself off
Cause: Other module/third party plugin is already hooking one of the needed functions or you use unsupported engine version
Resolve: Update to one of the supported HLDS versions and/or remove other modules/third party plugins that may hook this function as well.

Critical error: 0x00000006
Client-side file checker failed to find/hook the needed functions
Consequences: Client-side file checker will automatically turn itself off
#1, #3 - other module/third party plugin is already hooking one of the needed functions or you use unsupported engine version
#2 - same as #1/#3 or caused due to incompatibility with AMXX 1.8.3 versions and above (also trying to hook SV_DropClient())
Resolve: Update to one of the supported HLDS versions and/or remove other modules/third party plugins that may hook this function as well. If the second parameter is "#2" check and set AGuard as first plugin in metamod's "plugins.ini" configuration file

Critical error: 0x00000007
Aimbot checker failed to initialize its timer functionality
Consequences: Aimbot checking module will automatically turn itself off
Cause: Insufficient OS virtual memory available
Resolve: Try restarting OS

Critical error: 0x00000008
AGuard failed to initialize winsock environment (only applied to WINDOWS servers)
Consequences: Global banlisting and update modules will not work
Cause: Unknown (this error is OS related)
Resolve: --

Critical error: 0x00000009
AGuard core failed to initialize its timer functionality
Consequences: AGuard startup will halt
Cause: Insufficient OS virtual memory available
Resolve: Try restarting OS

Critical error: 0x0000000A
Global banlisting module failed to update cache file
Consequences: Global banlisting will be turned off
Cause: Mostly the problem is caused by our banlist servers
Resolve: Contact our staff



If you have any questions about AGuard or need help with anything relating to it, feel free to visit our support forums and post any questions you have and We will do our best to help.

You can find us here: AGuard official forums



OT - for the wallhack blocker core
mogel - for the walkguard core ideas
DarkSnow - for some of the flashbug zone coordinates
ZeaL - for the XClient
UA - for the HLGuard, walkguard menu idea, jump-through-ceiling bug spots
Alliedmods - for various bugs and questions asked in their forums
ivchonka - for initial detection testing
RauliTop - for Spanish translation
addons_zz - for Brazilian Portuguese translation
Usman Ghazanfar (VampireD/UTAKER) - for active testing (on Windows platform) and feedback
Syturio - for Brazilian Portuguese translation corrections, active feedback and bug reporting, AGuard logo
tranceaddicted - for block wallhack module debug testing
tompietje - for Dutch translation
m.avramov14 - for Deutsch translation
Kibillcat - for discovering the 'ArmorType' crash, active testing (on UNIX platform) and active crash debug testing
Hollow - active 'ArmorType' crash debug testing and feedback
$n1p3r - for private cheats source codes
norbee.16 - for discovering Podbots crash, client files checking algorithm fault and hungarian translation
iNdio - for Romanian and Italian translations
SkazzY - for Serbian translation
InzGIBA - for Russian translation
kadetos - for Russian translation
xedga - for discovering check files bug and walk jump sound bug
darkness - for Polish translation
Current versions
AGuard - 1.6
Donate via PayPal
Please consider donating to support our future work on the projects
Welcome Guest


Remember me

[ ]
[ ]
[ ]
Members: 0

Guests: 4

191.249.x.x forum
198.55.x.x comment
18.207.x.x page
46.229.x.x forum

Last Seen

Easeda Mon 02:45
BrianMox Mon 00:55
cristinalk16 Mon 00:01
MartinGes Sun 22:12
insulse Sun 22:07

Newest Members

JesusPubof Fri 13:04
Nerzwger Fri 00:19
Berryrash Thu 23:25
Lindsyzer Thu 14:29
AuroraOrdew Thu 00:42
Latest Forum Posts
Posted by BrianMox
college paper writing service Academic writing ma[more ...]
15 Sep : 09:12

Posted by BrianMox
custom writing service Academic writing made easy[more ...]
15 Sep : 03:35

Posted by BrianMox
assignment help Academic writing made easy!Get yo[more ...]
14 Sep : 06:48

Posted by BrianMox
cheap essay writing service Academic writing made[more ...]
14 Sep : 01:59

Posted by BrianMox
essay writing help Academic writing made easy!Get[more ...]
13 Sep : 16:21

Posted by BrianMox
essay writing services Academic writing made easy[more ...]
13 Sep : 11:31

Posted by BrianMox
paper writing services Academic writing made easy[more ...]
13 Sep : 06:20

Posted by BrianMox
Who can write my essay cheap? Academic writing mad[more ...]
12 Sep : 18:20

Posted by Fannieadder
XEvil 4.0 + RCModule: NEW innovative software comp[more ...]
20 Aug : 04:01

Posted by lisCrync
More info i need to :). lisgero. I would to solve [more ...]
12 Jan : 12:58

NMSoft 2015-2017