Hi all,
I don't want to be that guy who comes onto a forum to whinge about getting pwned in cs. I would like to discuss what has really taken me by surprise and alarm.
Basically, after quite a hiatus in online gaming I decided to buy CS:GO. The caveat is that I am using the steam controller. I've clocked several fps's with it and I have been getting better though still trouble with the harder bots in ut2k4. Basically, I'm not expecting to win. I've clocked 1000's of hours in my past - basically every fps worth playing ever since 1996. I know what a fair game feels like.
1st game of CS:GO. Getting shot through smoke (actually every game i was getting shot through smoke), watching other players aiming through walls as they approaching their target. Aiming snapping from 1 target to the next while spamming M60.
So I did some research on forums - some players laying down some rough stats, tagging everyone them play with and then seeing how many were banned 6 months later.
It would appear that at least 3% of regularly active pc gamers are cheating in some detectable form. That is the lowest figure from these stats. Some guy who did this test has 11% banned 3 months later (certain times of year attract more cheaters and bans usually get sent out in batches before a big release/patch/holiday season). 1 guy said that of the 30 people he reported in the last month all of them were banned. In a 16 players match you will encounter a cheater every other game at least. In bf4 there will be a cheater in every game. VAC is banning 10,000 cheaters per month. Note that we are only counting cheaters that are caught. There are ways to limit your exposure to cheaters by joining specific local servers or servers with active admins / clan members. CS:GO is £10, valve has to take CS:GO out of the sale weekends because they were selling far more than expected and the accounts were not becoming active until after a ban wave. Some players have dozens of accounts and they use a different account on a rotating basis so they get less reports and land at the bottom of the video pile (of which there is a never ending amount) and don't rank up too quickly.
In CS:GO if a cheater is banned and you played with him on the winning team you lose points, if you played on the opposing team you get the lost points back. The round is declared null and void. When the ban waves are sent out people are gaining/losing points in noticeable quantities automatically.
A glossary of words is now common that I have never encountered before. Prefiring and Spinbotting to name a couple.
Overwatch - the latest social anti cheating tool where you can report recorded video for banning. This has come about because anti-cheat software isn't effective and cheating is a big problem.
TL:DR Cheating is quite widespread, its not just noobs moaning.
My big questions is, what can we do? It seams like an unwinnable situation.
I think I could write a packet sniffer / man in the middle proxy and get a working wallhack overlay with about 10-20 hrs of dev, I could also route mouse commands through the OS to make an aim assist. This would be completely undetectable by any anti cheat. As long as I didn't obviously stare through walls I would never get banned. Anticheat isn't scanning your machine for other programs, even if it was it wouldnt have a clue what they were doing. You can run screen capture with framerate overlay and it isn't flagged as a cheat. You can really only detect sloppy DLL hooks, binary modification and obvious aimbotting.
Herein lies the problem. Reading plain characters from a port is completely insecure. I would propose that a custom network card is developed that has hardware decryption (they can make the key untracable right??). If a packet is flagged as such the first X bytes (encrypted) get written to memory and then the game directly talks to the NIC, each read is hardware decrypted. The remaining bytes pass through as normal to the port. I'm not big up on security and drivers, maybe someone here could tell if this is possible. I doubt it would ever happen and if it did it would take a long time for hardware vendors to adopt it, it would need to be a special deal between valve and a manufacturer, and then incorporated into match-making - some servers require the device. To cheat with this you would need to know the key and modify the driver which I think could be detected though I'm not sure, its probably possible to spoof anything when you have full control.
I think when games are patched to stop cheaters they are really just breaking the cheats. If the order of the packet data changes or memory is in a different order then the cheats will break until the cheat developer corrects it. I think this is interpreted by the gaming community as improved anti cheat protection and more bans but I don't think that has been true for a long time.
TL;DR. How the hell do we stop them?