How to get rid of speedhackers, from a career programmer

I work for a company programming applications in C++ and maintaining ADO, SQL, and XML databases for the companies clients. I just want to make a quick suggestion on getting rid of speed hack.ers

your run/walk speed in the game are set values as it stands now, they do not change. What changes is the weight of your active equipment. Less weight = more speed. THEREFORE

while(1) { //game loop
if (weight<0) {
autoban();
}
}
}

static void autoban() {
kicked();
submitreport();
end();
}


I don't know what function names you use in your actual source, but you get the idea. in the CLIENT code, check in the game loop (**where you make the call to draw the frame**) check if their carried weight variable is less than zero and in response to that automatically kick them, ban them, and close their game.

their speed hack.s are as simple as:

*(float*)( WEIGHT+PlayerPointer+offset ) = (float) -800 ;

PLEASE do something about this, out of the past 75 games Ive played, only 5 or so were without any speed-hack.ers, and most of them had 3-5 speed hackers in each game. I even switched servers to try to avoid them.

Comments

  • good ideia but they probably wont take it cuz they will say that they r doing their best when they actually just dont care
  • I work for a company programming applications in C++ and maintaining ADO, SQL, and XML databases for the companies clients. I just want to make a quick suggestion on getting rid of speed hack.ers

    your run/walk speed in the game are set values as it stands now, they do not change. What changes is the weight of your active equipment. Less weight = more speed. THEREFORE

    while(1) { //game loop
    if (weight<0) {
    autoban();
    }
    }
    }

    static void autoban() {
    kicked();
    submitreport();
    end();
    }


    I don't know what function names you use in your actual source, but you get the idea. in the CLIENT code, check in the game loop (**where you make the call to draw the frame**) check if their carried weight variable is less than zero and in response to that automatically kick them, ban them, and close their game.

    their speed hack.s are as simple as:

    *(float*)( WEIGHT+PlayerPointer+offset ) = (float) -800 ;

    PLEASE do something about this, out of the past 75 games Ive played, only 5 or so were without any speed-hack.ers, and most of them had 3-5 speed hackers in each game. I even switched servers to try to avoid them.

    they won't use it because they are jealouse of you knowing more than them,they will only do what THEY know,they don't accept help from other players...move ahead
  • Yeah I know they generally don't pay attention and seem uncaring at times, but they are making an effort to stop hackers. If you look at the patch notes lately they've been putting efforts towards stopping hackers.

    I've noticed a distinct lack of "wallers" (people who see you through the wall) lately, so they must be doing *something* right.

    A lot of hacks (1-hit kill, speed hack, gravity hack, teleporting, etc) can be easilly delt with as shown above for speed hack though. It is only a matter of implementing it.
  • [MOD]Greycloak has already suggested something like this, and its now up to XTrap to do something with it.

    30uuypz.jpg



    My Suggestions: Ak-47 Custom Glock-18 Adv. M110 s.a.s.s. M4A1 Masterkey MAC 10 Suppressed XM110 Spec-ops
  • okay cool. I've only had the pleasure of being part of the coding team for 3 MMOFPS in my time, all though I did make a crappy one on my own before that, it looked a lot like Delta Force: Task Force Dagger (I.E. very blocky...) Hopefully Greycloak keeps us posted on this endeavour, eh?
  • TheWada

    can you teach them how to idnetify and kick aimbot and wallcham (see thru walls)hackers?
  • preventing aimbot is more difficult than checking on a value - you have to look for patterns in firing, locations, etc. Establish a pattern, make sure the pattern remains consistant for a significant amount of time (cause it may indeed be someone with skill. I get accused of aimbot constantly even though I use no such thing). For chams - if they are using a built in debug features (many games leave these in the full client releases) they can check to see if its active or not, if they are using a D3D chams (directx coding), on the client side they simply have to check the playermodel.RenderState. Autobanned on chams right there.
  • They should make a system in game like this. Because the server controls everything.
    If anyone moves faster than possible with gun and bhopping, ban them
    If any certain gun foes more damage than supposed to, ban them
    If any gun shoots faster than normal ban them.

    If anyone hacks, the server will be alerted and their ip banned?
  • hmm, there is even another way for a very effective method to detect speedhacks:

    // Server side function, called about every 3 seconds
    int CheckForSpeedhack(Player p) {
    if(Speed(Distance(CurrentPlayerPosition(p),PlayerPositionInThePast(p,CurrentTimeInSeconds()-1)),1) > MaxSpeed(p.CharType(),p.Gun()) return 1;
    }
    while(1) {
    /*...*/
    for(Player* p = NULL, int i=0; i<SizeOfArray(Players); i++, p = &Players) {
    if(CheckForSpeedhack(*p)) p->SpeedhackCount++;
    if(p->SpeedhackCount > 2) {
    SendNotice(p,"Hardcore lag or speedhack detected!");
    DropPlayer(p);
    }
    /*...*/
    }

    I know, I haven't built in an autoban function. But its innecessary because the player will get dropped each time he does speedhack!
  • Would be nice if they auto ban any1 who speed hacks. Every Egypt game you join, you'll encounter at least 1 speed hacker every game. Its getting really annoying considering there are people who refuse to kick the hacker.
  • It's a simple patch. It needs to be done.
  • TheWada wrote: »
    It's a simple patch. It needs to be done.

    I think they let the speeders in for so long for a reason... :_) Now all who speeded are banned :)
  • hmm, there is even another way for a very effective method to detect speedhacks:

    // Server side function, called about every 3 seconds
    int CheckForSpeedhack(Player p) {
    if(Speed(Distance(CurrentPlayerPosition(p),PlayerPositionInThePast(p,CurrentTimeInSeconds()-1)),1) > MaxSpeed(p.CharType(),p.Gun()) return 1;
    }
    while(1) {
    /*...*/
    for(Player* p = NULL, int i=0; i<SizeOfArray(Players); i++, p = &Players) {
    if(CheckForSpeedhack(*p)) p->SpeedhackCount++;
    if(p->SpeedhackCount > 2) {
    SendNotice(p,"Hardcore lag or speedhack detected!");
    DropPlayer(p);
    }
    /*...*/
    }

    I know, I haven't built in an autoban function. But its innecessary because the player will get dropped each time he does speedhack!
    I don't think that's going to work...
    1st, it's just too simple the way you call for all those data (although I don't know how a game really works...), and 2nd... What would happen if someone just lags? Someone would be in a position for a while, and then, when connection gets the new position, he'd be on other position, a certain distance away, and it would take a lagger as a speedhacker...

    Anyways, for what I've researched about, speedhack is done through Cheat Engine, so it wouldn't modify the weight, as someone said before... I'm not sure how it works, but it comes with the program itself. There might lay the solution for the speedhackers issue...
  • SatoshiKy wrote: »
    I don't think that's going to work...
    1st, it's just too simple the way you call for all those data (although I don't know how a game really works...), and 2nd... What would happen if someone just lags? Someone would be in a position for a while, and then, when connection gets the new position, he'd be on other position, a certain distance away, and it would take a lagger as a speedhacker...

    Anyways, for what I've researched about, speedhack is done through Cheat Engine, so it wouldn't modify the weight, as someone said before... I'm not sure how it works, but it comes with the program itself. There might lay the solution for the speedhackers issue...

    thats the thing, this snippet of code DOESN'T check how fast you are moving across the map (like the other one posted by someone else.) It checks the actual value that allows you to move across the map, so that wouldn't affect it

    and TWO, the code, even if it was measuring actual speed, it wouldn't be affected by lag, since it's client sided.

    The only way to beat it would be some serious disassembling and debugging

    and to beat debuggers, you only need to obfuscate the code (change function and var names to 20 character random giberish with Replace All)

    and on top of that, at least 95% of people who would try to debug the Game Loop (while(1) { }) will find themselves without a working game client,

    It is also possible to detect weather this has happened, by making the patcher/splash screen check the CRC32 data, filesize, file modified date, on the client (crossfire.exe)

    EDIT:
    just so you know, I'm not just blowing smoke out of my rear end, I have made a lot of antihack.ing measures for other free games, as well as LOADS of private servers that friends or online acquaintances have managed in the past)
  • You never know, they may be working on something like this as we speak. Z8 and XTrap never reveal any details of their anti-hack patches, so as to not give any advantage to the hack coders.
    I think they let the speeders in for so long for a reason... :_) Now all who speeded are banned :)

    Also, it's a notorious keylogger, designed not only to steal game info, but personal details, such as credit card numbers.

    Remember the no clip hack? Pretty much the same thing as that.
  • I think they let the speeders in for so long for a reason... :_) Now all who speeded are banned :)

    not really.. there used to be speed hack.ers in the beta (yes i played in the beta) as well as weapon hack.s and chams REAL chams with the colors not the full bright that happens today which is pretty much dead from what i have seen. what happened was that someone on that 4 lettered hack site realized that speed hack.s weren't really blocked its just editing packets from what i have herd that post was up for only 10 mins before they took it down and everyone had it! the creator from what i herd even regeted making it because he thought it ruined the game. but thouse are rummors or facts i dunno anymore. bottem line if someone wants to hack and they are really dedicated enuff to it they most likey are going to find a way. hell even WoW has hack.ers <_< and they say that WoW's warden is more tuffer than xtrap. i think punkbuster would work better for this game than x-trap tho.

    but x-trap is an improvment over the beta's gameguard that was completey fail.....

    but the up side of speed hack.ers is that there is no question who is speed hack.ing

    I just wish that the updates would comeout sooner.

    but about an hour after the updates the new ones are right back out since a lot of times there not hack updates from the recent patchs that have happened. sad tho, CF is still a great game but i have doubted Z8games resolve since they took down the public ban list.

    there is no way of varrivying that they are infact even taking ANY action without it!
  • If this works HELL YEA im for anything that would get rid of these idiots. And z8 is obviously failing at it. Even with the auto ban the hackers only get ban 7 days and then they are back doing the same damn thing... z8 NEEDS TO ENFORCE THE PERMENANT BAN, as the threaten on the startup screen.
  • TheWada wrote: »
    I work for a company programming applications in C++ and maintaining ADO, SQL, and XML databases for the companies clients. I just want to make a quick suggestion on getting rid of speed hack.ers

    your run/walk speed in the game are set values as it stands now, they do not change. What changes is the weight of your active equipment. Less weight = more speed. THEREFORE

    while(1) { //game loop
    if (weight<0) {
    autoban();
    }
    }
    }

    static void autoban() {
    kicked();
    submitreport();
    end();
    }
    I know what you mean but...
    Speedhack doesn't change the amount of weight you carry, it just changes the speed of which you run, that's the only variable it changes. Something that checks the variable of the speed the game is running at should fix the problem.
  • at VERY least, allow starting of vote kicking of the opposing team too