7

For an online, multiplayer roleplaying game that should be able to support at least 1000 players per server instance, what sort of architecture should I use? I'd like to use Java or PHP as the server programming language (I know PHP is probably a poor choice). What sort of operating system, and server specs would I need for such a system?

4
  • The big question is how much traffic are you expecting from these 1000 players? Is the software browser based or it's own app? Browser based games usually require more load due to the nature of playing (refreshing the page multiple times per minute). May 27, 2009 at 7:54
  • it would be a browser based java applet. thanks for asking :) May 27, 2009 at 7:57
  • so its unlikely that it would need refreshes May 27, 2009 at 7:57
  • 1
    HTML-based wouldn't need refreshes either. AJAX :-)
    – vartec
    May 27, 2009 at 8:52

2 Answers 2

14

Best known example is EVE Online, which uses Stackless Python. They have written they own server.

Their architecture described:

Generally I recommend reading highscalability.com, specially the real world examples.

3
  • It's worth noting Eve's architecture is somewhat unusual in the MMO world: it has a single persistent world for 300,000+ users. But it's good reading, not the least because the other MMOs don't talk much about how their stuff works.
    – Nelson
    Aug 22, 2009 at 17:28
  • Actually they are providing the illusion of a single persistent world. Individual star systems or clusters of them are handled by each server and when you hit the gates you are passed over to a different server. Basically old school zoneing. Their design is what makes it work since its not a huge bottle neck like other MMOs where 90% of your players are in 10% of your zones but instead the players are spread so each server only handles a few players.
    – Shial
    Aug 24, 2009 at 18:52
  • CCP the developers of EVE have chosen not to shard the world (that is have multple unrelated servers), there is one world (two if you count China) and something you buy in one solar system can be transfered to another trivially. This is opposed to the Everquest or WoW model where each virtual world is independant of others you can not trivially transfer goods or characters between them, generally the shareded model has much lower player counts for any one virtual world - however it can be scaled by adding further virtual worlds. The number of servers the VW runs on is irrelevant. Aug 27, 2009 at 11:58
3

Since you're already doing Java, you might want to take a look at Sun's DarkStar project:

I don't know any commercial games using it (I believe it's still in development).

2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .