FaeQueenCory said: »
Asura.Ivlilla said: »
Rooks said: »
Asura.Ivlilla said: »
Which... I'd never have designed a client that was so trusted, but I also understand they weren't expecting much in the way of packet injection and other exploits on the PS2.
Don't get too carried away. There's some holes, but I think calling the client "trusted" is a stretch. No calculations of note ever happen client side, for example. There are a number of things that the client doesn't even keep a current copy of unless you ask to display it (like base statistics!).
Well, I guess I should add that the person from whom I was learning to program was extremely into the idea of not letting clients, or userland processes, have any access whatsoever to anything that was not directly mediated by the server or the kernel. Stuff like "the client does not issue orders, it only makes requests", and exists only as a means of displaying output from the server. Security was a huge focus in everything.
You just didn't conceptualize it completely.
The client DOES only have "images" and the server DOES only have "data"... This is why no matter what dat you replace on the client, you will always perform the function as everyone else does on the server.
A way to think about it is that the server is a mirrored client, where all the calculations happen and all the "real data" is stored.
This is why we have to reverse engineer all the formulas and stuff instead of just ripping it, because the hard data is serverside.
(Which is done for many a reason, but in a MMO, the biggest is so that someone doesn't cheat and make a god ability.)
BUT this doesn't dismiss Rooks's idea.
The reader would just have to have selfcontained formulas.
And read the item data (which is duplicated clientside but is actually held serverside. The duplication is for display purposes only, hence why we can rip what it is, but can't change what it is in game outside of visually.).
It would be similar to the excell spreadsheets, one could even use them as a reference for the formulas needed... But would be closer to a model viewer in function of actually reading the dats.
for the pedagogy: how are speedhacks done then? does it change something like deltatime in outgoing packets or something? or are position data actually sent in manipulable form to the client?