Show me an RTS that has solved map hacking. It’s still an issue in SC2, it’s still in AOE2. It’s technically not possible to resolve without major sacrifices. The best you can do is investigate and ban people who use them.
I’m not sure there is a better justification than “stopping maphacking will ruin the user experience for everyone with the large amount of latency it would introduce”.
I assume you’re talking about keeping the information only on the server and passing it to the client when the client should be able to see it. That would certainly increase latency.
But I think there are other ways it could at least be made harder. The full map information could be stored encrypted on the client, with subsets of the information being passed across to an unencrypted copy when the player can legitimately see them. I can’t say for certain whether it would be possible to make such a scheme immune to hacking, but it could certainly increase the difficulty.
No, I’m just trying to explain the technical hurdles behind stopping maphacks so people can put some of their pitchforks away and focus on the issues that Relic can actually do something about.
The problem is that you can’t encrypt it like that. The scripting engine needs to have the information and even if you encrypted it the data would still live on the client. Anyone that can write a maphack could also just reverse engineer where the decryption logic is too. As long as the decryption lives on the client side you’d be wasting dev hours that the hackers could just circumvent in a week.
When you enable the options, that the map is always visible, in replay it is always visible and you cannot switch to single player view. So when someone uses that program, the game should enable full game view in replay, then we inform the player with a screenshot, I hope they change it (in recognizing who cheats) at least for the next patch , Cheers
I’m not saying it’s easy, but there was a time when public key cryptography hadn’t been invented, so I wouldn’t like to say it’s impossible to protect it, i.e. problems that we can’t currently think of solutions for aren’t necessarily impossible to solve.
The game could potentially be made a moving target that can change faster than new hacks can be released, e.g. via a mechanism like the one they put in that allows some changes to be made outside the steam / ms store update system.
No, it doesn’t work like that. In replay it doesn’t show up when triggered, so it’s not detectable like that.
The only current way to detect it is because the rival does actions that could only be done by looking at the map, which can sometimes be simple coincidence. The question is when in the same game you detect lots of coincidences in such a way that it already exceeds what it would be to be very lucky.
Apart from that it shouldn’t be impossible to make life way harder for map hackers…
Well, we can somewhat assume that the source code’s architecture is not of highest quality as quite often when fixing bug A another bug B is introduced. So map hack being a thing for half a year now and players still being able to adapt to patches kind of fits in the picture.
A good example is CS: GO, whose players started leaving the game because Valve’s anti-hack security started to fail. Later, Valorant offered a better alternative. Hackers and cheaters had flooded CS: GO to the extent that some even made it to pro tournaments.
So where there are big money on the line and a huge playerbase people are wiling to risk.
What i don’t want as a solution is what blizzard did in the past (i don’t know if they do it now) .
Practically with Battle net they put a third party program that runs and scans for suspicious activity on your system. (happened when i played Heartstone and was full of farm bots)
Alot of false positives on that one. Plus it messed with antivirus alot.
Plus it might interfere with privacy laws in Europe.
I’d happily take this bet. Only a junior engineer would make a bet without properly understanding the problem.
It is possible to obfuscate the code and update often but there will be patterns. Well written code will identify and match those patterns so unless they’re functionally changing the signature of the function with each update it won’t matter. It’s just good fundamentals to acknowledge if you send information to a client then you have to accept that it’ll be possible to get that information.
The only sure way to stop maphacking is to never send the full scope of the map to the client which just isn’t feasible considering how responsive you need the client to be.
I know how the software engineering world works, and I bet that they got a backlog full of bugs, features, and other stuff and maphacking is on the “not to do until 2050” priority. Why? Because it doesn’t affect the pro scenario (where the money is), and is not a problem that can be solved by a junior engineer in a few hours.
You know, senior engineers must be doing the real stuff.