• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 22:42
CET 03:42
KST 11:42
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy7ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289
Community News
Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool48Weekly Cups (March 9-15): herO, Clem, ByuN win42026 KungFu Cup Announcement6BGE Stara Zagora 2026 cancelled12
StarCraft 2
General
Potential Updates Coming to the SC2 CN Server What mix of new & old maps do you want in the next ladder pool? (SC2) Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Weekly Cups (March 16-22): herO doubles, Cure surprises Weekly Cups (August 25-31): Clem's Last Straw?
Tourneys
WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament World University TeamLeague (500$+) | Signups Open RSL Season 4 announced for March-April WardiTV Team League Season 10
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat Mutation # 516 Specter of Death
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ Gypsy to Korea Soulkey's decision to leave C9 mca64Launcher - New Version with StarCraft: Remast How much money terran looses from gas steal?
Tourneys
[ASL21] Ro24 Group B [ASL21] Ro24 Group C Small VOD Thread 2.0 [Megathread] Daily Proleagues
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Darkest Dungeon Nintendo Switch Thread Stormgate/Frost Giant Megathread General RTS Discussion Thread Path of Exile
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Canadian Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books Movie Discussion! [Manga] One Piece
Sports
Cricket [SPORT] 2024 - 2026 Football Thread Formula 1 Discussion Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 3942 users

GM / Master map hacker and general hacking and cheating th…

Forum Index > SC2 General
Post a Reply
Prev 1 32 33 34 35 36 531 Next
You have to provide some kind of evidence/proof (screenshots/replays etc.) if you are going to accuse somebody.

Additionally, a supporting comment of what people should be looking for and when will be necessary if you are posting replays/evidence.
Pantythief
Profile Joined February 2012
Denmark657 Posts
Last Edited: 2012-05-30 19:00:58
May 30 2012 19:00 GMT
#661
On May 31 2012 01:02 IamMagic wrote:
you joking right? you can't see burrowed units if they are stationary, furthermore even if there is an idea that there are units burrowed there you wouldn't storm completely over the biggest chunks and ignore the smaller chunks to the side, makes no logical sense.

+ he is looking at the army in the dark THAN moving his army... it's so blatant I don't see how anyone with a reasonable IQ can defend him


You can always see burrowed units, afaik.
afkøaoilncpsdpdnaædc
Lavit2099
Profile Joined November 2011
United States390 Posts
May 30 2012 19:09 GMT
#662
On May 30 2012 23:57 CruelZeratul wrote:
Show nested quote +
On May 30 2012 23:02 Doodsmack wrote:
Didn't blizz file a lawsuit against the people who were selling sc2 hacks? I wonder what the result was. Someone needs to find those guys' home addresses and go teach the skinny pale low-lifes a lesson.


Don't see the crime there. If they do something on Blizz-servers thats something else. Just reading date you receive is not a crime und selling something like that shouln't be either.


The idea is that a company is making money off of Blizzard's IP without their say-so. Same thing happened to the guy that made the Cartographer addon for WoW; he charged people money and Blizzard got a Cease and Desist order on him due to it. Same would happen to anyone selling hacks for SC2.
Arco
Profile Joined September 2009
United States2090 Posts
Last Edited: 2012-05-30 19:15:22
May 30 2012 19:15 GMT
#663
http://drop.sc/188817

Another hacker. Around 850 pts Master league.

PvP, Forge vs Forge

-Looks at my forge through fog of war
-Starts cannon rushing blindly under my base without scouting on Antiga
-Sends all his probes to attack my pylon in his base without scouting it
-Starts building cannons in his main in response to my cannons in his main without scouting it
-Has 20 apm at 850~ masters, and dies to 1 zealot killing all his probes while he's trying to 4 gate me

Pretty blatent. Gonna send in a report.
rotegirte
Profile Joined April 2011
Germany2859 Posts
May 30 2012 19:24 GMT
#664
On May 31 2012 01:15 kmh wrote:
Show nested quote +
On May 30 2012 17:19 Mendelfist wrote:
Well, in that case it's even worse. Continuously sending the current game state (encrypted) over the net is no more viable than sending parts of it on demand. There are just too many units involved in SC2. The paper focuses a lot on solving the cryptographic problem of when to lift the fog of war, and goes to length to show how efficient their algorithm is, but it does not mention that it requires a completely different network architecture than SC2 currently uses, an architecture that is so inefficient that I don't think it would be possible to use. This blog discusses exactly this problem:

http://www.altdevblogaday.com/2011/07/09/synchronous-rts-engines-and-a-tale-of-desyncs/


Again, this is addressed in the paper. Please don't blame the paper for my misinterpretation of it - you really should read it. They do discuss why sending the entire gamestate isn't feasible for RTS and go into detail that I can't go into because of space restrictions and the fact that I haven't spent enough time on the subject yet.

Like I said, my understanding is that you cannot have a fully synchronized client, i.e. have both clients simulate all movements of all units, simply because by design you will not want both clients to have full knowledge of the gamestate. If both clients have that information available to them in an unencrypted form, you cannot avoid the possibility of maphacks. However, I don't see why you couldn't simulate the movements of all units in the visibility of both players in lockstep.

However, you *can* communicate encrypted updates to the opponent and then only send the encryption keys as needed. This is done by communicating a list of what grid cells are visible to you (visibility map) as well as what units you have in each grid cell. To speed up computation, you do this hierarchically by splitting the map recursively into quadrants. You then send the changes to your opponent. In other words, you communicate your unit list and your visibility map, but do so in an encrypted fashion. Your opponent does the same to you. To avoid leaking information about the amount of units or how much of the map is available to you, you add chaff (fake data) to keep the amount of data sent constant.

Because of the encryption method used, players can decrypt V_a ^ V_b - that is, the union of the visibility map for player A as well as the union for the visibility map of player B. You cannot learn anything about the areas that aren't visible to both.

By design, this makes for the complete absence of passive attacks: i.e. maphacks and production hacks etc. However, it does nothing to prevent active attacks, such as blink hacks, burrow micro hacks, autoinject, auto-anything, adding extra units to your army, hacked build times, hacked unit stats, et cetera. Unlike maphacks however, these kinds of hacks are pretty trivial to detect post facto. That could even be made into an automatic process: i.e. to check the legality of your opponents moves after the game by uploading a signed copy of your replay after the game as well as periodically sending signed hashes of chunks of your action list to the other players during the game. That way, detecting disrepancies can be made automatic and completely traceable.

