[MUD-Dev] MMORPG/MMOG P2P design
Caliban Tiresias Darklock
caliban at darklock.com
Thu Feb 27 17:05:26 CET 2003
From: "Felix A. Croes" <felix at dworkin.nl>
> While I don't know the specifics of your game, the system as
> described above would be easy to break, because it depends on a
> distinction between players which may not exist in reality. If I
> can create, through various distinct player identities, a
> situation where both the action performed and the double-checking
> are done by me, I can do whatever I like.
However, if you can't reliably predict who does the double-checking,
it doesn't matter. Imagine this scenario:
For each action, two clients are randomly selected and told to
calculate a result. The two results are compared, and if they match,
the result is used. If they do not match, the result is calculated
by the server, and whichever doesn't match *that* result is the one
in error. If a client is consistently in error, it can be
evicted. By load-balancing the client requests, you can effectively
split the CPU load among all the players, and at any given point in
time you don't know which two clients will be calculating the
results of any given action -- so the only way to reliably cheat
would be to mod every client in the game identically, in which case
everyone would be on equal footing and could be assumed to have
*agreed* on the cheat.
It's not a perfect solution, of course, but it has practical
potential. The problems start to show up when someone distributes a
modified client that will give *his* character an advantage, but we
can also operate under the assumption that the community will police
itself on that matter and blacklist clients that are known to be
unfair.
I think a lot of the attitude toward cheating is dependent on
whether you're cheating the people who run the game, or the people
who play the game.
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list