[MUD-Dev] MMORPG/MMOG P2P design

Felix A. Croes felix at dworkin.nl
Wed Feb 26 19:01:08 New Zealand Daylight Time 2003

"Ben Hoyt" <Ben.Hoyt at SilverPlatterSoftware.com> wrote:
> From: Felix A. Croes

>>   3) a hacker does everything he can to get <your> node evicted
>>   from the P2P game.

> The key in a P2P MMOG system is to assume that you can't trust any
> of the peers.  It is possible, however, to design a system in
> which you can trust the results of execution that is done by the
> peers as a group, without trusting the individual peers
> themselves.

> Basically, you make sure that no individual player at any given
> time has enough authoritative control that they could arbitrarily
> alter the game world.  In other words, the players are constantly
> double-checking each other.  Additionally, no player is ever
> responsible for executing game data that is pertinent to his own
> game experience.  Thus, in our system, you can trust players you
> don't know and you can allow players that you explicitly don't
> trust, to play the game.

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.

> This basic paradigm allows you to answer your questions 1 and 2.
> I'm not really sure what you're getting at with #3.  Please
> elaborate.

#3 may not apply to your game.  Crosbie Fitch described a system in
which a cheating player would be evicted.  Thus, if I can make it
seem that you are cheating -- for example, by falsifying my
double-check -- I could get you evicted from the game.

> Of course, our system isn't 100% p2p, either.  It's a hybrid, with
> a small centralized component, which enables you to do a LOT in
> the way of authentication, login, establishing trust, tracking
> player resources/behavior, auditing/managing the system.  In the
> end, establishing trust in a hybrid system is really quite doable.

Would you be willing to describe your trust model in detail?  I am
very interested.

Felix Croes

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list