P2P design for MMOG's

Started by
36 comments, last by Myolp 20 years, 9 months ago
I am currently writing my master thesis in computer science and is focusing on the networking issues in MMOG. The common solution for these games today are huge server clusters and expensive dedicated backbones, in order to support a large number of players. When designing any other type of system one would probably consider alternative solutions. But since this type of game must sustain a high accountability in order to prevent players from cheating, we are left with fewer options. The best design for a MMOG would be a P2P solution where we could maintain trust for every peer. But P2P is fundamentaly vulnerable to cheating players. It is very difficuly to verify that each peer is performing only legal actions. This is the problem I''m focusing on. My question to You are; are there any previous work published on this topic and where might I find it? I''m also interrested in any ideas and suggestions you might have.
Advertisement
> ...are there any previous work published on this topic

This site along with a few others like ''Gamasutra'', ''FlipCode'' and Game Developper Magazine (GDMag.com) contain the bulk of the art & science of MMORG; you probably won''t find anything in your university''s citation indexes. There are a few good books on MMORG centered on the programming side (lookup ''Andre LaMothe'' game development series) and on the business/production side (lookup ''Francois-Dominic Laramee''). You could find some related techniques in banking systems (for the transactional processing) and simulation (for running the gaming worlds). Interestingly, gaming ''science'' is the only discipline I know of where academia is playing catch-up with what''s out there...

If you need a global view of where things are going with immersive environments in general for a thesis chapter, you can look up the works of ''Jaron Lanier'', a guru in 3D network avatars and VR development. Make yourself comfy with dim lights, perfume candles, tibetan music and grass puffs when reading his works... |8-}

-cb
Hi,

to get an oversight of the university papers and other sources of all kind go to the NEC Research Institute :

http://citeseer.nj.nec.com/cs

and search for "massive multiplayer network"...

The hits I got :

A Review on Networking and Multiplayer Computer Games

Aspects of Networking in Multiplayer Computer Games

Have fun,
Metron

[edit]links[/edit]

[edited by - Metron on May 26, 2003 3:39:06 AM]
----------------------------------------http://www.sidema.be----------------------------------------
did you get any "this would be wayyyy to hard feedback"? ...

well, the only way I think p2p works is trusting clients, which as you already said you cant afford to do, so ....

I mean, if you can run it on your computer and send the results back then you can hack it ... (that is probably the way hackers think, and they are right! ) ... I have a few minutes thinking on this, but what I think so far is a really really high level comment: you would need to "trick" the thing, make the whole system so dynamic that it would take soooooo much time to hack and you would impact the world in a soooooooo small way that the hackers would end feeling discouraged ... I will keep thinking on it ...

By the way, I would really like to speak with you (well, chat in fact), if you want we can have some conversations trough messenger ...

EDIT: I forgot to say, that I am a computer engineering student (pretty much like computer science), I finish in August tough ...

[edited by - eglasius on May 28, 2003 4:50:23 PM]
Eglasius - I can see how the power flows within you, open your eyes and live in a new world.
I too am doing a MMOG system as my final year project while reading for a Computer Science degree. (it seems a popular topic nowadays)

The area I'm particulary looking at is game security in Hybrid (C2S and P2P) networks. I'm using a mix of encryption and predictable controllers to try and make my system (mostly P2P) as secure as possible.

As eglasius said, if you want to get together and talk about it. Would be great.

[edited by - DragonWolf on May 29, 2003 7:59:08 AM]
This has been dicussed quite a few times here. Most people would say that it can''t be done. If the Platform you were targetting was a closed system, then it maybe possible to protect the system, but if your target platform is a PC its just not possible.

Another thing to consider is that the game''s bandwidth use will become an issue as well, even with a 2Mb ADSL connection you still only get 256kb upstream. Plus contention ratios means this is only a burst figure.

Also, you''ll have problems with poeple having firewalls/NATs/etc.
I haven''t touched it in about a year, but here''s the piece I wrote on the topic,

http://www.abc.se/~m10383/Haven/Highlights_Technical/P2P.html

It''s really about P2P downloads for media in (online) games, not actually running the game as a P2P application. I also submitted the initial revision to the MUD-dev mailing list and got some replies there - the list archives are at http://www.kanga.nu/archives/MUD-Dev-L/2002Q1/msg00556.php

If nothing else, there''s a bunch of links at the end of the page (like the rest of it, not updated in over a year I think).

Hope that''s of some use.


(My projects and ramblings...)
quote:Original post by Ixpah
This has been dicussed quite a few times here. Most people would say that it can''t be done. If the Platform you were targetting was a closed system, then it maybe possible to protect the system, but if your target platform is a PC its just not possible.


Some people would, but some knowledgeable people wouldn''t. It''s true that you can''t trust the clients, but it is possible to build a P2P game system if you can trust at least one of the clients.

All you have to do is duplicate the logic - you set each member of the P2P session to simulate _two_ sets of player actions, their own and their ''suspect.''

If the suspect''s reported actions and the ''police'' simulation of the reported actions diverge enough, you flag a cheat and notify everyone in the session to take whatever action (boot the player or whatever.)

It''s single player cheating/copy protection hacking you can''t stop - multiplayer games are protectable, I think.

quote:Original post by CheeseGrater
Some people would, but some knowledgeable people wouldn't. It's true that you can't trust the clients, but it is possible to build a P2P game system if you can trust at least one of the clients.

All you have to do is duplicate the logic - you set each member of the P2P session to simulate _two_ sets of player actions, their own and their 'suspect.'

If the suspect's reported actions and the 'police' simulation of the reported actions diverge enough, you flag a cheat and notify everyone in the session to take whatever action (boot the player or whatever.)

It's single player cheating/copy protection hacking you can't stop - multiplayer games are protectable, I think.



Interesting idea, but that would recquire everyone to have ALL data of the game on their computer, all player stats, items, and so on.

Another problem: how would you update the game world or keep track of it if no one is currently playing ? There will be synchronisation problems. A central server is NECESSARY.

That's why a pure P2P solution is definately not doable for a MMORPG.


[edited by - Cahaan on May 29, 2003 11:13:53 AM]
Darkhaven Beta-test stage coming soon.
quote:Original post by Cahaan
Interesting idea, but that would recquire everyone to have ALL data of the game on their computer, all player stats, items, and so on.


No, not really, just a few of the ones in the ''neighborhood'' of the player. Think of a network of interconnected P2P sessions. And you could grab game information from other peers if you have an easy authentication system - for instance, PGP signing would work well. That would provide a nice way to spread patches into the network, too - just set up your company owned peers with them and start seeding the network.

quote:
Another problem: how would you update the game world or keep track of it if no one is currently playing ? There will be synchronisation problems. A central server is NECESSARY.


Not as such. You just need a peer running all the time (or maybe one per zone, depending on how you set up.) There''s no real requirement that they be special servers or located at any particular network location, so long as there''s a matchmaking service running somewhere.

quote:
That''s why a pure P2P solution is definately not doable for a MMORPG.


We''re talking about MM games in general, not the specific RPG case. Obviously, if you want to extend the model to handle persistent worlds and stats you''ve got more work in store. I suspect you would need privledged servers for updating that info, but not all massively multiplayer games will need that.

Besides, you can keep transactions with the special servers to a minimum by giving clients PGP signed player sheets/inventories and such - everyone won''t need to ping the same server to find out if player X is really a 97th level ranger.

This topic is closed to new replies.

Advertisement