Thread: Game Independent Anti-cheat Project Needs Programmers

  1. #1
    Registered User
    Join Date
    Sep 2005
    Posts
    2

    Game Independent Anti-cheat Project Needs Programmers

    Although this is not actually a game development project, the GIA Project applies to all multiplayer games. I hope you will have the constitution and fortitude to read this through and decide if you would like to join the team.

    Like many gamers, I have seen a lot of really good games ruined by cheats. Some years back, most games didn’t even incorporate any method at all to stop cheats. Now we have a few anti-cheat applications out there but none really stand out as a truly affective solution.

    Punk Buster by Even Balance, Inc. is, currently, probably about the best option. Coupled with MD5 checks and streaming a server so that screen shots can be constantly monitored, it’s fairly affective but very, very far from perfect. From what I’ve noticed, they generally give “the benefit of the doubt”. And sometimes it seems like they are very doubtful people.

    The typical routine is that a game is released. The anti-cheat software is integrated into the game. Initially, the game is pretty much cheat-free. Then a few very talented but dishonest people create a program to cheat the game. This works for a while. Then, as the cheat becomes wider spread, eventually the anti-cheat software is updated to include recognition of the cheat apps out there. But that doesn’t stop the same people from creating yet another cheat app. This goes back and forth until the game developer finally decides it is no longer profitable to update the anti-cheat measures. Then, ultimately, the way of all good games have the same ends. They become so cheat-filled that the only way you can play the game on a public server is to have a better set of cheats than your opponents.

    Half-Life, Ghost Recon, Soldier of Fortune, Quake, and Delta Force are among a number of games that I no longer play for this very reason. Games like Raven Shield, Joint Operations, Black Hawk Down, and even Battlefield, and others, are on that same road right now. It gets more and more difficult to find a cheat free server to play on anymore. But don’t think it’s limited to the FPS genre just because I didn’t mention any. Other games, including RPG’s and RTS’s are coming to the same end. Even Warcraft Online and Everquest II have their share of cheaters. It is just a little more difficult to detect because the cheats these types of games use are much more subtle and harder to recognize. Additionally, they aren’t pursued as much because they aren’t quite as directly competitive as other games.

    Needless to say, it is very frustrating to be in your favorite game and unload 2 whole clips into a guy just to turn around and have him shoot you in the toe one time and kill you. I’m sure that anyone who has played online games for any significant amount of time can relate.

    For quite some time I just got more and more frustrated and upset until one day, when I decided to quit playing yet another game, it all just suddenly clicked. I decided to do something about it; I decided to design the ultimate anti-cheat program.

    I have done some work programming memory managers in assembly and a couple graphics engines in C and assembly but for a project of this magnitude I quickly realized that I will need help. My strengths encompass a broad range of knowledge and understanding of a large variety of fields. Although my programming experience is a little dated, I am still adept at project and program flow design even if I may be lacking proper terminology (much like the terminology you learn in high school where you know how to do the problem but you can’t remember what the actual term for it is).

    After a number of months, and even more basic models, I finally threw off the bonds of traditional thinking and as a result I have arrived at the simplest and most logical conclusion. It is so simple that it is not unlike the idea to put the little piece of tape around the tip of your shoe string to keep it from fraying. It’s hard to imagine that no one did it sooner. The answer is the GIA Project.


    GIA stands for “Game Independent Anti-cheat”. But it isn’t as much an anti-cheat application as it is a game security and authentication package. Given the design parameters, when GIA is set to its highest security level, the game it is protecting should be effectively 100% cheat free (actually a little better than 99.999999999999999982% with the exception of glitchers because glitching is taking advantage of a flaw in the game as apposed to actually running a cheat to manipulate the game). GIA will be a separate program that runs on both the client and server but independently of games so that it can be used with virtually any game. It is designed to be modular and configurable in such a manner that it is future proof and requires an absolute minimal amount of upgrading. GIA will incorporate the detection of game file alterations and known cheats in addition to reporting and banning options. However, this is not what will make GIA so secure. The core idea behind GIA is not actually to detect cheats. Instead GIA is primarily designed to be able to validate that a particular user is not cheating. If this sounds like it is the same thing, trust me, it is not.

    As it stands, GIA is to be a community project for the benefit of the community. It is possible that we might seek compensation for our time and effort by pursuing contracts with major game companies to have GIA integrated into games but this will be decided when the project team is entirely assembled.

    I still have some work to do on the initial project design but, after a few solutions are worked out, I will create a very extensive flow chart. At that time we will go to the next stage and hopefully begin programming.

    Initially, GIA will be designed for Windows XP and the possibility of a Linux port will be dependent on resources and circumstances. The language that GIA will be programmed in has not yet been determined but we are leaning towards C++ or C#. We will need programmers familiar with designing and programming in the following areas: virus and cheat detection, firewalls, drivers and services, network security and tracking, port monitoring, file hashing and MD5 signatures, memory scanning and monitoring, and possibly a few other areas that I just haven’t thought of yet.

    If you are interested in the GIA Project and feel you can benefit, and be benefited by, the project, please contact me at [email protected] (Why yahoo? Because it’s quick, easy, and doesn’t cost money that I don’t have.)

    Otherwise, please feel free to make comments on this post. Any input and opinion is welcomed as it will only benefit the project when viewed from the proper perspective.

    Thank you,
    GIA Project Lead Designer

  2. #2
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    Half-Life, Ghost Recon, Soldier of Fortune, Quake, and Delta Force are among a number of games that I no longer play for this very reason.
    Needless to say, it is very frustrating to be in your favorite game and unload 2 whole clips into a guy just to turn around and have him shoot you in the toe one time and kill you. I’m sure that anyone who has played online games for any significant amount of time can relate.
    In Delta Force, we call that spawn armor.


    Quzah.
    Hope is the first step on the road to disappointment.

  3. #3
    Slave MadCow257's Avatar
    Join Date
    Jan 2005
    Posts
    735
    Do you actually program?
    What methods are you planning on implementing to stop cheating?
    If a group like Even Balance can't stop cheating fully, then do you have some really good innovation on what they do?

  4. #4
    Registered User
    Join Date
    Sep 2005
    Posts
    2
    Quote Originally Posted by MadCow257
    Do you actually program?
    What methods are you planning on implementing to stop cheating?
    If a group like Even Balance can't stop cheating fully, then do you have some really good innovation on what they do?

    To address your first question; I haven't programmed in quite a few years. I have done assembly programming on extended and expanded memory managers as well as C programming for 2d and 3d game engines. But like I said, my experience is outdated. As it is, I will be learning Windows programming as this project progresses, but right now I believe it will be more expedient to concentrate on project design and program flow design of the GIA Project.

    To answer your 3rd question; the reason that Even Balance "can't" stop cheating is because it would not be as profitable to do so. It is more profitable to require companies to pay more money to continue updating PunkBuster. If the program were designed so that it would not require updates in order to stop cheating then it would be a one time sale.

    PunkBuster uses a rather traditional method to stop cheating. Basically, much like a virus scanner, it checks the programs in memory and checks their “signatures” which are then compared to a database of “known cheat signatures”. If a signature match is found then it is safe to assume that the player is cheating. The problem with this method is that any newly developed cheat that came out after that particular PunkBuster update (known cheat database) would not be detected and so the cheater would be able to continue playing. This is why games with become cheat filled after the companies no longer pay to have PunkBuster updated.

    GIA is not designed in the traditional manner. In fact, GIA would not require any database of known cheats what so ever and still be able to keep cheaters out. If you give it a moment of thought you will realize that the solution to the problem is really very simple.

    All you really have to do to remedy the problem is to look at it from a different perspective. Start by thinking backwards.

    .gnitaeht ton si gniyalp reveohw taht mrifnoc si od ot evah ew llA .gnitaehc elpoep hctac ot evah neve t’nod ew taht eziar neht ew thguoht fo dohtem siht gnisu nI .emag eerf taehc a edivorp ot ylpmis si AIG fo laog ehT .AIG dniheb noitnetni eht ron thguoht eht rehtien si siht ,revewoH .(meht nab ro meht toob dna) gnitaehc elpoep hctac ot si laog eht eveileb ot uoy gnirb thgim gnikniht lanoitidarT .si laog etamitlu eht tahw ediced tsum uoy ,tsriF

    First, you must decide what the ultimate goal is. Traditional thinking might bring you to believe the goal is to catch people cheating (and boot them or ban them). However, this is neither the thought nor the intention behind GIA. The goal of GIA is simply to provide a cheat free game. In using this method of thought we then realize that we don’t even have to catch people cheating. All we have to do is confirm that whoever is playing is not cheating.

    .gninialpxe deliated erom tol a ekat dluow taht tub tsil eht no ton si that margorp a gnisu rof emag a fo tuo dekcik t’nsi nosrep a taht erus ekam ot nekat era taht serusaem lanoitidda era erehT .edih ot gniyrt ton era elpoep taht snoitacilppa fo tsil a elipmoc ot reisae hcum si tI .staehc eb ot ton nwonk era taht smargorp fo tsil a sniatnoc taht esabatad a ot erutangis rieht serapmoc neht dna dedaol era smargorp tahw srotinom taht ecivres metsys tnediser yromem a si aedi cisab ehT

    If you are interested then please email me.
    Last edited by GIA Project Lea; 09-15-2005 at 07:44 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Little game project
    By Gen. in forum Projects and Job Recruitment
    Replies: 7
    Last Post: 08-19-2006, 10:29 PM
  2. C Programming 2d Array Question
    By jeev2005 in forum C Programming
    Replies: 3
    Last Post: 04-26-2006, 03:18 PM
  3. Programming Puns
    By kermi3 in forum A Brief History of Cprogramming.com
    Replies: 44
    Last Post: 03-23-2002, 04:38 PM
  4. Newbie Game Programmers!
    By Ryce in forum Game Programming
    Replies: 12
    Last Post: 09-07-2001, 10:15 AM