Detecting Cheating

PooptronixPooptronix Join Date: 2012-08-02 Member: 154590Members
<div class="IPBDescription">Aside from cheat protection, how can we detect cheating?</div>I think most importantly since there are so many good players from NS1, we need to be able to detect basic (and subtle) cheats.
This being the 'most mod-albe game', it's also the most hackable. Currently aimbots are hard to detect since we don't have a first person spec-mode built in. When will this be released?

I don't like accusing people of cheating, because I know there is a slim chance they might be that good (if it isn't obvious they're cheating).

Aside from cheat detection, it may be worth allowing people to see differences in others' net/frame performance. If someone has an insane rig that magically has really awesome frames and may simply be next door to the server their on, we can't be mad at them, just envious. :)

With as much complaints about hitboxes and performance being poor, it really bothers me to see someone with an insane kill/death ratio... And when things like an entire room of marines go down to 3 skulks and the person in question is the last skulk alive, it makes me wonder. As well as following a skulk around a map when both of you have leap and celerity and I can't keep up with them... Again, is it my computer/game performance versus theirs? Or is there something else going on... I WANT TO KNOW.


Another thread:
<a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=121156" target="_blank">http://www.unknownworlds.com/ns2/forums/in...howtopic=121156</a>

Comments

  • TechercizerTechercizer 7th Player Join Date: 2011-06-11 Member: 103832Members
    edited September 2012
    Just run a Lua consistency check against the client's code when he joins. You can allow certain lines or files to be whitelisted or otherwise not checked for casual play (files like the opacity of alien vision, other oft-modded areas) on a per-server basis. It won't stop someone from running external programs to influence their game, but it will stop them from doing it natively.
  • NeoRussiaNeoRussia Join Date: 2012-08-04 Member: 154743Members
    First person spectate and someone who actually knows how to play as the spectator is the best anti-cheat. In short, good and dedicated server admins.
  • DghelneshiDghelneshi Aims to surpass Fana in post edits. Join Date: 2011-11-01 Member: 130634Members, Squad Five Blue, Reinforced - Shadow
    edited September 2012
    First-person spectating will unfortunately not be available at release yet. UWE decided to wait for engine changes that facilitate this instead of doing a relatively quick pass for 1.0 which will then have to be rewritten afterwards.

    I tried doing a client side only hack for first person spectating, but unfortunately wasn't able to fix it after it broke with the latest patch. Once the consistency checks are in, it will be completely useless anyway.

    I would personally argue that detecting cheats is impossible unless they are extremely obvious and <b>meant</b> to attract attention (e.g. the good old CS 1.6 speedhacks with constant 360° turns more than 1 time per second) or just poorly written. The only thing that can separate cheaters from good players is that the cheaters are actually not good at the game (e.g. strategy, positioning, communication, ...), however this is hard to evaluate. I have seen what the human mind and body can do and it's simply not distinguishable from properly designed cheats.

    Edit:
    @Techercizer: I don't see how allowing <b>any </b>lua modifications could be done without also allowing blatant cheating. There is pretty much no place in the code base that doesn't have access to information the client can use to cheat.
  • NeoRussiaNeoRussia Join Date: 2012-08-04 Member: 154743Members
    edited September 2012
    There is no "perfect cheater". If someone peeks through/at walls or is aware of things he can't be aware of he is a wallhacker. If someone makes consistant lucky shots combined with unusual mouse movements he is a triggerbotter. The people who are the best at cheating are the competitive players because those people dedicate all of their time in learning how to cheat instead of how to play, and some of them are actually good at the game. Never have I seen someone who hacked and was not suspicious or already banned. So what makes you think someone with an expensive hack in a regular public server won't be caught? All it takes is someone to think that he may be hacking and have a demo submitted of him. This works in practically every fps ever made, and has caught more cheaters than all anti-cheats combined.
  • PricePrice Join Date: 2003-09-27 Member: 21247Members
    I wonder why nobody create some code based cheatprotection.
    You know if some player go faster then XX or kill some enemy in distance of XX with weapon XX.
    Is that not possible? I mean take a look at alien swarm game code, you see a lot of achivements working like that what i mean.
  • PooptronixPooptronix Join Date: 2012-08-02 Member: 154590Members
    Sounds like first person spec should be a higher priority than it is.

    So right now... You can't be sure if someone is cheating, but can an admin kick them?

    I actually know real non-cheating NS1 players that used to get kicked from pubs. I've seen them play first hand and they're no joke, but there is a limit to what the human/game can accomplish before it's stretching the limits. 25/0 as an alien, I've seen (fade masters vs pub noobs). 48/0... that's a stretch... 25/0 as a marine? NFW.
  • IndustryIndustry Esteemed Gentleman Join Date: 2010-07-13 Member: 72344Members, Reinforced - Shadow, WC 2013 - Supporter
    <!--quoteo(post=1979261:date=Sep 17 2012, 05:17 PM:name=Pooptronix)--><div class='quotetop'>QUOTE (Pooptronix @ Sep 17 2012, 05:17 PM) <a href="index.php?act=findpost&pid=1979261"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->25/0 as an alien, I've seen (fade masters vs pub noobs). 48/0... that's a stretch... 25/0 as a marine? NFW.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I've done that as marine and I have seen FAR better players than me do that. The difference is how they are engaged. If they are 25/0 and consistently taking on 3-4 skulks at once and killing them all then I'm suspicious. If they are just having skulks trickling in then it is highly reasonable. The best anti-cheat as has already been said is good server admins and hopefully an upcoming 1st person spectator system.
  • antacidantacid Join Date: 2007-08-07 Member: 61821Members, NS2 Playtester
    edited September 2012
    Even I have gone 23-0 as marine and I am nowhere near as good as half the people I play against. Generally it happens in a server full of new players who simply do not know how to properly move as a skulk.
  • TechercizerTechercizer 7th Player Join Date: 2011-06-11 Member: 103832Members
    45-0 doesn't mean you're good, it means you're terrified by the idea of dying. I'd much rather go 45-30 than 45-0, because I make sure my deaths mean something.
  • internetexplorerinternetexplorer Join Date: 2011-10-13 Member: 127255Members
    edited September 2012
    aaaaaaaand a thread about cheating devolves into arguing over who is harder with their hypothetical KDR, because very few people know the technical details of this problem

    (I go 1/0 and then leave to play warsow instead)
  • TechercizerTechercizer 7th Player Join Date: 2011-06-11 Member: 103832Members
    edited September 2012
    Bull###### IE, you wish you could go 1/0.

    =P
  • MOOtantMOOtant Join Date: 2010-06-25 Member: 72158Members
    Yes, deaths are not equal. Dying as an onos loses 75 res. Dying as a skulk loses nothing except time.

    I'd like to see lerk/fade aimbot, that'd be interesting thing to watch. As far as I understand writing marine one would be trivial. You have positions of enemies, of you, after adjusting for mouse sensitivity you know where exactly to look and when to press LMB and you send it to the game.

    You can also make more subtle aimbot - one that activates only when your crosshair is close to enemy.

    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Just run a Lua consistency check against the client's code when he joins.<!--QuoteEnd--></div><!--QuoteEEnd-->
    What is that supposed to mean? Checksum? Cheater can send checksum of the valid code. I've seen cheater detection system (different than VAC/PB) where game asked client questions related to their game state. Amount of state tracking required to do it when your game is modified would be astronomical.

    I think it was written in form of a research paper about Warcraft 3 cheat protection. They didn't even use WC3 source code. I don't remember if I've seen it on gamedev/gamasutra/GDC or some blog.
  • StarkwindStarkwind Join Date: 2011-07-26 Member: 112394Members
    First Person spectator should be a first priority only REAL way to determine if someone is cheating.

    Do not want this turning into Day Z (I know I know easy scripting etc with Day Z Engine allows cheating).
  • _Necro__Necro_ Join Date: 2011-02-15 Member: 81895Members, Reinforced - Shadow
    Sorry, but 1st person will only get obvious cheats. I'm just thinking of an aimbot, you activate by button press and deactivate when releasing the button. You would only use it against higher life forms and fight skulks without pressing it. When you see someone spectating you would stop using it completely.

    .lua consistency checks (=client needs exactly the same .luas as the server) and VAC are the most important anti-cheat we need.

    Oh and techerzicer, the opacity of alien vision gives the player an advantage. I don't see why this should be allowed. I really wish this would be finally official in the game, but right now it is like cheating.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    Meh 1st person can pretty much get any cheater, simple because they usually make mistakes or play in ways that is just non-sensible.. It just comes down to have the right people spectating/watching the demos, and arguably thats the most important part... People that 'claim' to be the best at spotting cheaters and reviewing demos generally are complete crap at it, and just get innocent players banned. Its important to have someone that plays at a extemely high level look at demos that has good idea of what is actually possible versus what is not when reviewing certain cases..
  • DghelneshiDghelneshi Aims to surpass Fana in post edits. Join Date: 2011-11-01 Member: 130634Members, Squad Five Blue, Reinforced - Shadow
    @xDragon:
    But who decides who's "good and unbiased enough" to review demos?

    I'm also fairly sure there are some players out there with outrageous aiming skills but almost braindead playing styles compared to it.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    Thats what makes it difficult... And there are most definately people that can aim really well that shouldnt review demos either because they equally have no clue what to look for or how to evaluate it.
  • YuukiYuuki Join Date: 2010-11-20 Member: 75079Members
    At the end it's up to server admin to decide who get banned. What would be nice is a subforum to discuss cheating cases with sticky thread that admins can subscribe to.
  • WilsonWilson Join Date: 2010-07-26 Member: 72867Members
    The best way is to just name and shame people with direct video evidence.
  • JowJow Join Date: 2011-06-23 Member: 106032Members
    The only way to know that somebody doesn't cheat is to see them play in person, that's the long and short of it.

    Everything else is just a step to catch the stupid cheaters.
  • PooptronixPooptronix Join Date: 2012-08-02 Member: 154590Members
    Of course there are edge cases where you are the only veteran and every opponent is a noob you could have a ridiculous score.
    I'm talking a game full of amateur to veteran level players.

    So to reiterate the obvious:
    1) Checksum/parity checks on deployed code (they're working on).
    2) Need to have 1st person spec mode.
    3) Admins need to kick.

    Anything else?

    I still think being able to look up their stats including fps, net rate, kills/shot, kills/bite, ... all of it basically can reveal warning signs.
  • BacillusBacillus Join Date: 2006-11-02 Member: 58241Members
    <!--quoteo(post=1979665:date=Sep 18 2012, 05:18 PM:name=Pooptronix)--><div class='quotetop'>QUOTE (Pooptronix @ Sep 18 2012, 05:18 PM) <a href="index.php?act=findpost&pid=1979665"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Anything else?<!--QuoteEnd--></div><!--QuoteEEnd-->
    At least for competetive games some kind of ingame recording is pretty useful. Right now you pretty much have to hope someone saw the disputed situation and was streaming or recording via 3rd party program, otherwise there's no way of going back and checking it afterwards. Having a HLTV replacement would be amazing of course.

    I guess the same goes for public games too. You don't need an admin on the server each and every second if anyone can record the disputed play and hand it over for admin inspection.
  • AurOn2AurOn2 COOKIES&#33; FREEDOM, AND BISCUITS&#33; Australia Join Date: 2012-01-13 Member: 140224Members, Forum Moderators, NS2 Playtester, Forum staff
    well so long as theres no vac or punkbuster programs, im happy
    third party programs never work.
Sign In or Register to comment.