A Geographic Redirection Service For Online Games

1
A Geographic Redirection Service For Online Games http://www.cse.ogi.edu/sysl/ The Motivation: Arrgh! Getting onto a Half-Life game server is so hard! Each online player (and there are 100,000 at any moment) has to: Chris Chambers, Wu-chang Feng, Wu-chi Feng {chambers, wuchang, wuchi}@cse.ogi.edu OGI SCHOOL OF SCIENCE & ENGINEERING OREGON HEALTH & SCIENCE UNIVERSITY Sponsored by IBM 30,000 Game Server s 1. Get a list of servers 2. Poll each of them Popular servers get bombarded: Mshmro refuses around 2000 ppl per day from all over the world Traffic to a Counterstrike server Traffic redirected to closer, emptier servers with better latency (50 regions) 3. Pick a good one to play on Master Server King Small Extensio n CS Redirector plugin HL Server Frequent updates via perl, cron, qstat MySQL 3 System Architecture 1 2 Redirection enabled HL Servers Ordinary HL Servers Server Status DB # regions 7 50 Distance saved 2203 miles 3570 miles Round trip latency saved 19.6ms 72.3ms But there are so many sub-optimal servers to pick from! •60% have too few people, 7% are full •40% are password-protected •People continuously reconnect to popular, full servers rather than all joining an empty server What to do? •Create a central service to manage player server connections •Split the world into regions •Maintain a list of good servers per region •Use a geographic database to turn player IP’s into GPS data •Use King (Gurnmadi, Sariou, Gribble, 2002) to find the best latency between servers and players in a region 1. Player connects to a full server with plugin 2. List of good servers for player’s region is retrieved from the centralized Server Status DB 3. Latency between the player and each of those servers is determined with King 4. Player is sent to lowest-latency server MySQL Small Extension Player Experimental Results HL Server cs.mshmro.com Each experiment consists of approximately 8000 client connection requests Geobytes geographic database used for IP to GPS conversion Latency savings determined using King per connection request Savings per client Debanjan Saha [email protected]

description

Frequent updates via perl, cron, qstat. Popular servers get bombarded: Mshmro refuses around 2000 ppl per day from all over the world. King Small Extension. MySQL. Chris Chambers, Wu-chang Feng, Wu-chi Feng {chambers, wuchang, wuchi}@cse.ogi.edu. Debanjan Saha [email protected]. - PowerPoint PPT Presentation

Transcript of A Geographic Redirection Service For Online Games

Page 1: A Geographic Redirection Service For Online Games

A Geographic Redirection Service For Online Games

http://www.cse.ogi.edu/sysl/

The Motivation: Arrgh! Getting onto a Half-Life game server is so hard! Each online player (and there are 100,000 at any moment) has to:

Chris Chambers, Wu-chang Feng, Wu-chi Feng {chambers, wuchang, wuchi}@cse.ogi.edu

OGI SCHOOL OF SCIENCE & ENGINEERING

OREGON HEALTH & SCIENCE UNIVERSITY

Sponsored by IBM

30,000 Game

Servers

30,000 Game

Servers

1. Get a list of servers

2. Poll each of them

Popular servers get bombarded: Mshmro refuses around 2000 ppl per day from all over the world

Traffic to a Counterstrike server Traffic redirected to closer, emptier servers with better latency (50 regions)

3. Pick a good one to

play on

Master Server

King Small Extension

CS Redirectorplugin

HL Server

Frequent updates via perl, cron, qstat

MySQL

3

System Architecture

1

2

Redirection enabledHL Servers

Ordinary HLServers

Server Status DB

# regions 7 50

Distance saved 2203 miles 3570 miles

Round trip latency saved

19.6ms 72.3ms

But there are so many sub-optimal servers to pick from!•60% have too few people, 7% are full•40% are password-protected•People continuously reconnect to popular, full servers rather than all joining an empty server

What to do?•Create a central service to manage player server connections•Split the world into regions•Maintain a list of good servers per region•Use a geographic database to turn player IP’s into GPS data•Use King (Gurnmadi, Sariou, Gribble, 2002) to find the best latency between servers and players in a region

1. Player connects to a full server with plugin2. List of good servers for player’s region is retrieved from the centralized Server Status DB3. Latency between the player and each of those servers is determined with King4. Player is sent to lowest-latency server

MySQL Small Extension

Player

Experimental ResultsHL Server cs.mshmro.com

Each experiment consists of approximately 8000 client connection requests

Geobytes geographic database used for IP to GPS conversion

Latency savings determined using King per connection request

Savings per client

Debanjan Saha [email protected]