I can't answer as to how much difference this makes in lagginess off hand. In the paper, they did some analysis and came up with figures as follows: players usually only do a maximum of 2 game-state changing actions per second. The rest are camera-changes that don't change the game-state and thus don't need to be communicated. Calculating all of the encryption creates some overhead, to the tune of less than 20 microseconds per opponent in the worst case. Basically this means that you have to send in the worst case 2 encrypted state changes per second, each a few hundred bytes long, and each taking a few ten microseconds to encrypt.

As for what implications that has for the implementations of the netcode, I'm not really sure. My understanding is that you cannot send the mere input list, but rather that you have to communicate the delta of your gamestate at each simulation tick. You do not have to communicate changes that haven't happened.

It's an interesting topic, and I really don't do the researchers justice. Please don't attack my interpretation of what I've read., because I'm pretty certain I must have gotten a few things wrong when trying to relay the gist of the paper here. Instead, read the paper at http://crypto.stanford.edu/~dabo/pubs/papers/onlinegames.pdf and let me know what you think about it - also feel free to contact the researches themselves with your feedback.


---

The paper also cites another paper called "Battle of Botcraft" (available at http://www.cs.wm.edu/~hnw/paper/hop.pdf ) that proposes a method of bot detection based on machine learning methods. This is something we could already start doing right now, without any changes to any network code. By categorizing replays into "hacks" and "not hacks", and detecting common features for the hacked replays we could make hack detection automatic.

For instance, looking at the dsninetail replay, action sequences such as:

15:55 DSNiNETAiL Deselect all
15:55 DSNiNETAiL Blink (Stalker); target: x=32.3,y=46.7
15:55 DSNiNETAiL Attack; target: x=37.9,y=54.9
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3

crop up, the same way every time. The time stamp here fails to indicate that the above sequences happen within a single frame.

Squirtle's blink micro on the other hand generates action sequences as follows:

13:59 StarTale Select Stalker x3 (10830,10834,1083c), Immortal (205ec), Deselect 2 units
13:59 StarTale Blink (Stalker); target: x=95.5,y=159.7
14:05 StarTale Select Stalker (10674), Deselect all
14:05 StarTale Blink (Stalker); target: x=97.6,y=155.2
14:06 StarTale Select Stalker x3 (306d4,206e4,10834), Deselect all

Again, the timestamp here fails to indicate that the lag between the actions is much higher: to the tune of several hundred milliseconds.


Machine learning tools could find other indicators too. Comparing the hacked replay to a pro replay you find the following split in the hack replay:

+ Show Spoiler +
0:01 DSNiNETAiL Select Nexus (10298)
0:01 DSNiNETAiL Train Probe
0:01 DSNiNETAiL Select Probe x3 (102a0,102a8,102b0), Deselect all
0:01 DSNiNETAiL Right click; target: Mineral Field (101e0)
0:02 DSNiNETAiL Select Probe x3 (1029c,102a4,102ac), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (10144)
0:02 DSNiNETAiL Select Nexus (10298), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (101a4)
0:17 DSNiNETAiL Hotkey Assign 1
0:17 DSNiNETAiL Hotkey Assign 2
0:17 DSNiNETAiL Hotkey Assign 3
0:18 DSNiNETAiL Hotkey Assign 4
0:18 DSNiNETAiL Train Probe


Meanwhile, human players such as squirtle would have splits that generate actions as follows:

+ Show Spoiler +
0:01 StarTale Select Nexus (10250)
0:01 StarTale Train Probe
0:01 StarTale Select Probe x6 (10254,10258,1025c,10260,10264,10268), Deselect all
0:01 StarTale Right click; target: Mineral Field (10114)
0:01 StarTale Right click; target: Mineral Field (10114)
0:02 StarTale Deselect 6 units
0:02 StarTale Right click; target: Mineral Field (10170)
0:02 StarTale Select Nexus (10250), Deselect all
0:02 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:04 StarTale Hotkey Assign 4
0:04 StarTale Select Probe (10258), Deselect all
0:05 StarTale Hotkey Select 4
0:05 StarTale Select Mineral Field (100bc), Deselect all
0:06 StarTale Select Probe (10258), Deselect all
0:06 StarTale Hotkey Assign 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Right click; target: Mineral Field (10118)
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:14 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:15 StarTale Hotkey Select 4
0:15 StarTale Hotkey Select 1
0:16 StarTale Select Probe (10264)
0:16 StarTale Hotkey Select 4
0:16 StarTale Select Probe x3 (10254,1025c,10268), Deselect all
0:16 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x2 (10258,10264), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x4 (10254,1025c,10260,10268), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:18 StarTale Hotkey Select 4
0:18 StarTale Train Probe


There are loads of potential indicators out there to mine data from, such as click speed/accuracy etc. By comparing these sorts of action sequences and finding indicators, we could get somewhere with automatic hack detection. All we would need are corpuses of "known hack" replays as well as "known good" replays to start training.


The underlying problem is that there is little expertise and incentive in the world of gaming to address such issues yet. If we do some digging, there is little crossapplication from relevant traditional fields. I doubt Blizzard has the budget to run extensive research on that. As D3's launch showed us, they already have their hands full to keep their infrastructure afloat, with the pending RMAH an even bigger issue on the horizon.
jimbob615
Profile Blog Joined September 2006
Uruguay455 Posts
May 30 2012 19:31 GMT
#665
On May 31 2012 03:51 KaBaaM wrote:
Show nested quote +
On May 31 2012 00:32 Silvertine wrote:
Saw a pretty blatant case posted in one of the reddit threads, thought I'd add it:

OnTheThrone

http://drop.sc/188667?pass=24fc33a0-f52f-40a5-9c21-e3d6795571cd
http://drop.sc/188691
http://drop.sc/188690


I just played this guy twice - definitely a map hacker.


http://drop.sc/188814

We spawn cross on Shakuras - he 7pools, sends his overlord right to my base, then his lings, without ever scouting. Then never uses his mutas, probably because I had stalkers ready to defend.

http://drop.sc/188812

I lost the first one, and then my next game is him again cross spawn on Entombed. He 10 pools this time, and I get a cannon up before lings are there. He goes straight to the rocks at my natural, without scouting if I put a cannon up at the front. Then, when I move out to attack, he goes around my army and straight to reinforcements he can't see consistently.

The funny thing is that he still manages to lose, even to someone he just played, and still BMs.


yea wtf... he injects his natural hatch at 15:22 on the game on shakuras and his camera isn't even near his hatchery! his first person view barely changes
BcYen
Profile Joined March 2012
United States25 Posts
May 30 2012 19:38 GMT
#666
On May 31 2012 04:31 jimbob615 wrote:
Show nested quote +
On May 31 2012 03:51 KaBaaM wrote:
On May 31 2012 00:32 Silvertine wrote:
Saw a pretty blatant case posted in one of the reddit threads, thought I'd add it:

OnTheThrone

http://drop.sc/188667?pass=24fc33a0-f52f-40a5-9c21-e3d6795571cd
http://drop.sc/188691
http://drop.sc/188690


I just played this guy twice - definitely a map hacker.


http://drop.sc/188814

We spawn cross on Shakuras - he 7pools, sends his overlord right to my base, then his lings, without ever scouting. Then never uses his mutas, probably because I had stalkers ready to defend.

http://drop.sc/188812

I lost the first one, and then my next game is him again cross spawn on Entombed. He 10 pools this time, and I get a cannon up before lings are there. He goes straight to the rocks at my natural, without scouting if I put a cannon up at the front. Then, when I move out to attack, he goes around my army and straight to reinforcements he can't see consistently.

The funny thing is that he still manages to lose, even to someone he just played, and still BMs.


yea wtf... he injects his natural hatch at 15:22 on the game on shakuras and his camera isn't even near his hatchery! his first person view barely changes

You can inject via minimap, although he probably doesn't know that himself!
jerg imbuh
Skullflower
Profile Joined July 2010
United States3779 Posts
May 30 2012 19:46 GMT
#667
On May 31 2012 04:31 jimbob615 wrote:
Show nested quote +
On May 31 2012 03:51 KaBaaM wrote:
On May 31 2012 00:32 Silvertine wrote:
Saw a pretty blatant case posted in one of the reddit threads, thought I'd add it:

OnTheThrone

http://drop.sc/188667?pass=24fc33a0-f52f-40a5-9c21-e3d6795571cd
http://drop.sc/188691
http://drop.sc/188690


I just played this guy twice - definitely a map hacker.


http://drop.sc/188814

We spawn cross on Shakuras - he 7pools, sends his overlord right to my base, then his lings, without ever scouting. Then never uses his mutas, probably because I had stalkers ready to defend.

http://drop.sc/188812

I lost the first one, and then my next game is him again cross spawn on Entombed. He 10 pools this time, and I get a cannon up before lings are there. He goes straight to the rocks at my natural, without scouting if I put a cannon up at the front. Then, when I move out to attack, he goes around my army and straight to reinforcements he can't see consistently.

The funny thing is that he still manages to lose, even to someone he just played, and still BMs.


yea wtf... he injects his natural hatch at 15:22 on the game on shakuras and his camera isn't even near his hatchery! his first person view barely changes


It's quite easy to inject via the minimap
The ruminations are mine, let the world be yours.
stk01001
Profile Joined September 2007
United States786 Posts
May 30 2012 19:50 GMT
#668
On May 31 2012 04:00 Pantythief wrote:
Show nested quote +
On May 31 2012 01:02 IamMagic wrote:
you joking right? you can't see burrowed units if they are stationary, furthermore even if there is an idea that there are units burrowed there you wouldn't storm completely over the biggest chunks and ignore the smaller chunks to the side, makes no logical sense.

+ he is looking at the army in the dark THAN moving his army... it's so blatant I don't see how anyone with a reasonable IQ can defend him


You can always see burrowed units, afaik.


uhhh.. actually no.. you can't. It's pretty basic knowledge you need detection to see burrowed units. If the burrowed units are moving (roaches or infestors) then you can see a slight ripple on the ground if you look closely, but that's it.
a.k.a reLapSe ---
Lavit2099
Profile Joined November 2011
United States390 Posts
May 30 2012 20:15 GMT
#669
On May 31 2012 04:50 stk01001 wrote:
Show nested quote +
On May 31 2012 04:00 Pantythief wrote:
On May 31 2012 01:02 IamMagic wrote:
you joking right? you can't see burrowed units if they are stationary, furthermore even if there is an idea that there are units burrowed there you wouldn't storm completely over the biggest chunks and ignore the smaller chunks to the side, makes no logical sense.

+ he is looking at the army in the dark THAN moving his army... it's so blatant I don't see how anyone with a reasonable IQ can defend him


You can always see burrowed units, afaik.


uhhh.. actually no.. you can't. It's pretty basic knowledge you need detection to see burrowed units. If the burrowed units are moving (roaches or infestors) then you can see a slight ripple on the ground if you look closely, but that's it.


You can see burrowed units MOVING, but not if they're standing still. Dunno if that is the case here or not, but I know that burrowed roaches leave a trail behind them on the surface (land sharks!) and DT's/Obs have a shimmery effect that can be seen without detection. You can't CLICK on these units, mind you, but you can still, with a quick eye, tell they're there. Had to kite around two DT's with a queen last night while waiting for a seer to finish mutating, was quite fun.
FabledIntegral
Profile Blog Joined November 2008
United States9232 Posts
May 30 2012 20:17 GMT
#670
On May 31 2012 04:31 jimbob615 wrote:
Show nested quote +
On May 31 2012 03:51 KaBaaM wrote:
On May 31 2012 00:32 Silvertine wrote:
Saw a pretty blatant case posted in one of the reddit threads, thought I'd add it:

OnTheThrone

http://drop.sc/188667?pass=24fc33a0-f52f-40a5-9c21-e3d6795571cd
http://drop.sc/188691
http://drop.sc/188690


I just played this guy twice - definitely a map hacker.


http://drop.sc/188814

We spawn cross on Shakuras - he 7pools, sends his overlord right to my base, then his lings, without ever scouting. Then never uses his mutas, probably because I had stalkers ready to defend.

http://drop.sc/188812

I lost the first one, and then my next game is him again cross spawn on Entombed. He 10 pools this time, and I get a cannon up before lings are there. He goes straight to the rocks at my natural, without scouting if I put a cannon up at the front. Then, when I move out to attack, he goes around my army and straight to reinforcements he can't see consistently.

The funny thing is that he still manages to lose, even to someone he just played, and still BMs.


yea wtf... he injects his natural hatch at 15:22 on the game on shakuras and his camera isn't even near his hatchery! his first person view barely changes
\

He just hacked against me today . No scouting, perfect BO counters, perfect strats and timings to attack, bleh. . Macro wasn't that great, but I fucked up!
Doodsmack
Profile Blog Joined August 2010
United States7224 Posts
May 30 2012 21:01 GMT
#671
On May 31 2012 04:15 Tump wrote:
http://drop.sc/188817

Another hacker. Around 850 pts Master league.

PvP, Forge vs Forge

-Looks at my forge through fog of war
-Starts cannon rushing blindly under my base without scouting on Antiga
-Sends all his probes to attack my pylon in his base without scouting it
-Starts building cannons in his main in response to my cannons in his main without scouting it
-Has 20 apm at 850~ masters, and dies to 1 zealot killing all his probes while he's trying to 4 gate me

Pretty blatent. Gonna send in a report.



People really shouldn't post mid master hackers in this thread. This thread is for higher level players only otherwise it would get too cluttered.
Arco
Profile Joined September 2009
United States2090 Posts
May 30 2012 21:23 GMT
#672
On May 31 2012 06:01 Doodsmack wrote:
Show nested quote +
On May 31 2012 04:15 Tump wrote:
http://drop.sc/188817

Another hacker. Around 850 pts Master league.

PvP, Forge vs Forge

-Looks at my forge through fog of war
-Starts cannon rushing blindly under my base without scouting on Antiga
-Sends all his probes to attack my pylon in his base without scouting it
-Starts building cannons in his main in response to my cannons in his main without scouting it
-Has 20 apm at 850~ masters, and dies to 1 zealot killing all his probes while he's trying to 4 gate me

Pretty blatent. Gonna send in a report.



People really shouldn't post mid master hackers in this thread. This thread is for higher level players only otherwise it would get too cluttered.

He'll be high masters/GM soon enough...that's the point of posting it.
CruelZeratul
Profile Joined May 2010
Germany4588 Posts
May 30 2012 21:27 GMT
#673
The recent discussing about hackers really let me think about how it would be if both players would play with complete vision (no production tab). Would be a pretty different game and I'd like to see it as a mod or a fun tournament (even though you can't just give vision like in BW -.-).
JackDT
Profile Joined January 2012
724 Posts
Last Edited: 2012-05-30 21:31:07
May 30 2012 21:30 GMT
#674
On May 31 2012 06:27 CruelZeratul wrote:
The recent discussing about hackers really let me think about how it would be if both players would play with complete vision (no production tab). Would be a pretty different game and I'd like to see it as a mod or a fun tournament (even though you can't just give vision like in BW -.-).


