I’m trying to think of ways to counter cheating through custom mods as I’ve seen used in other games I’ve played. Like changing wall textures to be transparent or invisible (easy; just don’t allow them to be modded) or player models with huge axis lines extending from them, so they clip through walls (where my question stems from).

I know I can check for custom model files being used and allow or deny connections, but if I still want players to be able to have custom shit, the next best solution I thought it was making it so a custom model still has to fit within a certain boundary of size, eliminating the huge axis lines and other fuckery cheaters might try. Is that even possible, though? I don’t think I’ve ever seen anything actually do it.

I guess this would pertain mostly to the engine so let’s just say UE5 or Unity since those are most likely what I would use.

  • kevincox
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Yes, you can check if models have certain sizes or cover certain areas. However making this code robust will be difficult. Probably the most robust option is having a “base” minimal model like a black rectangle that is always loaded. Then you can apply custom models (or the default models) on top.

    However you can’t stop users from cheating in general. It is their device and ultimately they can hack around any checks that you add. Other than oppressive DRM/anti-cheat/remote attestation you can’t ensure that the run exactly the code that you want them to run.

      • kevincox
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        This is one of the cases where I can see use of DRM. It could be useful to provide an optional feature where users on “verified” setups can be given a bit that makes them more likely to get matched with other verified users in matchmaking. This way if you do this verification you are less likely to encounter cheaters. If course it is critically important that failing this doesn’t send you directly into the “confirmed cheater” pool. You should land somewhere in the middle.

        Although the problem here is that just having this attestation API available is opening the doors for less user-friendly uses.