[MUD-Dev] MMORPG/MMOG P2P design
Ben.Hoyt at SilverPlatterSoftware.com
Mon Feb 24 16:29:21 New Zealand Daylight Time 2003
From: Felix A. Croes
> How would you actually handle trust? I've checked out your web
> page, but you do no more than posit that such a trust system, once
> it exists, can solve all your problems. Particularly, how do you
> handle the following problems:
> 1) a newbie player, previously unknown to everyone, connects to
> the P2P game and starts playing.
> 2) a hacker, who may or may not have first built up trust
> running automated tasks that follow the rules (perhaps on other
> nodes), does everything to cheat on your node, perhaps moving
> his ill- gotten gains to an unknown other identity, and starts
> over with a new identity as soon as he is evicted. Et cetera.
> 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. 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.
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.
Silver Platter Software
MUD-Dev mailing list
MUD-Dev at kanga.nu
More information about the MUD-Dev