That would be a cool experiment or a silly for-fun tournament format. Let's have TB run a tournament like that, he already did monobattles!

I'm guess there would be lots of juking as both players keep adjusting their position. Might be really fun.
Crowned
Profile Joined August 2011
United States368 Posts
May 30 2012 21:34 GMT
#675
On May 31 2012 06:01 Doodsmack wrote:
Show nested quote +
On May 31 2012 04:15 Tump wrote:
http://drop.sc/188817

Another hacker. Around 850 pts Master league.

PvP, Forge vs Forge

-Looks at my forge through fog of war
-Starts cannon rushing blindly under my base without scouting on Antiga
-Sends all his probes to attack my pylon in his base without scouting it
-Starts building cannons in his main in response to my cannons in his main without scouting it
-Has 20 apm at 850~ masters, and dies to 1 zealot killing all his probes while he's trying to 4 gate me

Pretty blatent. Gonna send in a report.



People really shouldn't post mid master hackers in this thread. This thread is for higher level players only otherwise it would get too cluttered.


Everyone should be exposed.
It's cool to love to win, but it's better to hate to lose.
mrlie3
Profile Blog Joined December 2008
Canada350 Posts
Last Edited: 2012-05-30 21:38:38
May 30 2012 21:36 GMT
#676
Can't there be an in-game application within bnet to scan the replay of the match after it was played to detect patterns of hack usage as mentioned in here? It doesn't have to be every replay, just random sequence of sampling to control the server workload. I hope Blizzard can incorporate this in hots!
Crimson @ Clan CORE | ESFI World Translator
Plansix
Profile Blog Joined April 2011
United States60190 Posts
May 30 2012 21:50 GMT
#677
On May 31 2012 06:36 mrlie3 wrote:
Can't there be an in-game application within bnet to scan the replay of the match after it was played to detect patterns of hack usage as mentioned in here? It doesn't have to be every replay, just ransoms sequence of sampling to ontrol the server workload. I hope Blizzard can incorporate this in hots!


