Now that the ET engine is open-source, I’m a bit (very) concerned about cheaters exploiting this. As a simple example, what will stop them from faking the pure check and play with unpure packets? They could just replace the pure-check code, that I assume looks something like this:
if (sv_pure == 1)
- Check that the client files' names and hash codes match those on the server.
- If they match, tell the server that the client files are pure.
- If they don't, disconnect.
with:
if (sv_pure == 1)
- Check that the client files' names and hash codes match those on the server.
- If they match, tell the server that the client files are pure.
- If they don't, tell the server that the files are pure anyway.
Once that is done, they can, for example, make all the textures semi-transparent to create a simple and hard-to-detect wallhack. Or manipulate the code for interacting with pb, or mess with the stuff in the configstrings, or start changing the mod-code to disable cvar checking and other anticheats, etc… People who know more about the ET code could probably come up with even worse things. What exactly is stopping them from doing all this?