Staredit Newtork
Community
StarCraft
Games
Site
Favourites
Zerg Mineral Hack Detection, -How to using triggers...

Pages: 1 2 3 » 4 >
Creator: Brontobyte
Time: May 25 2008, 6:52 pm

Post #1     Brontobyte May 25 2008, 6:52 pm

[Avatar]
 offline contact
I just happen to be playing a game of Phantom with some random people in a public game and as we proceeded along with the game, one of them used the Zerg Mineral Hack. The game immediately reacted destroying all of there units and stating that they were banned. How can I do this? I looked through the triggers and I didn't see anything about creating a special unit and then killing the players units. I also noticed that it had numerous Binary Count off triggers for the players minerals and gas counts. I think this was used to shoot out random numbers of minerals and gas to ward off anyone who could see how much they had. I don't know how the game could recognize if a player suddenly went from 123 minerals to 3456. I do plan on making my own version of this game and adding a few custom Anti-Hacking devices.
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #2     Wormer May 25 2008, 6:59 pm

[Avatar]
 offline contact
That is easy, just compare amount of resource the player had on the previous step with the amount it currently have using binary coutoffs. If the income is more than the highest building*3/4 (or unit*1 or upgrade) cost of the resource then this amount is get illegaly.
Top

Post #3     O)FaRTy1billion[MM] May 25 2008, 7:01 pm

[Avatar]
Remember the game! P.s.: Feldspar.
 offline contact
Does that mean if I cancel a lot of stuff really fast I'd get banned?
>The Game!<
>Taking SCD4 Suggestions!<
Clicky, Clicky!
Top

Post #4     Brontobyte May 25 2008, 7:04 pm

[Avatar]
 offline contact
Quote from O)FaRTy1billion[MM]
Does that mean if I cancel a lot of stuff really fast I'd get banned?

Most likely... I don't even understand what he said besides something like, detect the amount of minerals, every 2 seconds. Subtract it. If the difference is higher then some amount, then it was obtained illegally. What unit is created when you use the hack? Can't I just detect it that way? (Bring/Command Unit/Deaths)
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #5     Wormer May 25 2008, 7:15 pm

[Avatar]
 offline contact
Quote from Brontobyte
detect the amount of minerals, every 2 seconds
Why so slow? Use hypers and it will be 12 times per second.

Quote from O)FaRTy1billion[MM]
Does that mean if I cancel a lot of stuff really fast I'd get banned?
You simply can't cancel more than one thing in the 12th of the second. Even workers don't bring minerals faster than 3-4 times (lets say you have about 6 mining bases fully filled with workers) per one 12th of the second.
Top

Post #6     Brontobyte May 25 2008, 7:17 pm

[Avatar]
 offline contact
Quote from Wormer
Quote from Brontobyte
detect the amount of minerals, every 2 seconds
Why so slow? Use hypers and it will be 12 times per second.

I know to use Hyper Triggers, its just I thought you would want it to be somewhat of a delay between checks. Can you give me an example of what a trigger set up would be. I know about the count offs its just what should I be detecting? What is too much accumulation that should be flagged as "haxor"?
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #7     Wormer May 25 2008, 7:38 pm

[Avatar]
 offline contact
No, I dont want a delay.

The trigger set up for the player:
1. Set deaths of dcPrev to the initial amount of minerals the player have at start.
2. Use binary countoffs to subtract deaths of dcPrev and the current amount of the resource till one of them is zero. Save the values you subtract in the temporary death counter dcTmp.
3. If the player accumulates at least Deadline of the resource then detect hack.
4. Add all remaining resources to the dcTmp.
5. Set dcPrev to zero.
6. Set back the resource and the dcPrev to the dcTmp using binary countoffs.

The max accumulation of the resouce (Deadline) is the max amount of the resource you could obtain canceling one unit or upgrade plus 32 at most.
This post was edited 3 times, last edit by Wormer: May 25 2008, 7:43 pm.
Top

Post #8     Brontobyte May 25 2008, 7:59 pm

[Avatar]
 offline contact
So what needs to be my biggest variable? I remember seeing somewheres that for the minerals, it only needs to go up to 1024. Is this true? I don't understand why people go way overboard to something like 2^21.
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #9     OMC)Anonymous May 25 2008, 8:13 pm

[Avatar]
Der Metzgermeister
 offline contact
Why does it matter if they use ZMH?
I believe in:
  • Communism
  • Atheism
  • Nuclear Energy
  • Freedom
  • Dissent
Top

Post #10     Brontobyte May 25 2008, 8:16 pm

[Avatar]
 offline contact
Quote from Anonymous
Why does it matter if they use ZMH?

Because it gives the user an unfair advantage. :rolleyes:
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #11     Wormer May 25 2008, 8:18 pm

[Avatar]
 offline contact
Quote from Brontobyte
So what needs to be my biggest variable? I remember seeing somewheres that for the minerals, it only needs to go up to 1024. Is this true? I don't understand why people go way overboard to something like 2^21.
You should be sure that noone accumulates more than 2^MaxDegree of the resource or coutoffs will break. Though you can add failsafe in case this happens.
Top

Post #12     Brontobyte May 25 2008, 8:22 pm

[Avatar]
 offline contact
Quote from Wormer
Quote from Brontobyte
So what needs to be my biggest variable? I remember seeing somewheres that for the minerals, it only needs to go up to 1024. Is this true? I don't understand why people go way overboard to something like 2^21.
You should be sure that noone accumulates more than 2^MaxDegree of the resource or coutoffs will break.

So what your saying is that I add up the maximum amount of ore that can be gathered up throughout the entire map and that should be my max number? Start from there and divide by 2 until I reach zero?
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #13     Wormer May 25 2008, 8:30 pm

