So wait their a way to make the performance in PVP even worst then it is now.Thank you for telling me I always been interested in this type of stuff.Well what do you think ZOs can do to stop this from happening again without making performance worse.
anti hack engine is something like a wrapper on top of ESO which we do not have right now.
I am writing this to let all the non technical people know about those facts so that we can make more constructive posts instead of just saying ZOS should ban all those people, fix those bugs tmr ect.
Fact 1: Why this is possible to do with ESO?
ESO used something I call client trust model. What this means is that ESO client does most of the calculation and sends the result back to server. The server then accepts the result with little or no validation.
An example flow of client trust (not necessary how ESO does it)
Client :
1. Player pressed ultimate key
2. Validate if player has enough ultimate point to cast it
3. if player has enough then decrement ultimate point, if not then do nothing
4. tell server player casted ultimate
Server:
1. received player cast ultimate request
2. broadcast to all players that player A has casted ultimate
so what would happen if someone modified the ESO client and removed step 2, 3 on client side?
An example flow of Server trust
Client :
1. Player pressed ultimate key
2. Validate if player has enough ultimate point to cast it
3. if not then do nothing
4. tell server player wants to cast ultimate
Server:
1. received player cast ultimate request
2. validate if player has enough ultimate point to cast it. If not then do nothing.
3. decrement ultimate point for player A and broadcast to all players that player A has casted ultimate
so what if we remove step 2, 3 on client side this time? step 2 on server side will say no because the server has all the information and it can validate if the action is valid
Fact 2: How can it be fixed completely?
Use Server trust implementation. But this would require complete rework of the game code as well as makes server load a lot heavier.
Fact 3: Why is client trust model used instead of server trust?
If server trust is used it means the server will be required to do most of the calculation that the clients are doing right now. Meaning that it should expect at least X times (X is the number of players playing the game) heavier loads. So what used to be 10s lag in PVP you could expect that to multiply by X if they use existing server without upgrade.
Fact 4: Could ZoS just simply detect those people and ban them all?
I will put it simple.. It is hard. Feel free to take a look at maple story which uses similar model. Maple story even used 3 layers of anti-hack engine and still......
Fact 5: What exploits/hacks are possible with ESO?
Anything you saw in Maple story could theoretically be seen in ESO. Examples: god mode, damage modification, infinite resources, god speed, global skill, global gathering, global teleporting ect
Fact 6: What is a potential solution?
Guard ESO with anti hack engine will increase the difficulty of hacking it (not completely prevent but harder to do!) . But at the same time performance will suffer...
So wait their a way to make the performance in PVP even worst then it is now.Thank you for telling me I always been interested in this type of stuff.Well what do you think ZOs can do to stop this from happening again without making performance worse.
Lol I was thinking this but didn't really want to say anything.
so you say eso is dead since there is no fix without ruin the game performance which is already sucky ?
Fact 2: How can it be fixed completely?
Use Server trust implementation. But this would require complete rework of the game code as well as makes server load a lot heavier.
Now I know this one they did the opposite and did client side trust checks.It took a lot of work but it moved things away from the server which had PVP working fine to client side.
I thought that's what they did in 1.3 or something to prevent the item dupes and other exploitts after launch? That's why PvP performance went into the toilet.
-> Gamemasters ONLINE !!!
-> Gamemasters ONLINE !!!
-> Gamemasters ONLINE !!!
so you say eso is dead since there is no fix without ruin the game performance which is already sucky ?
I think they do quite a few client checks... well they should do at least...
But unless Zeni gets it's lil' hands on the actual trainer that allows people to do that, close to nothing can be done
They just need a client side process watching for modifications to ESO's core game files & DLL's. Difference in performance would be miniscule if implemented properly.
depends how you define dead.
Speaking as a programmer with experience in reverse engineering security... this will never work.
If I were the engineer designing this, what I'd do is to trust the client, but have a separate server-side watchdog that audits what the client does and see if the client's calculations actually agree with what the calculations that the server would've made if the server was doing full validation. And by separate, I mean it's not handled by the actual game server but by a separate server, working alongside the main server.
The key difference between this and a full server-validation system is that this doesn't have to be real-time and so it won't affect server performance. If the client sends bogus data, the game server will act on it, but the watchdog will, at a later point in time (a few seconds later), detect an abnormality and flag/boot the client. So you can get one errant meteor or whatever off, but it'll result in you being booted off the server a few seconds later.
You can either prevent cheats by making it impossible to send any bogus data, which requires full game server validation, which takes a severe performance hit. Or you can make prevent cheats by making it futile to send bogus data more than once, which can be done in parallel and not in real-time.
I don't know a whole lot about programming, but I'd have thought about a similar solution as well ... but I just tell to myself "nah, it can't be that simple, or else they would have already done it".
So what are the reasons this isn't done by all online games?
Fact 3: Why is client trust model used instead of server trust?
If server trust is used it means the server will be required to do most of the calculation that the clients are doing right now. Meaning that it should expect at least X times (X is the number of players playing the game) heavier loads. So what used to be 10s lag in PVP you could expect that to multiply by X if they use existing server without upgrade.
But that's not how the hacks are done. None of the game files are modified.They just need a client side process watching for modifications to ESO's core game files & DLL's. Difference in performance would be miniscule if implemented properly.
Why is client trust model used instead of server trust?
Because when they had that meeting where some kid "programmer" said:
"Hey, i have an idea! Why don't we ignore what everyone else has already figured out and use client side trusted decisions so we don't have to write good server code! I mean, "Never trust the client" is soooo '90s ..."
Nobody stood up and told the kid: "Are you insane?"
If they had implemented a server based system using UDP for transport, optimizing the data packets for throughput and used client side prediction combined with server side prediction and server side decision (!) the game could easily support hundreds of players in the same spot without lag and most importantly, without cheating.