Because it is not reasonable or realistic. Programs that detect hacking or changes to the client are not fire and forget. They need to be updated and upkept inline with the current hacks and systems. This costs money and people are always updating hacks. Humans are far better at detecting this sort of thing and keeping up with the latest trends. Also, Blizzard and most online games do have some sort of program to detecting if the client has been altered, but they do not catch everything.
I have the Honor to be your Obedient Servant, P.6
TL+ Member
lightpwnr
Profile Joined March 2012
Israel15 Posts
May 30 2012 21:50 GMT
#678
On May 31 2012 04:24 rotegirte wrote:
Show nested quote +
On May 31 2012 01:15 kmh wrote:
On May 30 2012 17:19 Mendelfist wrote:
Well, in that case it's even worse. Continuously sending the current game state (encrypted) over the net is no more viable than sending parts of it on demand. There are just too many units involved in SC2. The paper focuses a lot on solving the cryptographic problem of when to lift the fog of war, and goes to length to show how efficient their algorithm is, but it does not mention that it requires a completely different network architecture than SC2 currently uses, an architecture that is so inefficient that I don't think it would be possible to use. This blog discusses exactly this problem:

http://www.altdevblogaday.com/2011/07/09/synchronous-rts-engines-and-a-tale-of-desyncs/


Again, this is addressed in the paper. Please don't blame the paper for my misinterpretation of it - you really should read it. They do discuss why sending the entire gamestate isn't feasible for RTS and go into detail that I can't go into because of space restrictions and the fact that I haven't spent enough time on the subject yet.

Like I said, my understanding is that you cannot have a fully synchronized client, i.e. have both clients simulate all movements of all units, simply because by design you will not want both clients to have full knowledge of the gamestate. If both clients have that information available to them in an unencrypted form, you cannot avoid the possibility of maphacks. However, I don't see why you couldn't simulate the movements of all units in the visibility of both players in lockstep.

However, you *can* communicate encrypted updates to the opponent and then only send the encryption keys as needed. This is done by communicating a list of what grid cells are visible to you (visibility map) as well as what units you have in each grid cell. To speed up computation, you do this hierarchically by splitting the map recursively into quadrants. You then send the changes to your opponent. In other words, you communicate your unit list and your visibility map, but do so in an encrypted fashion. Your opponent does the same to you. To avoid leaking information about the amount of units or how much of the map is available to you, you add chaff (fake data) to keep the amount of data sent constant.

Because of the encryption method used, players can decrypt V_a ^ V_b - that is, the union of the visibility map for player A as well as the union for the visibility map of player B. You cannot learn anything about the areas that aren't visible to both.

