Massively multiplayer online game servers
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Massively Multiplayer Online Game Servers PowerPoint PPT Presentation


  • 72 Views
  • Uploaded on
  • Presentation posted in: General

Massively Multiplayer Online Game Servers. Analysing the needs of an Erlang/OTP Virtual World Distributed Server Erlang User Conference, Stockholm, Sweden November 10, 2005. Michał Ślaski [email protected] Contents. Massively Multiplayer Online Game Market Challenges Prototyping

Download Presentation

Massively Multiplayer Online Game Servers

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Massively multiplayer online game servers

Massively Multiplayer Online Game Servers

Analysing the needs of an Erlang/OTPVirtual World Distributed ServerErlang User Conference, Stockholm, SwedenNovember 10, 2005

Michał Ślaski

[email protected]


Contents

Contents

  • Massively Multiplayer Online Game Market

  • Challenges

  • Prototyping

    • Using Erlang/OTP

    • Client and Server Applications

  • Benchmarking and Stress Testing

  • Software and Hardware Architecture

    • Network and Server Nodes

  • Synchronisation of the Game State

  • Conclusions


Massively multiplayer online game market

Massively Multiplayer Online Game Market

  • Significant increase of active subscribers

  • Very fast growing market

Source: MMOGCHART.COM

Source: IGDA, "2004 Persistent Worlds White Paper"


Challenges

Challenges

  • Large quantities of data to process in real time

  • Frequent synchronisation between clients

    • Acceptable delays of 150 - 500 ms

  • Adaptation to the Client – Server connectivity

    • Server response times

    • Network latency

  • Stress testing in the early development stages

    • Limited opportunities for load testing with real players


Prototyping

Prototyping

Make mistakes on a

small scale, not in a

production project.

Mike Williams

It’s not good enough

to have ideas - you must also

be able to implement them to

know that they work

Mike Williams

  • Experimenting with functional and technical aspects

  • Determining the scalability of the architecture

  • Testing new solutions


Prototyping using erlang otp

Prototyping : Using Erlang/OTP

  • Open Source, excellent libraries

    • Mnesia

    • IDX-Tsunami

  • OS and hardware independent

  • Concurrency oriented programming

    • one process for every connected player

  • Efficient internal communication

  • Support for distributed applications


Prototyping client application

Prototyping : Client Application

  • Java + Java3D

  • Actions

    • moving

    • collecting objects

    • magic

    • chatting

  • Player stateskept on the server


Prototyping server application

Prototyping : Server Application

  • Server distributed on a cluster of machines

  • The game terrain is divided into zones

  • Players placed within the same zone are processed on the same node


Benchmarking and stress testing

Benchmarking and Stress Testing

  • Increase the number of players to overload the server

  • Each player runs a transaction every two seconds

  • Tests on a 600MHz Celeron processor with 128 MB of RAM

The server was overloaded in the 60th second of the test


Software and hardware architecture

Software and Hardware Architecture

  • Every machine is running network traffic and user actions


Software and hardware architecture1

Software and Hardware Architecture

  • Separate machines running network traffic & user actions


Synchronisation of the game state

Synchronisation of the Game State

  • Players see inconsistent states in relation to the server


Synchronisation of the game state1

Synchronisation of the Game State

  • When the Server is not overloaded almost all actions are successful

    • Players see lessinconsistenciesin relation tothe server


Synchronisation of the game state2

Synchronisation of the Game State

  • When the Server is overloaded more actions fail

    • Players seeinconsistentstates inrelation to the server


Conclusions

Conclusions

  • Erlang/OTP is excellent for MMOG systems

    • Distribution

    • Libraries

    • Powerful open source tools

  • Rapid development of the prototype allows

    • Evaluation of different algorithms

    • Evaluation of hardware configurations

    • All in a relatively short period of time

  • Future work

    • Algorithms not dependent on the player’s position

    • Refactor and fine-tune Mnesia and distribution algorithms

    • Bring to market in the real world


Questions

Questions ?


Contents1

Contents

  • Massively Multiplayer Online Game Market

  • Challenges

  • Prototyping

    • Using Erlang/OTP

    • Client and Server Applications

  • Benchmarking and Stress Testing

  • Software and Hardware Architecture

    • Network and Server Nodes

  • Synchronisation of the Game State

  • Conclusions


  • Login