Announcement

Collapse
No announcement yet.

Anti-cheat proposal

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Anti-cheat proposal

    Hi,

    With this post I'd like to introduce the EasyAntiCheat team. We’ve been following the Unreal Tournament development for a while now. We have our history in the competitive scene of Counter-Strike. And, in practice, the majority of the team members are active arena shooter players (UT99, UT2k3, Quake).

    We’d love to get involved with UT by taking care of anti-cheat development, with the same solution as what we have in place for the EAC integrated games.

    So far we’ve spoken in person with several of the guys over at Epic and consistently understood that UT is a community driven project. So here we are, looking to start a conversation about the options for game security in UT. This thread is intended as being both informative and a pitch on what we have to offer. You can find more on us here: www.easyanticheat.net

    The following are some thoughts on the concerns and goals we believe will arise from the community. We want to learn, and see if we possibly can establish a matching vision.

    Sooner vs Later
    There’s some question whether the anti-cheat should be included right away, or should be postponed to when UT hits a beta stadium. From experience we strongly suggest to address game security as early as possible. A solution needs to be in place before paranoia hits the community, with almost every good player being accused of cheating. Consistently keeping the game clean from the very beginning prevents the transition from “good job, nice match!” to “you cheated, you *******!” When growing to a wider audience new players will increasingly often bump into for-them-unknown top players, at that point it’s important to already have established wide-spread trust in the fairness of the game.

    Serverside vs Clientside vs Spectating
    There are several approaches to anti-cheating. The main distinctions are server- vs clientside, and automated vs player-driven. Neither of these are mutually exclusive.
    • Without a doubt, the best approach is full authoritative game server design. This is what is seen in games like War Thunder and World of Tanks. For UT we believe this isn’t feasible because the game is too fast paced. Authoritative server design also requires a significantly larger development effort.
    • Another serversided approach is based on statistical detection by logging all in-game actions, comparable to the Battlefield series where FairFight is combined with the Punkbuster clientside anti-cheat. Griefers using aimbots like the one reported earlier on this forum (https://forums.unrealtournament.com/...Bot-*-Cheating) can easily be caught by statistical detection. Smooth aimbots like the one possibly happening in this CoD video (https://www.youtube.com/watch?v=wJPpOrQxf1I) are harder to detect, especially when utilized carefully and sporadically by the suspect. The grey zone grows when thinking about aimbot vs human aim, and wallhack vs map feeling. Checking the cheating scene we believe statistical systems don’t work for truly high level play and result in both false and non-positives, but may contribute substantially in guarding the more casual game experience.

    On the clientside several approaches can be taken too.
    • In some places on the forums it’s suggested to harden the engine so to prevent the possibilities for cheating. That’s impossible. At most it will drive cheats to the lower system levels, and interact directly with DirectX layers and the system kernel.
    • The most common clientside approach is to detect memory patterns for cheats, with VAC and Punkbuster being two of the most well known pioneers. This works, but is by principle always behind on the cheating scene. Detecting memory patterns requires the anti-cheat developers to have their hands on the cheat to determine a reliable detection pattern, meaning the cheat must already exist and be publicly published. Private/competitive cheats go uncaught. When a player is detected a ban is enforced as penalty. In order for bans to be a real punishment, the value held by accounts should be significant for the cheater.
    • Another approach is to focus on prevention. That’s what we do. The key idea is to sandbox the game process, thereby preventing any external access. This eliminates about all publicly documented mechanisms used to create and run cheats (injection methods, memory access methods, input methods, debug methods, …) But, as publishing cheats is a sizable business there will always be guys working on new methods, those are then caught by code flow behavior analysis, memory pattern detections, and updates in the prevention layers.

    Another way of establishing a clean game experience is through community efforts.
    • A prime example is Counter-Strike’s Overwatch (http://blog.counter-strike.net/index.php/overwatch/). It’s a reputation based reporting system that relies on community elected members to review reports and determine whether a ban is required. It’s a great and widely appreciated system that involves the community with the anti-cheat efforts. Perhaps the biggest downsides of this approach are that reviews are not real-time and are prone to false positives and uncertainties. The best usecase seems to be in catching griefers and rely on additional systems for more real-time detection (like Overwatch does with VAC). A combination with such system is also required to prevent tampering with the ingame recording functionality.

    Security vs Performance
    It’s a classic view on IT security that effectiveness is a tradeoff against performance. This is a severally outdated vision. In case of EAC the software is designed so that it’s completely independent from the game’s development. We don’t impact performance, are multi-platform, and have an independent update cycle. There’s simply no reason why security should be allowed to affect the performance of the protected process.

    Security vs Privacy
    We can only speak for ourselves here, but we know many anti–cheat solutions have proven to be invasive to the end–user privacy and have given the entire sector a bad name. Personally we see countering cheating as a fight based on merit and coding excellence, not one of witch hunts and assumptions. We guarantee you that we do not get involved with keylogging or scanning your hard disk. We are not interested in your holiday pictures, *.cpp files, or anything that is personal to you as an individual. We’re gamers ourselves. We don’t do what we wouldn’t want to be done to ourselves.

    What’s the motive?
    For free? Sounds fishy? Yep. Here’s our motivation:
    • We love what we do, and do what we love. We’ve played arena shooters forever, and play UT ourselves. We want to use this as a daily drive in our anti-cheat development.
    • We would like to end up using UT as our demo game, and open up things like the service portals and APIs for public use. This helps us with developing better services and tools for customers.
    • Having UT in our portfolio looks good and helps us as a small startup to grow.

    What’s with this thread? And why look for support?
    We don’t want to end up undermining the motivation of contributors and instead want to address possible well founded concerns. Also, by integrating directly to UT we’ll avoid a situation like we have with Counter-Strike where players are kicked from servers if the third-party launcher isn’t used, and where EAC is little known outside of the competitive scene and therefor often mistrusted by the casual players.

    The integration relies on having a game launcher on the player’s side and a plugin on the server’s side. We’ll link to the integration code as soon as we have it ready on git.

    We can easily carry the service until it reaches a consistent 10k CCU or so. When UT grows huge, we’re sure we can work with Epic to keep the anti-cheat going.

    To summarize, with this thread we want to start a conversation and learn about your concerns and hopes. We are truly excited to work together and hope you’ll give us the chance to do so.

    #2
    Well, my main concern is how this will impact modding (if at all) if EAC was fully integrated into UT4.
    Last edited by Arnox_BU; 09-29-2015, 10:50 AM.
    And still I wait...

    Comment


      #3
      I have used your anti-cheat on some low level csgo tournaments and leagues and I've never had a problem nor my teammates. i'm glad you decided to come to UT. I hope epic is open to hear you keep it up.

      Comment


        #4
        I agree UT definitely needs it...and many people will refuse to play this UT without it.
        Running the Mega Hub for everyone to enjoy!

        Comment


          #5
          Originally posted by Arnox_BU View Post
          Well, my main concern is how this will impact modding (if at all) if EAC was fully integrated UT4.
          Same concern/question here.

          Comment


            #6
            I think statistical approaches look very promising. For example this paper shows very good results (based on UT3):
            http://ieeexplore.ieee.org/xpl/artic...number=6032016

            True Class
            Predicted Class Cheater Honest
            Cheater 18 0
            Honest 1 20
            Statistical approaches together with a reputation based reporting system would work very well (imo).

            The problem of of new players accusing old one of cheating, should get solved with a good match making system/ELO system. So this doesn't has to much weight.

            Nevertheless, I am grateful someone wants to take on anti-cheating in UT4. And I agree with you, the sooner the better. EPIC should start to think about Anti-Cheat now as the player base is slowly growing. Even more because there are a lot of thing which need to be taken into account (i.e. marketplace, modability of the game, etc).
            Last edited by Danielito; 09-29-2015, 08:18 AM.

            Comment


              #7
              This is awesome news! One thing that has always plagued the UT community is a real lack of Anti cheat. Anti cheats usually come out months or even years after the game is released and by that time cheating has driven away much of the player base. I would like to know what kind of system will you have in place to actually keep a player banned? Its one thing to find a cheater and ban their account, but when accounts are free and unlimited, 5 minutes later they can be back into the very same match they were originally banned from. Since Epic launcher and its accounts are significantly less valuable than say a steam account, banning an account doesnt seem to be a real deterrent or costly punishment to the cheater. I run an iCTF server and would be happy to participate in the development of this system.
              PayBack

              Comment


                #8
                Sounds like the perfect partner for Epic to rely on for this development to handle anti-cheat considering your visions and motives. Welcome to the community (although you've probably been here lurking for a while anyway )!

                How it will affect/limit modding capabilities and how it will be dealt with is my primary concern. I know for example there's 3rd party "injectors" out there like ReShade which apply post-processing in the form of for example color correction, bokeh depth of field and SMAA antialiasing method to mention a few into almost any game. Now these are not going to give any advantages whatsoever to players (more the opposite) and should be see more like visual enhancers (still I don't think UT is the primary game to use this kind of injector but still). I guess this would be picked up as a cheat by your anti-cheat system but politically I don't see any reason to ban the usage of such tool.
                Last edited by RPGWiZ4RD; 09-29-2015, 08:48 AM.

                Comment


                  #9
                  Do not, ever, get punkbuster. It's garbage. one of the best anti-cheats is VAC, but I think it;s steam exclusive? Whatever you on an anti-cheat program, never allow the public to know how it works. Make a good list of third party programs NOT supported so we avoid to download them (i.e VAC conflicts with Iobit advanced systemcare protection) and keep the rest a secret.

                  Comment


                    #10
                    Originally posted by Scxmdrxg View Post
                    Do not, ever, get punkbuster. It's garbage. one of the best anti-cheats is VAC, but I think it;s steam exclusive? Whatever you on an anti-cheat program, never allow the public to know how it works. Make a good list of third party programs NOT supported so we avoid to download them (i.e VAC conflicts with Iobit advanced systemcare protection) and keep the rest a secret.
                    this is not the best approach to a game that is being openly made by the community.
                    They clearly stated that they wish to release api's for the community to help (which is awesome, might solve modding(?)), I mean the last part of the privacy paragraph is just bashing on ESEA.
                    there's a reason why a close approach like you're suggesting is bad and the EAC team knows it.

                    Comment


                      #11
                      Originally posted by simple. View Post
                      this is not the best approach to a game that is being openly made by the community.
                      They clearly stated that they wish to release api's for the community to help (which is awesome, might solve modding(?)), I mean the last part of the privacy paragraph is just bashing on ESEA.
                      there's a reason why a close approach like you're suggesting is bad and the EAC team knows it.
                      Can you explain why a closed approach is a bad idea? I honestly dont know and always figured that it was the best solution since if you dont know how something works, it makes it nearly impossible to get around it.
                      PayBack

                      Comment


                        #12
                        Originally posted by simple. View Post
                        this is not the best approach to a game that is being openly made by the community.
                        They clearly stated that they wish to release api's for the community to help (which is awesome, might solve modding(?)), I mean the last part of the privacy paragraph is just bashing on ESEA.
                        there's a reason why a close approach like you're suggesting is bad and the EAC team knows it.
                        That's not a valid arguement, Anti-cheat program has nothing to do with the community, it is not content, it is not something you invest time in and I dont want the community to have anything to do with it. Close approach is the best and CSGO/TF2 are living proof of this. We dont need to know how it works, so it's 100% harder to exploit. Open approach is horrible idea for something that is pretty much the SECURITY of the game.

                        Comment


                          #13
                          Originally posted by Scxmdrxg View Post
                          That's not a valid arguement, Anti-cheat program has nothing to do with the community, it is not content, it is not something you invest time in and I dont want the community to have anything to do with it. Close approach is the best and CSGO/TF2 are living proof of this. We dont need to know how it works, so it's 100% harder to exploit. Open approach is horrible idea for something that is pretty much the SECURITY of the game.
                          I said having API's is good and should be encourage, you're twisting my arguments making it seem I support an "open approach". Having api's is different from being open.

                          Originally posted by -jay- View Post
                          Can you explain why a closed approach is a bad idea? I honestly dont know and always figured that it was the best solution since if you dont know how something works, it makes it nearly impossible to get around it.
                          Im not an expert, it's up to EAC and Epic to work out what they want and how they want it. I'm merely saying that personally I see a better solution in partly opening the system do the community. On a technical way this has advantages and of course disadvantages i'm not denying it, as said above if something isn't open it's hard to counter it, but this opens up the privacy problem.


                          On a personal level:

                          A lot of people might not care, but personally having an anti-cheat that makes your pc mine bitcoins and supposedly searches your files while your pc is iddling is something that I can't deal with.

                          Comment


                            #14
                            Originally posted by simple. View Post
                            I said having API's is good and should be encourage, you're twisting my arguments making it seem I support an "open approach". Having api's is different from being open.

                            Im not an expert, it's up to EAC and Epic to work out what they want and how they want it. I'm merely saying that personally I see a better solution in partly opening the system do the community. On a technical way this has advantages and of course disadvantages i'm not denying it, as said above if something isn't open it's hard to counter it, but this opens up the privacy problem.


                            On a personal level:

                            A lot of people might not care, but personally having an anti-cheat that makes your pc mine bitcoins and supposedly searches your files while your pc is iddling is something that I can't deal with.
                            So you basically have no idea why you think its a good idea to make the anti cheat opensource and your only support is that ESEA, not EAC once tried to slip a bitcoin minner into its anit cheat program? Because one bad company did something stupid, we should automatically assume every other company is going to do the same, so we should then weaken our anti cheat software to protect against the very same company we are trusting to provide the anticheat software? Just as an FYI, every single application you download ever could have bitcoin mining software in it.
                            PayBack

                            Comment


                              #15
                              Hey I'm all for it, as long as there is proper moderation, this can be nothing but good for this game...

                              Comment

                              Working...
                              X