Speed hack

Dear all unity user
I have release my game and it got hack by slow speed.
Anyone got any solution to detect slow speed hack?
Thank

https://www.assetstore.unity3d.com/en/#!/content/10395

@greggtwep16 I had try that plugin but it’s not work with root/jailbreak device.

Care to elaborate on what slow speed hack is? The first step to beating any hacker is to understand what they are doing.

Actually, before that you should determine if blocking hackers is even worth the effort.

Essentially a hack to slow down the game. If you’re playing a fast-paced game but aren’t very quick to respond or your network isn’t very fast you could slow the game down to make it easier to play.

Got you. So we are talking about something like pinging a server that keeps a constant time interval. Or implementing lockstep networking for multiplayer.

BTW: Congratulations on being hacked. You haven’t made it until someone decides its worth their time to cheat at your game.

2 Likes

They hacked by using some tools like GameCIH, GameHacker … Is it possible to detect if there installed all that tools?

If you can detect the players that have done it implement an achievement for hackers & give them the achievement & post it in a public in game scoreboard, something like the “I could only win by cheating” award

2 Likes

Is it a multiplayer game?

No,it match 3 game. And they get highest score with slow hack. How can I detect it? Do you have any idea?

How does a speed hack affect match 3 games? I thought they worked by checking the grids around the tiles to detect the same tiles rather than needing reflexes.

@tedthebug My game is simple just touch and game check if there are 3 or more connected they destroy. So if user hack to slow down the game, they will touch as more as they can and without mistake. So the score will be highest than normal user.

Can you put a check in so when they touch no other touch can register until all the tile moves have completed? Once all the tiles have stopped moving & effects have finished playing then reset the touch controls so they will register the next move.

1 Like

@tedthebug My game allow user to multiple touch and fast touch to get top score. And I can’t just wait for tile moves completed. User challenge by high score. The way to check if they hack slow time I had use is, get time from time.nist.gov every 5 second in game, if duration every 5 second greater than 6 or 7 second, I fire event speedHackDetect. But sometime get time false.

You’ll have to be careful then because some people play using multi fingers & are real quick, check out videos of people playing wordament at official Microsoft competitions where everything was filmed & checked. They were exceptionally fast. Mir you block it at what you think is reasonable you will block people that aren’t cheating.

Can you compare the in-game time against the processor time of the device? I’m assuming each device keeps track of time in some way as some apps use it when posting the time something was done. If you can access that to determine how much time has passed & compare it to how much time your game says has passed then you might be able to determine if they are cheating.

1 Like

@tedthebug While user hack slow time, we will get device time with the cheat time. My game play just 1 minute. After game ended we also get 1 minute passed with normal and hacked.

Sounds like you’re kinda stuck. If it isn’t costing you money it may not be worth the effort. If their times are massively better than people then most people will assume they cheated anyway.

1 Like

Our company would like to give away real prize to user. So that’s the big problem if user cheat .

Make it a random prize, pick a time randomly. That way no one knows how much to cheat or if it’s even worth it. Plus it encourages everyone to try no matter how bad they are.

you could essentially add lets say example 50 variables constantly check things for changes.

This is just entirely an example (50 wasn’t a real number, could just be one or two).

have each variable verify changes, know what changes should happen, if something differently happens, make something happen where it makes the game impossible to do anything unless they delete it or something.

(Here’s an example)
Not exactly the best way to do thigns I don’t think, but you could easily do it with your SLOW SPEED.
I just gave this as an example to things.

public float health;
public float H1; // Checks health.
public float C1; // Checks H1.
public float CH1; // Checks H1 and C1 by adding them together.
public float CH2; // - Verifys CH1;

// I put random names for things that way people don't understand what things are as easily when memory hacking at least.

void Update(){

C1 = health;
H1 = C1;

if(C1 < health){
Cheating.
}else if(H1 < C1){
Cheating.
}

CH1 = H1 + C1;
CH2 = CH1;
if(CH1 < CH2 || CH2 < CH1 || CH2 > CH1 || CH1 > CH2){
Cheating
}

}
1 Like