[Avatar]
 offline contact
I am starting to loose the point of what are you talking about.

If you're talking about the highest degree in the binary countoffs then:
Quote
You should be sure that noone accumulates more than 2^MaxDegree of the resource or coutoffs will break. Though you can add failsafe in case this happens.
By 'accumulates' I mean the amount of the resource the player have at the moment.

If you're talking about the difference between the amount of the resource the player had the previous moment and the amount it have at the current moment then:
Quote
The max accumulation of the resouce (Deadline) is the max amount of the resource you could obtain canceling one unit or upgrade plus 32 at most.

Please be more clear. What do you not understand?

Edit:
Quote
You should be sure that noone accumulates more than 2^MaxDegree of the resource or coutoffs will break. Though you can add failsafe in case this happens.
My bad, actually it is 2^MaxDegree+1-1.
Top

Post #14     Brontobyte May 25 2008, 8:35 pm

[Avatar]
 offline contact
I was trying to explain that the "MaxDegree" is the Maximum Amount of Ore that can possible be accumulated throughout a game. Lets say that the Maximum Amount of Ore is 8192. This would be where I start to decrease my count off by.
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #15     Wormer May 25 2008, 8:43 pm

[Avatar]
 offline contact
"MaxDegree" is not the maximum amount of the resource that can possible be accumulated throughout a game. It is 2^MaxDegree+1-1 (or you can think of it being 2^MaxDegree). More clearly, 2^MaxDegree+1-1 is the maximum amount of the resource the player could hold each moment (I mean that it is not the amount of the resource the player accumulated throughout the whole game, that should be obviuos though).
Top

Post #16     Brontobyte May 25 2008, 8:45 pm

[Avatar]
 offline contact
I think I will just copy the format of the triggers in the map. This is too confusing. :-_-:
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #17     Wormer May 25 2008, 9:00 pm

[Avatar]
 offline contact
Quote from Brontobyte
I think I will just copy the format of the triggers in the map. This is too confusing. :-_-:
No, it is simple ;)
What is the maximum value that could be subtracted with the binary coutoff with maximum degree of MaxDegree? It is 1+2^1+2^2+...+2^MaxDegree=2^MaxDegree+1-1.

For MaxDegree=0 it is obvious: 1=2-1=2^1-1=2^MaxDegree+1-1.
Suppose it is true for MaxDegree=n. Then it is true for MaxDegree=n+1: 1+2^1+2^2+...+2^MaxDegree-1+2^MaxDegree=(1+2^1+2^2+...+2^n)+2^n+1=(2^n+1-1)+2^n+1=2^n+1(1+1)-1=2^n+2-1=2^MaxDegree+1-1
:|
Top

Post #18     NudeRaider May 25 2008, 9:15 pm

[Avatar]
Write your own destiny, or else someone will write it for you!
 offline contact
Look Bronto, it's easy. You cannot gain more than say 600 (dunno how much actually) minerals in 1/8th of a game second. So you detect if the player has earned more than 600 that trigger loop and bang you got him. This is done by binary countoffs.
Every trigger loop you store the current minerals in a dc, the last minerals in another, subtract them both and if the result is at least 600 the ban trigger fires.

Btw. someone asked what is done to activate ZMH: It's activated by cancelling an egg. That's why it's so hard to detect otherwise.
(signature image)
http://sonsofwar.pyrom.net/index.html___0% (user posted image) 100%
Top

Post #19     Brontobyte May 25 2008, 10:02 pm

[Avatar]
 offline contact
Quote from NudeRaider
Look Bronto, it's easy. You cannot gain more than say 600 (dunno how much actually) minerals in 1/8th of a game second. So you detect if the player has earned more than 600 that trigger loop and bang you got him. This is done by binary countoffs.
Every trigger loop you store the current minerals in a dc, the last minerals in another, subtract them both and if the result is at least 600 the ban trigger fires.

Btw. someone asked what is done to activate ZMH: It's activated by cancelling an egg. That's why it's so hard to detect otherwise.

What if its less then 600?
╔═══╦═══╦═══╦══╦═╦═══╦═══╦═══╦═╦═╦═══╦═══╗
╠═══╣....═╣............╠╗..╔╣....╠═══╬╗..╔╩╗..╔╬═══╣
╚═══╩═╩═╩═══╩═╩══╩╩═╩╩═══╩═══╩╩═╩═╩═╩╩═══╝
Top

Post #20     Falkoner May 25 2008, 11:44 pm

[Avatar]
Taking StarCraft Map Making to the Limit!
 online contact
The mineral hacks give exactly 514 minerals whenever used(on a unit, which can be larvae, hydralisks, or mutalisks) so that could help make it more precise, but there is also the ability to take a building with the ability to morph, and then return a wounded drone and some money for it, I'm not too sure how you would detect that one though..
Top
0 members in this topic: None
+ 1 guest(s)


[03:38 am]
Killer_Kow[MM] -- It truly is. I'm tired, give me a break.
[03:37 am]
Kaias -- That is a ridiculous spelling of ridiculous
[03:35 am]
Killer_Kow[MM] -- ...That made so much sense it was rediculous O.O
[03:34 am]
Corbo[MM] -- ON U
[03:33 am]
Mini Moose 2707 -- That's what she said
[03:31 am]
Killer_Kow[MM] -- I was too.
[03:30 am]
O)MasterJohnny -- I use to be on top
You must log in to shout.

©2003-2008 Staredit Network.
Starcraft & Starcraft II are trademarks of Blizzard Entertainment.
Site Index   |   Terms of Service   |   Privacy Policy   |   Contributions