See though if they wanted to add the feature of checking texture material files for being modified they would have, but they didnt. Why? Most likely cause they didn't think anyone would think of that or abuse it, but they made a mistake and theyll probably learn from it.
That's why sv_pure was added.
Quote:
http://en.wikipedia.org/wiki/Valve_Anti-Cheat
VAC cannot detect 'content hacks', where for example texture transparency and color are manipulated, since they do not involve modification of any program code.
In the Source engine the option to create "pure" servers (sv_pure) that prevent custom content from overwriting the game's defaults was created to alleviate this.
That's why they didn't put the material checking in VAC, they wanted to give the server owners a choice as to whether they wants all custom materials un-allowed, some un-allowed, or all allowed.
And to add on to a previous post:
Quote:
In most cases, even clients who have modified content sitting on their disk are still allowed to play on a pure server. The Source Engine will ensure that the content from Steam (instead of the content from their disk) is used when a client plays on a pure server. This way, clients don't have to wade through their game directories to clean out old content before they play on a pure server.
Instead, they just join servers and the correct allowed content is automatically used.
I think the "in most cases" means if sv_consistency does not block those files.
Content from Steam = Content from GCFs.
For anyone wanting to read up more on sv_pure:
Valve Wiki - Pure Servers
Edit: For Rogue's Edit:
The only way to fool proof textures from being hacked is if they made them custom per map with unique names like : 001af1a-wall or t1s1wall3 this way its pak'd into the map, no one can access it and find the name, well unless they were really good at hacking BSP files.
For those people who download maps from FPSBanana rather than through Steam for download speed purposes, you'll occasionally find an error that goes somewhere along the lines of "map de_mapname does not match server's". I think this is probably a checksum variation or a size difference.
So.. - Why wouldn't wallhacking with map file editing be possible?
Checksum - A checksum algorithm is used to find the checksum of a file (used for verifying file legitimacy - some programs will include a checksum so you can make sure you download the original, and not a modified version which could have harmful content added). If you have 2 files of the exact same content, the checksum will be the same. Let's say you edited the materials in 1 map file: the checksum would be different than the original. Why? Think of it like this. Let's say you encrypt a word by moving each letter up one.
Solid Walls - will turn into - Tpmje Xbmmt
Clear Walls - will turn into - Dmfbs Xbmmt
So if someone changed the materials in a map, the data inside will differ from the original, causing a mismatching checksum.
Size differences - It's unlikely this would work because you would need an exact same file size as the original for it to match. This means possibly adding or removing filler characters to match a file size, which is probably extremely tedious work and is very unlikely, although not impossible.