Valve Anti-CheaTt, abbreviated to VAC is a proprietary anti-cheat solution developed and maintained by Valve Corporation as a component of the Steam platform. Although predating Steam, VAC has been fully adapted to its network.
VAC was first released with Counter-Strike 1.4 in 2002. The initial version, VAC1, saw success for a period, but in March or April 2004 updates ran dry as the Valve engineers maintaining it moved on to the production of its successor, VAC2. VAC1 swiftly became virtually useless during this period of development.
VAC2 has been implemented in GoldSrc, Source, and Unreal Engine 2 titles. It is included in the Steam SDK for licencees.
Advantages
Total integration through Steam, including using the Steam framework for any update tasks
Delayed bans deny cheat producers accurate and timely information
As of VAC2, client-side updates are not always required to detect new cheats, again denying cheat producers information.
Disadvantages
Delayed bans means that cheaters are free to play (and therefore disrupt play) until the ban takes effect some undisclosed (and possibly variable) time later.
This may entice others to cheat, taking an "if they can do it so can I" attitude.
The burden of banning individual cheaters (who have been detected by VAC but not yet banned) is placed on server administrators.
This also leads to the skewing of statistics and ranking systems, even if the cheaters data are removed when they are banned.
Cheats need to be individually found and added to the VAC database.
VAC cannot detect 'material wallhacks', where texture transparency and color is manipulated by overwriting content files. In the Source engine the option to create "pure" servers that disallow custom materials was created to alleviate this.
Installing VAC on your server
Installing VAC on your server is a very easy 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 speakeasy.net when you start the hlds session.
OR
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.