Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Zerg Mineral Hack Detection
Zerg Mineral Hack Detection
May 25 2008, 6:52 pm
By: Brontobyte
Pages: 1 2 34 >
 

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



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.



None.

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



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.



Some.

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

👻 👾 👽 💪

Does that mean if I cancel a lot of stuff really fast I'd get banned?



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

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



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)



None.

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



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.



Some.

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



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"?



None.

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



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.

Post has been edited 3 time(s), last time on May 25 2008, 7:43 pm by Wormer.



Some.

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



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.



None.

May 25 2008, 8:13 pm BiOAtK Post #9



Why does it matter if they use ZMH?



None.

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



Quote from Anonymous
Why does it matter if they use ZMH?

Because it gives the user an unfair advantage. :rolleyes:



None.

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



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.



Some.

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



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?



None.

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



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.



Some.

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



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.



None.

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



"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).



Some.

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



I think I will just copy the format of the triggers in the map. This is too confusing. :-_-:



None.

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



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
:|



Some.

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

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

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.




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



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?



None.

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



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..



None.

Options
Pages: 1 2 34 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[01:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
[2024-4-29. : 6:36 pm]
RIVE -- Nah, I'm still on Orange Box.
[2024-4-29. : 4:36 pm]
Oh_Man -- anyone play Outside the Box yet? it was a fun time
[2024-4-29. : 12:52 pm]
Vrael -- if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
[2024-4-29. : 11:17 am]
Zycorax -- :wob:
[2024-4-27. : 9:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[2024-4-27. : 7:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
Please log in to shout.


Members Online: Roy, jun3hong