53a38ee354ae1c2e69e864a7d39f468a.ppt
- Количество слайдов: 19
Public Server MMO’s
Public Server MMO l What’s an MMO? – – – Massively Multiplayer Online game Persistent world Success stories l l Lineage World of Warcraft
MMO l MMO problems – – l Huge scalability issues Hosting costs: 20% of subscription revenue Support costs: 20% of subscription revenue Content costs: Unknown but surely large Those are for successful MMO’s – Unsuccessful ones have the cost of failure
Public Server l What’s a public server game? – – Game company distributes the server code Users host the machines themselves Users can modify the server Examples l l l Benefits – – l Half-life, Counter-Strike, Doom Neverwinter Nights User hosting resources are extremely plentiful! User content creation extremely plentiful Drawback – – No subscription model No persistent world
Public Server resources are plentiful 70% of all servers are empty CDF of fullness of Counter-strike servers
Public Server content is plentiful
Our Goal: Public Server MMO l l l Decrease hosting and support costs by not hosting gameplay Decrease development costs by allowing user-generated content Allow for a persistent world with public servers
Basic Architecture l l Public Servers host game play Publisher hosts authentication, billing, loot server Users store persistent data themselves Key challenges – – – Authentication Persistent Content across public servers Trading Items
Public Server MMO Participants Billing Authentication Loot Publisher Public Server Client
Authentication keys l Clients must be able to authenticate themselves to loot server, public servers – – l Loot server must be able to sign loot, as authentic – – l Cli_key_pub, Cli_key_priv Clients keep private key Loot_key_pub, Loot_key_priv Loot server keeps private key Loot server must be able to bind loot to specific players – – Bindi_key_pub , Bindi_key_priv Loot server keeps private keys
Challenge: Persistent Content l Content creation – – – l Content security – – – l Loot is designed by community and approved by publisher Loot is issued according to authenticated player-minutes to servers Servers distribute loot according to game-play Loot is signed to a player and signed to the loot server Public servers and other players check a piece of loot by checking signatures Loot can be stored at the clients Caveat: loot cannot be traded from players
Challenge: Authenticated Time l How are player minutes authenticated? – – l Public servers want minutes Players want minutes Use a periodic Reverse Turing test that fits in with game-play as a mini-game – – Finding objects in a scene Identifying human faces
Challenge: Trading Items l l We would like to relax the “loot cannot be traded” restriction for game-play purposes We don’t want to allow item duping We don’t want to keep an item revocation list Solution: periodic trading window – – – Publisher coordinates a player-wide swap meet or auction During auction, each player’s goods are re-issued Old items are invalidated by changing Loot_key_pub, Loot_key_priv
Trading Illustration Player 1 Mint Item 1 Player 2 Item 3 attributes Signatures bind_key_p 1 bind_key_p 2 Loot_key loot_key Submit items to mint
Trading Illustration Mint Player 1 Player 2 Item 1 Item 2 Item 3 attributes Signatures bind_key_p 1 Loot_key’ attributes Signatures bind_key_p 2 Receive new items loot_key’
Quantifiable elements l l Re-minting all items in the world: # of items vs. time Generating / verifying CAPTCHA’s: # of captcha’s vs. time
Conclusion
scratch l How can we prevent servers from giving players loot for doing nothing – – l We don’t! We do require players to be present at the keys, and we assume they will gravitate towards compelling content Bootstrapping: why go to a new server? – Trickle some loot to a server just for being up
Game Server
53a38ee354ae1c2e69e864a7d39f468a.ppt