By design, this makes for the complete absence of passive attacks: i.e. maphacks and production hacks etc. However, it does nothing to prevent active attacks, such as blink hacks, burrow micro hacks, autoinject, auto-anything, adding extra units to your army, hacked build times, hacked unit stats, et cetera. Unlike maphacks however, these kinds of hacks are pretty trivial to detect post facto. That could even be made into an automatic process: i.e. to check the legality of your opponents moves after the game by uploading a signed copy of your replay after the game as well as periodically sending signed hashes of chunks of your action list to the other players during the game. That way, detecting disrepancies can be made automatic and completely traceable.

I can't answer as to how much difference this makes in lagginess off hand. In the paper, they did some analysis and came up with figures as follows: players usually only do a maximum of 2 game-state changing actions per second. The rest are camera-changes that don't change the game-state and thus don't need to be communicated. Calculating all of the encryption creates some overhead, to the tune of less than 20 microseconds per opponent in the worst case. Basically this means that you have to send in the worst case 2 encrypted state changes per second, each a few hundred bytes long, and each taking a few ten microseconds to encrypt.

As for what implications that has for the implementations of the netcode, I'm not really sure. My understanding is that you cannot send the mere input list, but rather that you have to communicate the delta of your gamestate at each simulation tick. You do not have to communicate changes that haven't happened.

It's an interesting topic, and I really don't do the researchers justice. Please don't attack my interpretation of what I've read., because I'm pretty certain I must have gotten a few things wrong when trying to relay the gist of the paper here. Instead, read the paper at http://crypto.stanford.edu/~dabo/pubs/papers/onlinegames.pdf and let me know what you think about it - also feel free to contact the researches themselves with your feedback.


---

The paper also cites another paper called "Battle of Botcraft" (available at http://www.cs.wm.edu/~hnw/paper/hop.pdf ) that proposes a method of bot detection based on machine learning methods. This is something we could already start doing right now, without any changes to any network code. By categorizing replays into "hacks" and "not hacks", and detecting common features for the hacked replays we could make hack detection automatic.

For instance, looking at the dsninetail replay, action sequences such as:

15:55 DSNiNETAiL Deselect all
15:55 DSNiNETAiL Blink (Stalker); target: x=32.3,y=46.7
15:55 DSNiNETAiL Attack; target: x=37.9,y=54.9
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3

crop up, the same way every time. The time stamp here fails to indicate that the above sequences happen within a single frame.

Squirtle's blink micro on the other hand generates action sequences as follows:

13:59 StarTale Select Stalker x3 (10830,10834,1083c), Immortal (205ec), Deselect 2 units
13:59 StarTale Blink (Stalker); target: x=95.5,y=159.7
14:05 StarTale Select Stalker (10674), Deselect all
14:05 StarTale Blink (Stalker); target: x=97.6,y=155.2
14:06 StarTale Select Stalker x3 (306d4,206e4,10834), Deselect all

Again, the timestamp here fails to indicate that the lag between the actions is much higher: to the tune of several hundred milliseconds.


Machine learning tools could find other indicators too. Comparing the hacked replay to a pro replay you find the following split in the hack replay:

+ Show Spoiler +
0:01 DSNiNETAiL Select Nexus (10298)
0:01 DSNiNETAiL Train Probe
0:01 DSNiNETAiL Select Probe x3 (102a0,102a8,102b0), Deselect all
0:01 DSNiNETAiL Right click; target: Mineral Field (101e0)
0:02 DSNiNETAiL Select Probe x3 (1029c,102a4,102ac), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (10144)
0:02 DSNiNETAiL Select Nexus (10298), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (101a4)
0:17 DSNiNETAiL Hotkey Assign 1
0:17 DSNiNETAiL Hotkey Assign 2
0:17 DSNiNETAiL Hotkey Assign 3
0:18 DSNiNETAiL Hotkey Assign 4
0:18 DSNiNETAiL Train Probe


Meanwhile, human players such as squirtle would have splits that generate actions as follows:

+ Show Spoiler +
0:01 StarTale Select Nexus (10250)
0:01 StarTale Train Probe
0:01 StarTale Select Probe x6 (10254,10258,1025c,10260,10264,10268), Deselect all
0:01 StarTale Right click; target: Mineral Field (10114)
0:01 StarTale Right click; target: Mineral Field (10114)
0:02 StarTale Deselect 6 units
0:02 StarTale Right click; target: Mineral Field (10170)
0:02 StarTale Select Nexus (10250), Deselect all
0:02 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:04 StarTale Hotkey Assign 4
0:04 StarTale Select Probe (10258), Deselect all
0:05 StarTale Hotkey Select 4
0:05 StarTale Select Mineral Field (100bc), Deselect all
0:06 StarTale Select Probe (10258), Deselect all
0:06 StarTale Hotkey Assign 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Right click; target: Mineral Field (10118)
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:14 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:15 StarTale Hotkey Select 4
0:15 StarTale Hotkey Select 1
0:16 StarTale Select Probe (10264)
0:16 StarTale Hotkey Select 4
0:16 StarTale Select Probe x3 (10254,1025c,10268), Deselect all
0:16 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x2 (10258,10264), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x4 (10254,1025c,10260,10268), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:18 StarTale Hotkey Select 4
0:18 StarTale Train Probe


There are loads of potential indicators out there to mine data from, such as click speed/accuracy etc. By comparing these sorts of action sequences and finding indicators, we could get somewhere with automatic hack detection. All we would need are corpuses of "known hack" replays as well as "known good" replays to start training.


The underlying problem is that there is little expertise and incentive in the world of gaming to address such issues yet. If we do some digging, there is little crossapplication from relevant traditional fields. I doubt Blizzard has the budget to run extensive research on that. As D3's launch showed us, they already have their hands full to keep their infrastructure afloat, with the pending RMAH an even bigger issue on the horizon.


Are you aware DSninetails is playing on a new ID? His new ID i just discovered from one of his close personal friends is LGimbasftus an-ex friend of mine who is curently scamming a whole clan and claiming everyone who finds out he is scamming is a maphacker. Post it on the front page! LGimbasftus is a blink and maphakcer.
EZ
EtherealDeath
Profile Blog Joined July 2007
United States8366 Posts
Last Edited: 2012-05-30 21:55:21
May 30 2012 21:54 GMT
#679
On May 31 2012 06:50 lightpwnr wrote:
Show nested quote +
On May 31 2012 04:24 rotegirte wrote:
On May 31 2012 01:15 kmh wrote:
On May 30 2012 17:19 Mendelfist wrote:
Well, in that case it's even worse. Continuously sending the current game state (encrypted) over the net is no more viable than sending parts of it on demand. There are just too many units involved in SC2. The paper focuses a lot on solving the cryptographic problem of when to lift the fog of war, and goes to length to show how efficient their algorithm is, but it does not mention that it requires a completely different network architecture than SC2 currently uses, an architecture that is so inefficient that I don't think it would be possible to use. This blog discusses exactly this problem:

http://www.altdevblogaday.com/2011/07/09/synchronous-rts-engines-and-a-tale-of-desyncs/


Again, this is addressed in the paper. Please don't blame the paper for my misinterpretation of it - you really should read it. They do discuss why sending the entire gamestate isn't feasible for RTS and go into detail that I can't go into because of space restrictions and the fact that I haven't spent enough time on the subject yet.

Like I said, my understanding is that you cannot have a fully synchronized client, i.e. have both clients simulate all movements of all units, simply because by design you will not want both clients to have full knowledge of the gamestate. If both clients have that information available to them in an unencrypted form, you cannot avoid the possibility of maphacks. However, I don't see why you couldn't simulate the movements of all units in the visibility of both players in lockstep.

However, you *can* communicate encrypted updates to the opponent and then only send the encryption keys as needed. This is done by communicating a list of what grid cells are visible to you (visibility map) as well as what units you have in each grid cell. To speed up computation, you do this hierarchically by splitting the map recursively into quadrants. You then send the changes to your opponent. In other words, you communicate your unit list and your visibility map, but do so in an encrypted fashion. Your opponent does the same to you. To avoid leaking information about the amount of units or how much of the map is available to you, you add chaff (fake data) to keep the amount of data sent constant.

Because of the encryption method used, players can decrypt V_a ^ V_b - that is, the union of the visibility map for player A as well as the union for the visibility map of player B. You cannot learn anything about the areas that aren't visible to both.

By design, this makes for the complete absence of passive attacks: i.e. maphacks and production hacks etc. However, it does nothing to prevent active attacks, such as blink hacks, burrow micro hacks, autoinject, auto-anything, adding extra units to your army, hacked build times, hacked unit stats, et cetera. Unlike maphacks however, these kinds of hacks are pretty trivial to detect post facto. That could even be made into an automatic process: i.e. to check the legality of your opponents moves after the game by uploading a signed copy of your replay after the game as well as periodically sending signed hashes of chunks of your action list to the other players during the game. That way, detecting disrepancies can be made automatic and completely traceable.

I can't answer as to how much difference this makes in lagginess off hand. In the paper, they did some analysis and came up with figures as follows: players usually only do a maximum of 2 game-state changing actions per second. The rest are camera-changes that don't change the game-state and thus don't need to be communicated. Calculating all of the encryption creates some overhead, to the tune of less than 20 microseconds per opponent in the worst case. Basically this means that you have to send in the worst case 2 encrypted state changes per second, each a few hundred bytes long, and each taking a few ten microseconds to encrypt.

As for what implications that has for the implementations of the netcode, I'm not really sure. My understanding is that you cannot send the mere input list, but rather that you have to communicate the delta of your gamestate at each simulation tick. You do not have to communicate changes that haven't happened.

It's an interesting topic, and I really don't do the researchers justice. Please don't attack my interpretation of what I've read., because I'm pretty certain I must have gotten a few things wrong when trying to relay the gist of the paper here. Instead, read the paper at http://crypto.stanford.edu/~dabo/pubs/papers/onlinegames.pdf and let me know what you think about it - also feel free to contact the researches themselves with your feedback.


---

The paper also cites another paper called "Battle of Botcraft" (available at http://www.cs.wm.edu/~hnw/paper/hop.pdf ) that proposes a method of bot detection based on machine learning methods. This is something we could already start doing right now, without any changes to any network code. By categorizing replays into "hacks" and "not hacks", and detecting common features for the hacked replays we could make hack detection automatic.

For instance, looking at the dsninetail replay, action sequences such as:

15:55 DSNiNETAiL Deselect all
15:55 DSNiNETAiL Blink (Stalker); target: x=32.3,y=46.7
15:55 DSNiNETAiL Attack; target: x=37.9,y=54.9
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3

crop up, the same way every time. The time stamp here fails to indicate that the above sequences happen within a single frame.

Squirtle's blink micro on the other hand generates action sequences as follows:

13:59 StarTale Select Stalker x3 (10830,10834,1083c), Immortal (205ec), Deselect 2 units
13:59 StarTale Blink (Stalker); target: x=95.5,y=159.7
14:05 StarTale Select Stalker (10674), Deselect all
14:05 StarTale Blink (Stalker); target: x=97.6,y=155.2
14:06 StarTale Select Stalker x3 (306d4,206e4,10834), Deselect all

Again, the timestamp here fails to indicate that the lag between the actions is much higher: to the tune of several hundred milliseconds.


Machine learning tools could find other indicators too. Comparing the hacked replay to a pro replay you find the following split in the hack replay:

+ Show Spoiler +
0:01 DSNiNETAiL Select Nexus (10298)
0:01 DSNiNETAiL Train Probe
0:01 DSNiNETAiL Select Probe x3 (102a0,102a8,102b0), Deselect all
0:01 DSNiNETAiL Right click; target: Mineral Field (101e0)
0:02 DSNiNETAiL Select Probe x3 (1029c,102a4,102ac), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (10144)
0:02 DSNiNETAiL Select Nexus (10298), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (101a4)
0:17 DSNiNETAiL Hotkey Assign 1
0:17 DSNiNETAiL Hotkey Assign 2
0:17 DSNiNETAiL Hotkey Assign 3
0:18 DSNiNETAiL Hotkey Assign 4
0:18 DSNiNETAiL Train Probe


Meanwhile, human players such as squirtle would have splits that generate actions as follows:

+ Show Spoiler +
0:01 StarTale Select Nexus (10250)
0:01 StarTale Train Probe
0:01 StarTale Select Probe x6 (10254,10258,1025c,10260,10264,10268), Deselect all
0:01 StarTale Right click; target: Mineral Field (10114)
0:01 StarTale Right click; target: Mineral Field (10114)
0:02 StarTale Deselect 6 units
0:02 StarTale Right click; target: Mineral Field (10170)
0:02 StarTale Select Nexus (10250), Deselect all
0:02 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:04 StarTale Hotkey Assign 4
0:04 StarTale Select Probe (10258), Deselect all
0:05 StarTale Hotkey Select 4
0:05 StarTale Select Mineral Field (100bc), Deselect all
0:06 StarTale Select Probe (10258), Deselect all
0:06 StarTale Hotkey Assign 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Right click; target: Mineral Field (10118)
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:14 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:15 StarTale Hotkey Select 4
0:15 StarTale Hotkey Select 1
0:16 StarTale Select Probe (10264)
0:16 StarTale Hotkey Select 4
0:16 StarTale Select Probe x3 (10254,1025c,10268), Deselect all
0:16 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x2 (10258,10264), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x4 (10254,1025c,10260,10268), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:18 StarTale Hotkey Select 4
0:18 StarTale Train Probe


There are loads of potential indicators out there to mine data from, such as click speed/accuracy etc. By comparing these sorts of action sequences and finding indicators, we could get somewhere with automatic hack detection. All we would need are corpuses of "known hack" replays as well as "known good" replays to start training.


The underlying problem is that there is little expertise and incentive in the world of gaming to address such issues yet. If we do some digging, there is little crossapplication from relevant traditional fields. I doubt Blizzard has the budget to run extensive research on that. As D3's launch showed us, they already have their hands full to keep their infrastructure afloat, with the pending RMAH an even bigger issue on the horizon.


Are you aware DSninetails is playing on a new ID? His new ID i just discovered from one of his close personal friends is LGimbasftus an-ex friend of mine who is curently scamming a whole clan and claiming everyone who finds out he is scamming is a maphacker. Post it on the front page! LGimbasftus is a blink and maphakcer.


I've seen the LGimbasftus username around since... at least season 3, so idk how it's a new ID. Now I don't know if he's a maphacker or not, but didn't you recently make a thread complaining about this exact thing that got nowhere at all except revealing you as a maphacker?

edit - this thread: http://www.teamliquid.net/forum/viewmessage.php?topic_id=340570
rotegirte
Profile Joined April 2011
Germany2859 Posts
May 30 2012 21:58 GMT
#680
On May 31 2012 06:50 lightpwnr wrote:
Show nested quote +
On May 31 2012 04:24 rotegirte wrote:
On May 31 2012 01:15 kmh wrote:
On May 30 2012 17:19 Mendelfist wrote:
Well, in that case it's even worse. Continuously sending the current game state (encrypted) over the net is no more viable than sending parts of it on demand. There are just too many units involved in SC2. The paper focuses a lot on solving the cryptographic problem of when to lift the fog of war, and goes to length to show how efficient their algorithm is, but it does not mention that it requires a completely different network architecture than SC2 currently uses, an architecture that is so inefficient that I don't think it would be possible to use. This blog discusses exactly this problem:

http://www.altdevblogaday.com/2011/07/09/synchronous-rts-engines-and-a-tale-of-desyncs/


Again, this is addressed in the paper. Please don't blame the paper for my misinterpretation of it - you really should read it. They do discuss why sending the entire gamestate isn't feasible for RTS and go into detail that I can't go into because of space restrictions and the fact that I haven't spent enough time on the subject yet.

Like I said, my understanding is that you cannot have a fully synchronized client, i.e. have both clients simulate all movements of all units, simply because by design you will not want both clients to have full knowledge of the gamestate. If both clients have that information available to them in an unencrypted form, you cannot avoid the possibility of maphacks. However, I don't see why you couldn't simulate the movements of all units in the visibility of both players in lockstep.

However, you *can* communicate encrypted updates to the opponent and then only send the encryption keys as needed. This is done by communicating a list of what grid cells are visible to you (visibility map) as well as what units you have in each grid cell. To speed up computation, you do this hierarchically by splitting the map recursively into quadrants. You then send the changes to your opponent. In other words, you communicate your unit list and your visibility map, but do so in an encrypted fashion. Your opponent does the same to you. To avoid leaking information about the amount of units or how much of the map is available to you, you add chaff (fake data) to keep the amount of data sent constant.

Because of the encryption method used, players can decrypt V_a ^ V_b - that is, the union of the visibility map for player A as well as the union for the visibility map of player B. You cannot learn anything about the areas that aren't visible to both.

By design, this makes for the complete absence of passive attacks: i.e. maphacks and production hacks etc. However, it does nothing to prevent active attacks, such as blink hacks, burrow micro hacks, autoinject, auto-anything, adding extra units to your army, hacked build times, hacked unit stats, et cetera. Unlike maphacks however, these kinds of hacks are pretty trivial to detect post facto. That could even be made into an automatic process: i.e. to check the legality of your opponents moves after the game by uploading a signed copy of your replay after the game as well as periodically sending signed hashes of chunks of your action list to the other players during the game. That way, detecting disrepancies can be made automatic and completely traceable.

I can't answer as to how much difference this makes in lagginess off hand. In the paper, they did some analysis and came up with figures as follows: players usually only do a maximum of 2 game-state changing actions per second. The rest are camera-changes that don't change the game-state and thus don't need to be communicated. Calculating all of the encryption creates some overhead, to the tune of less than 20 microseconds per opponent in the worst case. Basically this means that you have to send in the worst case 2 encrypted state changes per second, each a few hundred bytes long, and each taking a few ten microseconds to encrypt.

As for what implications that has for the implementations of the netcode, I'm not really sure. My understanding is that you cannot send the mere input list, but rather that you have to communicate the delta of your gamestate at each simulation tick. You do not have to communicate changes that haven't happened.

It's an interesting topic, and I really don't do the researchers justice. Please don't attack my interpretation of what I've read., because I'm pretty certain I must have gotten a few things wrong when trying to relay the gist of the paper here. Instead, read the paper at http://crypto.stanford.edu/~dabo/pubs/papers/onlinegames.pdf and let me know what you think about it - also feel free to contact the researches themselves with your feedback.


---

The paper also cites another paper called "Battle of Botcraft" (available at http://www.cs.wm.edu/~hnw/paper/hop.pdf ) that proposes a method of bot detection based on machine learning methods. This is something we could already start doing right now, without any changes to any network code. By categorizing replays into "hacks" and "not hacks", and detecting common features for the hacked replays we could make hack detection automatic.

For instance, looking at the dsninetail replay, action sequences such as:

15:55 DSNiNETAiL Deselect all
15:55 DSNiNETAiL Blink (Stalker); target: x=32.3,y=46.7
15:55 DSNiNETAiL Attack; target: x=37.9,y=54.9
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3
---
15:56 DSNiNETAiL Deselect all
15:56 DSNiNETAiL Blink (Stalker); target: x=57.8,y=45.5
15:56 DSNiNETAiL Attack; target: x=48.6,y=46.3

crop up, the same way every time. The time stamp here fails to indicate that the above sequences happen within a single frame.

Squirtle's blink micro on the other hand generates action sequences as follows:

13:59 StarTale Select Stalker x3 (10830,10834,1083c), Immortal (205ec), Deselect 2 units
13:59 StarTale Blink (Stalker); target: x=95.5,y=159.7
14:05 StarTale Select Stalker (10674), Deselect all
14:05 StarTale Blink (Stalker); target: x=97.6,y=155.2
14:06 StarTale Select Stalker x3 (306d4,206e4,10834), Deselect all

Again, the timestamp here fails to indicate that the lag between the actions is much higher: to the tune of several hundred milliseconds.


Machine learning tools could find other indicators too. Comparing the hacked replay to a pro replay you find the following split in the hack replay:

+ Show Spoiler +
0:01 DSNiNETAiL Select Nexus (10298)
0:01 DSNiNETAiL Train Probe
0:01 DSNiNETAiL Select Probe x3 (102a0,102a8,102b0), Deselect all
0:01 DSNiNETAiL Right click; target: Mineral Field (101e0)
0:02 DSNiNETAiL Select Probe x3 (1029c,102a4,102ac), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (10144)
0:02 DSNiNETAiL Select Nexus (10298), Deselect all
0:02 DSNiNETAiL Right click; target: Mineral Field (101a4)
0:17 DSNiNETAiL Hotkey Assign 1
0:17 DSNiNETAiL Hotkey Assign 2
0:17 DSNiNETAiL Hotkey Assign 3
0:18 DSNiNETAiL Hotkey Assign 4
0:18 DSNiNETAiL Train Probe


Meanwhile, human players such as squirtle would have splits that generate actions as follows:

+ Show Spoiler +
0:01 StarTale Select Nexus (10250)
0:01 StarTale Train Probe
0:01 StarTale Select Probe x6 (10254,10258,1025c,10260,10264,10268), Deselect all
0:01 StarTale Right click; target: Mineral Field (10114)
0:01 StarTale Right click; target: Mineral Field (10114)
0:02 StarTale Deselect 6 units
0:02 StarTale Right click; target: Mineral Field (10170)
0:02 StarTale Select Nexus (10250), Deselect all
0:02 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: x=129.9,y=162.7
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:03 StarTale Right click; target: Mineral Field (100bc)
0:04 StarTale Hotkey Assign 4
0:04 StarTale Select Probe (10258), Deselect all
0:05 StarTale Hotkey Select 4
0:05 StarTale Select Mineral Field (100bc), Deselect all
0:06 StarTale Select Probe (10258), Deselect all
0:06 StarTale Hotkey Assign 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Right click; target: Mineral Field (10118)
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:07 StarTale Hotkey Select 1
0:07 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:14 StarTale Hotkey Select 4
0:14 StarTale Hotkey Select 1
0:15 StarTale Hotkey Select 4
0:15 StarTale Hotkey Select 1
0:16 StarTale Select Probe (10264)
0:16 StarTale Hotkey Select 4
0:16 StarTale Select Probe x3 (10254,1025c,10268), Deselect all
0:16 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x2 (10258,10264), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Select Probe x4 (10254,1025c,10260,10268), Deselect all
0:17 StarTale Hotkey Select 4
0:17 StarTale Hotkey Select 1
0:18 StarTale Hotkey Select 4
0:18 StarTale Train Probe


There are loads of potential indicators out there to mine data from, such as click speed/accuracy etc. By comparing these sorts of action sequences and finding indicators, we could get somewhere with automatic hack detection. All we would need are corpuses of "known hack" replays as well as "known good" replays to start training.


The underlying problem is that there is little expertise and incentive in the world of gaming to address such issues yet. If we do some digging, there is little crossapplication from relevant traditional fields. I doubt Blizzard has the budget to run extensive research on that. As D3's launch showed us, they already have their hands full to keep their infrastructure afloat, with the pending RMAH an even bigger issue on the horizon.


Are you aware DSninetails is playing on a new ID? His new ID i just discovered from one of his close personal friends is LGimbasftus an-ex friend of mine who is curently scamming a whole clan and claiming everyone who finds out he is scamming is a maphacker. Post it on the front page! LGimbasftus is a blink and maphakcer.


How is your post possibly addressed at me?
Prev 1 32 33 34 35 36 531 Next
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
Korean StarCraft League #87
CranKy Ducklings159
LiquipediaDiscussion
OSC
18:00
OSC Elite Rising Star #18
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 198
SpeCial 88
StarCraft: Brood War
GuemChi 5946
NaDa 40
Dota 2
monkeys_forever591
League of Legends
Cuddl3bear15
Counter-Strike
tarik_tv3871
taco 572
Other Games
summit1g9645
JimRising 473
C9.Mang0313
WinterStarcraft228
ViBE121
Organizations
Other Games
BasetradeTV55
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Hupsaiya 82
• davetesta56
• CranKy Ducklings SOOP5
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Doublelift3431
Other Games
• Scarra835
Upcoming Events
WardiTV Team League
9h 18m
Big Brain Bouts
14h 18m
Fjant vs SortOf
YoungYakov vs Krystianer
Reynor vs HeRoMaRinE
RSL Revival
1d 7h
Cure vs Zoun
herO vs Rogue
WardiTV Team League
1d 9h
Platinum Heroes Events
1d 12h
BSL
1d 17h
RSL Revival
2 days
ByuN vs Maru
MaxPax vs TriGGeR
WardiTV Team League
2 days
BSL
2 days
Replay Cast
2 days
[ Show More ]
Replay Cast
3 days
Afreeca Starleague
3 days
Light vs Calm
Royal vs Mind
Wardi Open
3 days
Monday Night Weeklies
3 days
OSC
3 days
Sparkling Tuna Cup
4 days
Afreeca Starleague
4 days
Rush vs PianO
Flash vs Speed
Replay Cast
5 days
Afreeca Starleague
5 days
BeSt vs Leta
Queen vs Jaedong
Replay Cast
5 days
The PondCast
6 days
Replay Cast
6 days
Liquipedia Results

Completed

KCM Race Survival 2026 Season 1
WardiTV Winter 2026
Underdog Cup #3

Ongoing

BSL Season 22
CSL Elite League 2026
CSL Season 20: Qualifier 1
ASL Season 21
Acropolis #4 - TS6
RSL Revival: Season 4
Nations Cup 2026
NationLESS Cup
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

2026 Changsha Offline CUP
CSL Season 20: Qualifier 2
CSL 2026 SPRING (S20)
Acropolis #4
IPSL Spring 2026
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.