SlideShare a Scribd company logo
1 of 19
Download to read offline
Dedicated Game Servers




               Group 14: INFO3229: Fall 2002
                                  Brad Moats
                              Eddie Threewitt
                             Enkomo Dunnon
                             Samah Makhlouf
Introduction:


       Computer games have progressed over the years and have overcome such
technical hurdles as playability and control, that gaming systems such as the X-Box or
PlayStation 2 have always offered. Technology has advanced in computer hardware such
as graphic cards, processors, and memory. Furthermore, high speed Internet access has
become affordable and reliable for general use. These advancements mean that game
servers which support online Internet gaming for players around the world at any time
have become an important selling point for PC games. One obstacle that has always been
present for PC game developers was that they had to compete with traditional console
game systems that allowed people to sit down and play with multiple friends at the same
time. Game servers have gained the technology to allow up to 64 people to play one
game at the same time. The possibilities that online gaming creates is a vast market that
has just begun to be developed. Now a person can log onto a game server at anytime and
play against people from 20 different countries simultaneously.
       The focus of this report will be to concentrate on the servers that provide the
gaming experience on dedicated game servers. We will explain the functions of game
servers and how they interact with online gamers. Another key topic discussed will be
the network setup of typical game servers, and the infrastructure commonly involved in
supporting these networked games. Stabilizing a dedicated game server will include such
topics as bandwidth and ping rates required for a smooth gaming experience.
       We will also contrast between using a Game Server Hosting Provider (GSP)
versus creating your own game server. Packet loss and lag information will be discussed,
as well as how to determine a better route for selecting dedicated game servers while
gaming online.
       The conclusion of this report will summarize the findings and discussions that
will increase your overall game playability. By understanding the obstacles that
dedicated game servers encounter, gamers will be able to eliminate the issues by careful
setup and maintenance of their own dedicated game servers.




                                             2
Research methods:
       The information that has been included in this report has come from researching
software vendors that distribute multiplayer as well as the game service hosting providers
that support gaming online. These resources were located by various search engines such
as google.com and yahoo.com. One of the reasons we chose to use online resources for
this report was the fact that most up-to-date information can be found on the Internet
before it has been published. The focus was set on high capacity online games since
there are many online games that range from simple online games that do not require
installation (such as online chess or poker available through a Web browser), to complex
multiple player games that require the purchase of the game as well as the connection to
the game server.
       Game servers are usually supported by game service hosting providers (GSP), but
techies are a rare breed of individuals who prefer not to be limited by one option of
computing. Many of these topics were located from senior game programmers and
networking sites dedicated to multiplayer game services.


Findings:
What is a dedicated game server?
       A game server is a dedicated server that is designed for only one function: To
play games. It consists of 2 basic components for this to function properly, the server and
client. Game servers must be dedicated because of the workload involved with running a
high capacity online game and the problems that could occur if processing of other
applications crashed the server, dropping 64 gamers playing the game. A simple
network connection can be made to another machine in the same room playing the same
game (such as IPX / LAN), an internetworked connection with twenty or more players
will require a more robust system.




                                             3
“The dedicated game server has a few advantages (benefits) which are as follows
but are not limited to: Full text based chat, Users are pinged to determine latency. This
allows users to find the fastest possible games. Multiple games can be hosted
simultaneously. A buddy list let's you know when your friends are online. In addition to
being very easy to use, it also has a user friendly client interface.” 11 Dedicated game
servers constantly process games and cycle through game maps or levels so that gamers
can experience all types of functions in a game. The common protocol used in game
servers is TCP/IP since an Internet connection must be made to the game server online.11


Setup of a Game Server
   Before you setup a game server, you need to figure out what your options are. These
options include:
   A.)Use the default game server and connect through the current game setup.
   B.) Use of a GSP (Game service hosting provider) to setup a connection to a game
       server.
   C.) Setup your own game server in which you can control and maintain.


A.) Using the Default game server setup:
       After installation of the game that you wish to play is completed, options are then
provided to setup online gaming capabilities. You will be prompted to enter your CD-
KEY and create an account to authenticate your access to the online application that
connects the gamers to game servers. This step of setting up an online account attempts
to deter gamers who download illegal copies of the game software since only one account
can be created per CD-KEY.
       Game fixes, patches, and updates will be provided by game servers that are
contained within the game installation. The game vender selects game servers that are
stable and efficient in transferring the necessary files for connecting to the online servers.
A major factor that you want to consider is the location of the game server that you are




                                              4
requesting files, as that will determine the speed to which you will be able to download
your game files.
          The online application for connecting to game servers will then load and you can
select the game server that you want to connect to. When selecting a game server, look
for one that has the lowest latency (or ping rate). If the server is a dedicated game server
then it is the most certain clue to gamers of a stable gaming environment and will
naturally dictate the number of players that are involved in the game.
B.) GSP (Game Service Hosting Provider):
          GSPs offer services for gamers who wish to rent the game server versus
maintaining their own. The two options that are available are Full and Self-Managed
Dedicated Servers. A full-managed dedicated server is supported by the GSP, but limits
the customization that gamers can perform compared to a self-managed dedicated server.5
          Both options allow storage space up to 1 GB and bandwidth that can be adjusted
to meet your needs. The costs of dedicated servers range from $70 to $300 dollars per
month of usuage.6
C.) Game server setup:
           To setup an efficient game server, dedicated hardware should be setup
exclusively for server use. Since other gamers will be utilizing the game server at all
times, your server should be able to handle the traffic that will be involved in the game.
The memory and storage usage could pose a problem if this is not understood from the
outset.
          Programming the dedicated server for gaming is also involved in creating the
maps, objects, and other options that support the graphic environment. The guidelines
that support the gaming environment must be set in the code so that your control over the
server will allow administrative abilities such as banning someone from the server. If
servers are not administrated, hackers and cheaters will attempt to modify your server.
The online gaming community expects game servers to protect their interests and provide
a fair and secure server for their use.7




                                              5
How do game servers work?
       Game servers are distributed object systems which pass objects that support the
dynamic environment of online gaming. When a gamer connects to a game server,
objects are loaded to the CPU that is used by the gamer. Each gamer is considered an
individual client since different objects are loaded for each gamer as they progress
through the game. “Each client only needs to render a limited portion of the game world
at any one point in time. Consequently, the state of all the game objects that are relevant
to the rendered portion of the simulation must be up-to-date.”8 An example would be a
gamer climbs to the top of a hill and objects are loaded so that the gamer can view the
activities occurring before the gamer.
       Object views are used to manage the object states of the online game, but the
majority of the work is being processed by the CPU that the user is gaming on. Objects
processed by the game server must be immediately distributed to the host gamer so that
masking lag and smoothing the movement of the gamers can be accomplished. The
objects cycle through events which gather necessary objects, distribute the objects, and
then check for changes that occur within the object transfer in the gaming environment.
This cycle is repeated several times following the gamer through the online game and
loading objects to supporting the activities that occur within the game.
       In Figure 1 (below image), you can view the objects passing through the game
server to the gamer (client). Objects are grouped in the object view manager so that
redundancy does not occur since the gaming environment must generate objects
constantly. The relevant objects are then passed through the network to the client.8




                                             6
Figure 1




(Figure 1 image referenced from:
http://www.gamasutra.com/resource_guide/20020916/lambright_01.htm8)


       Data is grouped in objects so that information can be transmitted with ease and so
that the game programmers can address grouped data in objects for updates. Grouped
objects also process faster than other programming techniques. Objects are prioritized to
send the most important objects first and the less important objects next. The objects that
are contained in the object view manager include:
   A.) Visual and display related items
   B.) Game logic
   C.) House keeping items

A.) Visual and display related items:
       The Visual and display items contain objects that support the movements,
positions, and other controls that effect the gamer in every aspect of the online game.
These objects are distributed from the game server creating characters and environments
that the gamer can interact with.
B.) Game logic:
       The Game Logic objects are server based and rarely distributed to the gamers
online. These objects can be distributed to another server if the server is reliable. The




                                             7
rules and guidelines that are included in the structure of the game formulate the game
logic objects.
C.) House keeping items:
       House keeping objects are the pointers or references that create the internal
structure of the game. These objects are not distributed from the game server, but
support updates and changes that are made during the games progress through stages or
levels of the game.8
       The server must keep objects in memory while the gamer is online and the
gamers’ CPU also utilizes a huge amount of memory while playing the game. After the
objects have been pasted and used, many of the object views are recycled after their use.
Thousands of objects are transmitted during the length of the game and many are focused
on the primary use of the gamer. The gamers’ CPU will drop the unnecessary objects
and receive different objects on the next session with the game server. In Figure 2 below,
you can view the objects that are passed in detail as the game objects are processed.

                                                                             Figure 2




                                             8
(Figure 2 image referenced from:
http://www.gamasutra.com/resource_guide/20020916/lambright_02.htm8)


Network setup of a Dedicated server
       When running the dedicated game server from your home, network setup and
security should be considered. Port forwarding is necessary for any application to
communicate with a server behind a firewall. When setting up your network with port
forwarding, you only allow a certain number of ports that are available to connect to the
dedicated server. “A ‘tunnel’ can be created through your firewall so that the computers
on the Internet can communicate to one of the computers on your LAN on a single port.”
In below diagram (Figure 3), port forwarding is using port 23 to communicate to the FTP
server and port 80 to communicate to the web server.9



                                                                         Figure 3




(Figure 3 image referenced from: http://www.homenethelp.com/web/howto/game-behind-
router.asp9 )


       Dedicated game servers can also be operated outside of your network firewall by
using by using DMZ (De-militarized zone). Using a DMZ will bring you firewall
protection down and open your network to possible hacking issues, but the only
unprotected machine would be the server that you set in the DMZ. Port forwarding is
still required for allowing connections to the game server since you must allow ports to




                                            9
connect to your game application. In the diagram below (Figure 4), you can see one IP
address bypasses the router and connects to the web server at port 80. The FTP server on
port 23 is protected by the router’s firewall software. If DMZ is your choose in setting up
a game server, this should be only temporary since protection is not provided.


                                                                          Figure 4




(Figure 4 image referenced from: http://www.homenethelp.com/web/explain/port-
forwarding-dmz.asp10)


What is ping rate?
       When you connect to a server to play an online game, your computer must send
information to that server and get information in return. This information tells the server
what your moves are and the server sends your computer data on what moves the other
gamers have made. The timely receipt of this information is crucial to the moves that
you will make, along with those who are also in the game with you. Unfortunately most
of us do not have a direct connection to the server we use to play online. This situation
requires that the packets of information that are sent to and from a server go through
many different nodes on its way to and from the server. Each time that the packets are
sent to the server, the packets must go from one router to another. These packets are then
processed and rerouted.
       While it takes only a fraction of a second to reroute packets, those fractions add
up. If you are playing a first person shooter like Unreal Tournament a few milliseconds
are the difference between you wining and losing. These milliseconds are measured to
give players what is called ping rate. “A ping is the number of milliseconds (ms) taken
for a packet to travel from your PC to the game server and back again.”1 Once you have




                                            10
an understanding of what ping rate is it is easy to understand how one can get a high ping
rate simply by being routed to a few extra machines. If you log onto your game server
and the usual path from your computer to the server has a high amount of traffic, you
could get routed to a longer path, there by slowing your game play tremendously.
       Another commonly used phrase is latency. Latency is just another word for the
ping rate you get when connecting to a server. “Ping rates of under 200 are considered
excellent….. Over 300 pings and things start to get a little “iffy.”2 Ping rates can reach as
high as 350 for some games, while for others a rate above 100 is considered pointless to
even try to play. Depending on the game you play, your ping rate can have drastically
differing effects on your experience online. If ping rates are higher then other gamers on
the server, the administrator will simply remove the gamer since the high ping rates are
affecting other gamers on the server.


Bandwidth of Servers
       There are several ways to manage bandwidth. By setting application rules per
client by limiting a specific category type of network traffic will use no more than a
specified amount of bandwidth. For example, you might have a rule that limits FTP
traffic to use no more than 6 Mbps and another rule that limits audio traffic to use no
more than 3 Mbps. Another way to mange bandwidth is by setting per user traffic limits
to make sure that the network traffic is shared fairly among all users. The user can still
access what he or she needs. But the flows are smoothed out to a specified level rather
than using the total available capacity in the network. The third way to manage
bandwidth is by applying priority management by defining the relative importance and
priority of different types of traffic. For example, in an academic network where teaching
and research are most important, recreational uses of the network can be allowed
bandwidth when higher priority applications do not need it.13
       A major factor of the capacity of a server is the bandwidth that an individual
server has dedicated for online gaming. A server is required to process and send
information to all players. A server’s ability to instantly send and receive this information




                                             11
is limited by the server itself and by the server’s connection to the Internet. If the server is
part of a busy network, it may have only a small fractional share of the network’s Internet
connection. This limitation in bandwidth results in lag in which a server that seems
playable with four players may not be efficient for twelve or sixteen players. There are
many companies like MPath that are trying to work with game developers to solve this
problem. They do not produce computer games, rather they work with software
designers to try and minimize problems that occur during Internet play.12


Packet Loss
        Though ping rates give a gamer a good idea of the timeliness of their information
exchanges, the fact that one receives information quickly does not guarantee the validity
of the information. High ping rates are one of the problems that online gamers
experience, but another issue that can be even worse is the problem of packet loss. When
information is exchanged from client to server, it is broken into packets. Each of these
packets is sent between multiple routers before it reaches its ultimate destination. While
transmitting from one router to another it is easy for small packets of information to get
lost. The time it takes to travel from one router to another is measured in milliseconds.
The incredible speed at which these packets are sent and received is a trade-off with the
chance that one or two packets may be lost here and there. “… if your computer is
experiencing packet loss it means that you’re not receiving or delivering a steady stream
of packets, analogous to boxes falling of the conveyor belt.”3 The analogy of boxes on a
conveyor belt is incredibly accurate to what happens to packets when they are sent to and
from servers.
         When we send information it moves through the Internet in small packets. The
packets are like breaking a sentence up and sending a person only a few words at a time.
Imagine that you write a sentence, cut the paper up, and pass the information to a friend.
If you passed it one word at a time to a friend, the process would illustrate what happens
when you log onto a game server. If you were to take a few words out of the message,
but the message was still sent in the correct order, it would be possible that the




                                              12
information was received and a good guess of what the missing information was. This is
what most game software is programmed to do before it is sold to gamers who will log
onto game servers to play over the internet. Since packet loss is inevitable during game
play, software designers create programs that help your computer to guess what moves
were lost in the packets your system has not received by the time the set has arrived.
          The major problem with this is that as more packets get lost, the more guess work
your PC must do to keep you up-to-speed during a game. “…larger packet loss makes
the game unplayable and has to be avoided.”4 Client-side prediction is used to try and
keep the game running smooth. The problem one encounters is with packet loss since no
matter how good the predictions of a clients system, without enough information being
received to keep up with actual game play information the guess work is pointless. The
games will still lockup, freeze, or constantly teleport your character from one position to
another. The software that is used helps improve the online gaming experience, but
regardless of the software, if your connection is not good enough to keep up with the
constant information exchange, then you are not going to be able to play competitively
online.


Discussion:

Ping Rate and Lag
          When connecting to a server for a multiplayer game like Tribes or Unreal
Tournament, the first information most gamers look for is a fast connection. The
connection they get to a server will be the single most important factor affecting their
game. If one gets a great deal of lag or latency in the network connection, they will have
problems running their game successfully. The gamer can experience several different
symptoms stemming from too much lag in their connection speed.
          One of the worst problems which anyone who has played online has experienced
is a random pause or freeze in their game. The problem with this freeze is that you are
the only one who is affected. While you character is stuck everyone else is running at
full speed and you are mostly likely going to lose. This can result in missing a target or




                                             13
even losing the game simply because you cannot get information fast enough to react in
time.
        The time that you are frozen is called lag. To combat this problem most game
servers inform users of their ping rates so that they are better prepared before entering a
game. Posting ping rates and even the percentages of packet loss prepares online gamers
for the performance they can expect from the server. While this is informative for
gamers, it does not give them any preferable options to improve their connections. The
only ways to combat lag are: to change servers, play during hours with less traffic on the
server, or play games with client-side prediction. Your connection to the server is
beginning of all the problems that occur. If you receive a good connection, you will have
a good experience. If you are receiving a slow connection, your online gaming will
probably not be a favorable experience.


Capacity of a Server
        Another problem that is constant during online gaming is the lack of available
capacity that a dedicated game server may have. The fact that a game has sold 500,000
copies does not mean that there is enough capacity on the servers that have been set up by
the game developers to handle even half of that number of possible online players at a
given time. The result of this is that when a large number of users attempt to log onto a
dedicated server for a game like Tribes or Unreal Tournament, they get messages like
“server is full”. This is a result of the bandwidth of the server being maxed out by an
already large number of gamers trying to play the online game. One way of combating
this is to create a network of multi-servers. The clients of a game server are actually
connected to more than one server at a time and this keeps the servers from having to do
any pier-to-pier communication. By achieving this connection, the servers can share the
processing work loads and at the same time maintain the necessary frame rates that the
games require.
        A major factor of the capacity of a server is the bandwidth that an individual
server has dedicated for online gaming. Games with 24 to 32 players are going to take up




                                             14
a wide range of bandwidth to process game play. There are many companies like MPath
that are trying to work with game developers to solve this problem. They do not produce
computer games, rather they work with software designers to try and minimize problems
that occur during Internet play. Packet prioritizing and compression are being done by
the server to try and help with the problems that are associated with bandwidth.


Conclusion:
       Advances in communications technologies have led the way for computer gaming
to compete with the traditional video game system. There are various types of PC games
on the market today that have only one selling point, the fact that they have dedicated
servers that support online multiplayer games. Faster connections that are provided with
cable and DSL modems allow for low ping rates which keep online games flowing
smoothly from frame to frame. Client-side prediction is becoming more prevalent in
multiplayer games, which can correct issues with packet loss along and receive lower
ping rates.
       Over this report, we have discussed the different ways to set up a server. We also
covered the problems that arise when dealing with online games and some solutions to
those problems. The object view managers that handle the objects that are passed to the
gamers are also an important point that supports the online gaming environment.
         Setting up an online game is as easy as downloading the software client or
installing the game that you purchased to play online. Once this is completed, options are
then provided to setup online gaming capabilities. As technology moves ahead at a rapid
pace, there are few steps needed to ensure a good time while gaming. In addition of
having the ability to connect to an online game server depends solely on the processing
speed, memory allocation, and the storage that your computer must meet as minimum
requirements. Another issue is the setup and security of your network. In order for any
application to communicate with a server behind a firewall, port forwarding must be
present to create a “tunnel” through the firewall to maintain some level of security.




                                            15
The lower your ping rate the faster your game will commence. It is a basic
indication of how many packets are being sent to and from your computer. Associated
with this would be packet loss, which when you combine both ping rates that are high
and packet loss, it would produce a few results in gaming online.
       If more time and money was allotted for research of dedicated gamer servers, a
setup of a dedicated game server would be completed to determine the most efficient
manner in playing online games. Also, renting a server from a GSP (Game Service
Hosting Provider) would be achieved to view the cost and maintenance associated with
using this server.
       Online gaming becomes more popular each day with game developers releasing
better version of their games and creating new games that function even more efficient
than the previous games. Depending on the game that stimulates your interest, online
gaming can meet the need of any gamer who desires more control or entertainment while
gaming.




                                            16
Bibliography:

1.) “Getting more from broadband 6: Gaming” VNU Business Publications Limited. 11
       November 2002. http://www.pcmag.co.uk/Print/1135257
2.) “Latency? Ping? Lag?”. Checking Ping. 11 November 2002.
       http://www.helosim.com/ping_tutorial.htm
3.) “Packet Loss”. Internet Connection Guide. 21 April 1999. 11 November 2002.
       http://firingsquad.gamers.com/guides/netconect/page3.asp
4.) “Ping an Lag” Quake world for Freshies. 10 August 2002. 8 November 2002.
       http://www.challenge-smackdown.com/qwguide/4lag.html
5.) “Hosting a Dedicated Server”. 10 November 2002.
       http://www.hosting.com/dedicated_whatis.jsp
6.) “Game Daemons: High Performance Servers”. October 2001. 10 November 2002.
       http://www.gamedaemons.net/
7.) “Tribes 2: Dedicated Server Resource Center”. 10 November 2002.
       http://www.t2dedserver.com/commands.html
8.) “Distributing Object State for Networked Games Using Object Views”. 16
       September 2002. 9 November 2002.
       http://www.gamasutra.com/resource_guide/20020916/lambright_01.htm
9.) “Port list for running a game server through a router or firewall”. 10 November 2002.
       http://www.homenethelp.com/web/howto/game-behind-router.asp
10.) “Explain DMZs and Port Forwarding”. 9 November 2002.
       http://www.homenethelp.com/web/explain/port-forwarding-dmz.asp
11.) “Game server defined: EGAMEWARE”. 15 November 2002.
       http://www.egameware.com
12.) “What is Lag”. 14 September 1999. 12 November 2002.
       http://www.gamedev.net/reference/articles/article712.asp
13.) “Understanding the Basics of Traffic Shaping”. 15 November 2002.
       http://cc.uoregon.edu/cnews/winter2002/traffic.html.




                                           17
Executive Summary:
       The scope of this report has been to discuss dedicated game servers along with the
issues that surround the setup and maintenance. A number of key problems that game
servers have to be prepared to deal with are also covered in our report. In the gathering
of information for the report, we used a number of resources including: VNU Business
Publications Limited, Game Daemons, and the Dedicated Resource Center for Tribes: 2.
       PC gaming has become an ever-increasing competitor for traditional game
systems such as Nintendo, Playstation, and now the X-box. The true appeal of the
traditional system is that you could sit down with friends and play with multiple people at
the same time. This has become one of the best selling points for computer games in
recent years. Now that cable modems and DSL have become more wide spread,
multiplayer computer games have become more attractive to people all around the world.
       Most computer games today come with multiplayer software that can be installed
and will connect a user directly to the dedicated server at no extra charge. There are also
several GSP (Game Service Hosting Providers) that will allow you to setup and run your
own server with costs that range from $70 to $300 per month. Security must be
addressed if you decide to set up a server from your home. These issues can be handled
using either port forwarding, or setting up a DMZ (De-militarized zone).
       New protocols and client-side prediction software has decreased both the lag and
packet loss problems that in the past caused major dilemmas for online gaming.
Dedicated game servers are setup with the capacity and bandwidth to handle thousands of
games at the same time. Games themselves are being better engineered to handle the
interpolation of information that may be missed from packet loss. This has led to the
online explosion that we have seen over recent years and has given software designers an
enormous market to promote their products toward.
       The advances in game and communication have created an opportunity for
software developers to capitalize on. The ability to play a game against people anywhere
in the world at anytime is a selling point that should interest anyone who designs
computer games.




                                            18
19

More Related Content

What's hot (14)

Gaming Consoles
Gaming Consoles Gaming Consoles
Gaming Consoles
 
Creating desktop for gaming
Creating desktop for gamingCreating desktop for gaming
Creating desktop for gaming
 
Top 6 Best Prebuilt Gaming PC Under $1000
Top 6 Best Prebuilt Gaming PC Under $1000Top 6 Best Prebuilt Gaming PC Under $1000
Top 6 Best Prebuilt Gaming PC Under $1000
 
Copy of JUNE PRICE LIST (1)
Copy of JUNE PRICE LIST (1)Copy of JUNE PRICE LIST (1)
Copy of JUNE PRICE LIST (1)
 
Playstation 4 final
Playstation 4 finalPlaystation 4 final
Playstation 4 final
 
Cornish
CornishCornish
Cornish
 
Read me
Read meRead me
Read me
 
Hp allinone
Hp allinoneHp allinone
Hp allinone
 
Fit1012 proyect
Fit1012 proyectFit1012 proyect
Fit1012 proyect
 
Catálogo Laptops de ComputerClassImport
Catálogo Laptops de ComputerClassImportCatálogo Laptops de ComputerClassImport
Catálogo Laptops de ComputerClassImport
 
Readme
ReadmeReadme
Readme
 
Windows 10
Windows 10Windows 10
Windows 10
 
10 laptop untuk game termahal 2020
10 laptop untuk game termahal 202010 laptop untuk game termahal 2020
10 laptop untuk game termahal 2020
 
Acer 5745
Acer 5745Acer 5745
Acer 5745
 

Similar to Dedicated Game Servers

Developing and Hosting Game Server on Cloud
Developing and Hosting Game Server on CloudDeveloping and Hosting Game Server on Cloud
Developing and Hosting Game Server on Cloudijtsrd
 
Why are Dedicated Servers better for Gaming?
Why are Dedicated Servers better for Gaming?Why are Dedicated Servers better for Gaming?
Why are Dedicated Servers better for Gaming?HTS Hosting
 
SuperStreamer: Enabling Progressive Content Streaming in a Game Engine
SuperStreamer: Enabling Progressive Content Streaming in a Game EngineSuperStreamer: Enabling Progressive Content Streaming in a Game Engine
SuperStreamer: Enabling Progressive Content Streaming in a Game EngineAnand Bhojan
 
Multiplayer Online Gaming
Multiplayer Online GamingMultiplayer Online Gaming
Multiplayer Online Gamingchetnamistry
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesiFunFactory Inc.
 
Game as a Service (GaaS) : Anytime, Anywhere!
Game as a Service (GaaS) : Anytime, Anywhere!Game as a Service (GaaS) : Anytime, Anywhere!
Game as a Service (GaaS) : Anytime, Anywhere!Sai Natkar
 
Intro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) DesignIntro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) DesignChristopher Mohritz
 
Cloud gaming infrastructure in cloudretro.io
Cloud gaming infrastructure in cloudretro.ioCloud gaming infrastructure in cloudretro.io
Cloud gaming infrastructure in cloudretro.ioTh Nguy?n H?u
 
Mobile Cloud Computing for Games - Gamelet
Mobile Cloud Computing for Games - Gamelet Mobile Cloud Computing for Games - Gamelet
Mobile Cloud Computing for Games - Gamelet Anand Bhojan
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyJames Gwertzman
 
Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]
Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]
Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]Anand Bhojan
 
Introduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & ComponentsIntroduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & ComponentsPouya Pournasir
 
Unit 3 Assignment 1.1 Suggest Appropriate Computer Systems
Unit 3 Assignment 1.1 Suggest Appropriate Computer SystemsUnit 3 Assignment 1.1 Suggest Appropriate Computer Systems
Unit 3 Assignment 1.1 Suggest Appropriate Computer SystemsRenee Reed
 
GameTrader project
GameTrader projectGameTrader project
GameTrader projectjuan_aleman
 
Akshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINALAkshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINALAkshay
 

Similar to Dedicated Game Servers (20)

Developing and Hosting Game Server on Cloud
Developing and Hosting Game Server on CloudDeveloping and Hosting Game Server on Cloud
Developing and Hosting Game Server on Cloud
 
Why are Dedicated Servers better for Gaming?
Why are Dedicated Servers better for Gaming?Why are Dedicated Servers better for Gaming?
Why are Dedicated Servers better for Gaming?
 
SuperStreamer: Enabling Progressive Content Streaming in a Game Engine
SuperStreamer: Enabling Progressive Content Streaming in a Game EngineSuperStreamer: Enabling Progressive Content Streaming in a Game Engine
SuperStreamer: Enabling Progressive Content Streaming in a Game Engine
 
Multiplayer Online Gaming
Multiplayer Online GamingMultiplayer Online Gaming
Multiplayer Online Gaming
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
 
Game as a Service (GaaS) : Anytime, Anywhere!
Game as a Service (GaaS) : Anytime, Anywhere!Game as a Service (GaaS) : Anytime, Anywhere!
Game as a Service (GaaS) : Anytime, Anywhere!
 
Intro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) DesignIntro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) Design
 
Gaming VPN
Gaming VPNGaming VPN
Gaming VPN
 
Les 1 ppt
Les 1 pptLes 1 ppt
Les 1 ppt
 
Les 1 ppt
Les 1 pptLes 1 ppt
Les 1 ppt
 
Cloud gaming infrastructure in cloudretro.io
Cloud gaming infrastructure in cloudretro.ioCloud gaming infrastructure in cloudretro.io
Cloud gaming infrastructure in cloudretro.io
 
Mobile Cloud Computing for Games - Gamelet
Mobile Cloud Computing for Games - Gamelet Mobile Cloud Computing for Games - Gamelet
Mobile Cloud Computing for Games - Gamelet
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
 
Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]
Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]
Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds [Full Text]
 
Introduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & ComponentsIntroduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & Components
 
Unit 3 Assignment 1.1 Suggest Appropriate Computer Systems
Unit 3 Assignment 1.1 Suggest Appropriate Computer SystemsUnit 3 Assignment 1.1 Suggest Appropriate Computer Systems
Unit 3 Assignment 1.1 Suggest Appropriate Computer Systems
 
seminar cg.pptx
seminar cg.pptxseminar cg.pptx
seminar cg.pptx
 
Games CDN
Games CDNGames CDN
Games CDN
 
GameTrader project
GameTrader projectGameTrader project
GameTrader project
 
Akshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINALAkshay-UNIT 20-LO-1,2,3&4-FINAL
Akshay-UNIT 20-LO-1,2,3&4-FINAL
 

More from webhostingguy

Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Frameworkwebhostingguy
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guidewebhostingguy
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3webhostingguy
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serverswebhostingguy
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidationwebhostingguy
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreementwebhostingguy
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...webhostingguy
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...webhostingguy
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructurewebhostingguy
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.pptwebhostingguy
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy webhostingguy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandiserswebhostingguy
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Productswebhostingguy
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mbwebhostingguy
 

More from webhostingguy (20)

File Upload
File UploadFile Upload
File Upload
 
Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Framework
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guide
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web servers
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidation
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreement
 
Notes8
Notes8Notes8
Notes8
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructure
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandisers
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Products
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mb
 
Reseller's Guide
Reseller's GuideReseller's Guide
Reseller's Guide
 

Dedicated Game Servers

  • 1. Dedicated Game Servers Group 14: INFO3229: Fall 2002 Brad Moats Eddie Threewitt Enkomo Dunnon Samah Makhlouf
  • 2. Introduction: Computer games have progressed over the years and have overcome such technical hurdles as playability and control, that gaming systems such as the X-Box or PlayStation 2 have always offered. Technology has advanced in computer hardware such as graphic cards, processors, and memory. Furthermore, high speed Internet access has become affordable and reliable for general use. These advancements mean that game servers which support online Internet gaming for players around the world at any time have become an important selling point for PC games. One obstacle that has always been present for PC game developers was that they had to compete with traditional console game systems that allowed people to sit down and play with multiple friends at the same time. Game servers have gained the technology to allow up to 64 people to play one game at the same time. The possibilities that online gaming creates is a vast market that has just begun to be developed. Now a person can log onto a game server at anytime and play against people from 20 different countries simultaneously. The focus of this report will be to concentrate on the servers that provide the gaming experience on dedicated game servers. We will explain the functions of game servers and how they interact with online gamers. Another key topic discussed will be the network setup of typical game servers, and the infrastructure commonly involved in supporting these networked games. Stabilizing a dedicated game server will include such topics as bandwidth and ping rates required for a smooth gaming experience. We will also contrast between using a Game Server Hosting Provider (GSP) versus creating your own game server. Packet loss and lag information will be discussed, as well as how to determine a better route for selecting dedicated game servers while gaming online. The conclusion of this report will summarize the findings and discussions that will increase your overall game playability. By understanding the obstacles that dedicated game servers encounter, gamers will be able to eliminate the issues by careful setup and maintenance of their own dedicated game servers. 2
  • 3. Research methods: The information that has been included in this report has come from researching software vendors that distribute multiplayer as well as the game service hosting providers that support gaming online. These resources were located by various search engines such as google.com and yahoo.com. One of the reasons we chose to use online resources for this report was the fact that most up-to-date information can be found on the Internet before it has been published. The focus was set on high capacity online games since there are many online games that range from simple online games that do not require installation (such as online chess or poker available through a Web browser), to complex multiple player games that require the purchase of the game as well as the connection to the game server. Game servers are usually supported by game service hosting providers (GSP), but techies are a rare breed of individuals who prefer not to be limited by one option of computing. Many of these topics were located from senior game programmers and networking sites dedicated to multiplayer game services. Findings: What is a dedicated game server? A game server is a dedicated server that is designed for only one function: To play games. It consists of 2 basic components for this to function properly, the server and client. Game servers must be dedicated because of the workload involved with running a high capacity online game and the problems that could occur if processing of other applications crashed the server, dropping 64 gamers playing the game. A simple network connection can be made to another machine in the same room playing the same game (such as IPX / LAN), an internetworked connection with twenty or more players will require a more robust system. 3
  • 4. “The dedicated game server has a few advantages (benefits) which are as follows but are not limited to: Full text based chat, Users are pinged to determine latency. This allows users to find the fastest possible games. Multiple games can be hosted simultaneously. A buddy list let's you know when your friends are online. In addition to being very easy to use, it also has a user friendly client interface.” 11 Dedicated game servers constantly process games and cycle through game maps or levels so that gamers can experience all types of functions in a game. The common protocol used in game servers is TCP/IP since an Internet connection must be made to the game server online.11 Setup of a Game Server Before you setup a game server, you need to figure out what your options are. These options include: A.)Use the default game server and connect through the current game setup. B.) Use of a GSP (Game service hosting provider) to setup a connection to a game server. C.) Setup your own game server in which you can control and maintain. A.) Using the Default game server setup: After installation of the game that you wish to play is completed, options are then provided to setup online gaming capabilities. You will be prompted to enter your CD- KEY and create an account to authenticate your access to the online application that connects the gamers to game servers. This step of setting up an online account attempts to deter gamers who download illegal copies of the game software since only one account can be created per CD-KEY. Game fixes, patches, and updates will be provided by game servers that are contained within the game installation. The game vender selects game servers that are stable and efficient in transferring the necessary files for connecting to the online servers. A major factor that you want to consider is the location of the game server that you are 4
  • 5. requesting files, as that will determine the speed to which you will be able to download your game files. The online application for connecting to game servers will then load and you can select the game server that you want to connect to. When selecting a game server, look for one that has the lowest latency (or ping rate). If the server is a dedicated game server then it is the most certain clue to gamers of a stable gaming environment and will naturally dictate the number of players that are involved in the game. B.) GSP (Game Service Hosting Provider): GSPs offer services for gamers who wish to rent the game server versus maintaining their own. The two options that are available are Full and Self-Managed Dedicated Servers. A full-managed dedicated server is supported by the GSP, but limits the customization that gamers can perform compared to a self-managed dedicated server.5 Both options allow storage space up to 1 GB and bandwidth that can be adjusted to meet your needs. The costs of dedicated servers range from $70 to $300 dollars per month of usuage.6 C.) Game server setup: To setup an efficient game server, dedicated hardware should be setup exclusively for server use. Since other gamers will be utilizing the game server at all times, your server should be able to handle the traffic that will be involved in the game. The memory and storage usage could pose a problem if this is not understood from the outset. Programming the dedicated server for gaming is also involved in creating the maps, objects, and other options that support the graphic environment. The guidelines that support the gaming environment must be set in the code so that your control over the server will allow administrative abilities such as banning someone from the server. If servers are not administrated, hackers and cheaters will attempt to modify your server. The online gaming community expects game servers to protect their interests and provide a fair and secure server for their use.7 5
  • 6. How do game servers work? Game servers are distributed object systems which pass objects that support the dynamic environment of online gaming. When a gamer connects to a game server, objects are loaded to the CPU that is used by the gamer. Each gamer is considered an individual client since different objects are loaded for each gamer as they progress through the game. “Each client only needs to render a limited portion of the game world at any one point in time. Consequently, the state of all the game objects that are relevant to the rendered portion of the simulation must be up-to-date.”8 An example would be a gamer climbs to the top of a hill and objects are loaded so that the gamer can view the activities occurring before the gamer. Object views are used to manage the object states of the online game, but the majority of the work is being processed by the CPU that the user is gaming on. Objects processed by the game server must be immediately distributed to the host gamer so that masking lag and smoothing the movement of the gamers can be accomplished. The objects cycle through events which gather necessary objects, distribute the objects, and then check for changes that occur within the object transfer in the gaming environment. This cycle is repeated several times following the gamer through the online game and loading objects to supporting the activities that occur within the game. In Figure 1 (below image), you can view the objects passing through the game server to the gamer (client). Objects are grouped in the object view manager so that redundancy does not occur since the gaming environment must generate objects constantly. The relevant objects are then passed through the network to the client.8 6
  • 7. Figure 1 (Figure 1 image referenced from: http://www.gamasutra.com/resource_guide/20020916/lambright_01.htm8) Data is grouped in objects so that information can be transmitted with ease and so that the game programmers can address grouped data in objects for updates. Grouped objects also process faster than other programming techniques. Objects are prioritized to send the most important objects first and the less important objects next. The objects that are contained in the object view manager include: A.) Visual and display related items B.) Game logic C.) House keeping items A.) Visual and display related items: The Visual and display items contain objects that support the movements, positions, and other controls that effect the gamer in every aspect of the online game. These objects are distributed from the game server creating characters and environments that the gamer can interact with. B.) Game logic: The Game Logic objects are server based and rarely distributed to the gamers online. These objects can be distributed to another server if the server is reliable. The 7
  • 8. rules and guidelines that are included in the structure of the game formulate the game logic objects. C.) House keeping items: House keeping objects are the pointers or references that create the internal structure of the game. These objects are not distributed from the game server, but support updates and changes that are made during the games progress through stages or levels of the game.8 The server must keep objects in memory while the gamer is online and the gamers’ CPU also utilizes a huge amount of memory while playing the game. After the objects have been pasted and used, many of the object views are recycled after their use. Thousands of objects are transmitted during the length of the game and many are focused on the primary use of the gamer. The gamers’ CPU will drop the unnecessary objects and receive different objects on the next session with the game server. In Figure 2 below, you can view the objects that are passed in detail as the game objects are processed. Figure 2 8
  • 9. (Figure 2 image referenced from: http://www.gamasutra.com/resource_guide/20020916/lambright_02.htm8) Network setup of a Dedicated server When running the dedicated game server from your home, network setup and security should be considered. Port forwarding is necessary for any application to communicate with a server behind a firewall. When setting up your network with port forwarding, you only allow a certain number of ports that are available to connect to the dedicated server. “A ‘tunnel’ can be created through your firewall so that the computers on the Internet can communicate to one of the computers on your LAN on a single port.” In below diagram (Figure 3), port forwarding is using port 23 to communicate to the FTP server and port 80 to communicate to the web server.9 Figure 3 (Figure 3 image referenced from: http://www.homenethelp.com/web/howto/game-behind- router.asp9 ) Dedicated game servers can also be operated outside of your network firewall by using by using DMZ (De-militarized zone). Using a DMZ will bring you firewall protection down and open your network to possible hacking issues, but the only unprotected machine would be the server that you set in the DMZ. Port forwarding is still required for allowing connections to the game server since you must allow ports to 9
  • 10. connect to your game application. In the diagram below (Figure 4), you can see one IP address bypasses the router and connects to the web server at port 80. The FTP server on port 23 is protected by the router’s firewall software. If DMZ is your choose in setting up a game server, this should be only temporary since protection is not provided. Figure 4 (Figure 4 image referenced from: http://www.homenethelp.com/web/explain/port- forwarding-dmz.asp10) What is ping rate? When you connect to a server to play an online game, your computer must send information to that server and get information in return. This information tells the server what your moves are and the server sends your computer data on what moves the other gamers have made. The timely receipt of this information is crucial to the moves that you will make, along with those who are also in the game with you. Unfortunately most of us do not have a direct connection to the server we use to play online. This situation requires that the packets of information that are sent to and from a server go through many different nodes on its way to and from the server. Each time that the packets are sent to the server, the packets must go from one router to another. These packets are then processed and rerouted. While it takes only a fraction of a second to reroute packets, those fractions add up. If you are playing a first person shooter like Unreal Tournament a few milliseconds are the difference between you wining and losing. These milliseconds are measured to give players what is called ping rate. “A ping is the number of milliseconds (ms) taken for a packet to travel from your PC to the game server and back again.”1 Once you have 10
  • 11. an understanding of what ping rate is it is easy to understand how one can get a high ping rate simply by being routed to a few extra machines. If you log onto your game server and the usual path from your computer to the server has a high amount of traffic, you could get routed to a longer path, there by slowing your game play tremendously. Another commonly used phrase is latency. Latency is just another word for the ping rate you get when connecting to a server. “Ping rates of under 200 are considered excellent….. Over 300 pings and things start to get a little “iffy.”2 Ping rates can reach as high as 350 for some games, while for others a rate above 100 is considered pointless to even try to play. Depending on the game you play, your ping rate can have drastically differing effects on your experience online. If ping rates are higher then other gamers on the server, the administrator will simply remove the gamer since the high ping rates are affecting other gamers on the server. Bandwidth of Servers There are several ways to manage bandwidth. By setting application rules per client by limiting a specific category type of network traffic will use no more than a specified amount of bandwidth. For example, you might have a rule that limits FTP traffic to use no more than 6 Mbps and another rule that limits audio traffic to use no more than 3 Mbps. Another way to mange bandwidth is by setting per user traffic limits to make sure that the network traffic is shared fairly among all users. The user can still access what he or she needs. But the flows are smoothed out to a specified level rather than using the total available capacity in the network. The third way to manage bandwidth is by applying priority management by defining the relative importance and priority of different types of traffic. For example, in an academic network where teaching and research are most important, recreational uses of the network can be allowed bandwidth when higher priority applications do not need it.13 A major factor of the capacity of a server is the bandwidth that an individual server has dedicated for online gaming. A server is required to process and send information to all players. A server’s ability to instantly send and receive this information 11
  • 12. is limited by the server itself and by the server’s connection to the Internet. If the server is part of a busy network, it may have only a small fractional share of the network’s Internet connection. This limitation in bandwidth results in lag in which a server that seems playable with four players may not be efficient for twelve or sixteen players. There are many companies like MPath that are trying to work with game developers to solve this problem. They do not produce computer games, rather they work with software designers to try and minimize problems that occur during Internet play.12 Packet Loss Though ping rates give a gamer a good idea of the timeliness of their information exchanges, the fact that one receives information quickly does not guarantee the validity of the information. High ping rates are one of the problems that online gamers experience, but another issue that can be even worse is the problem of packet loss. When information is exchanged from client to server, it is broken into packets. Each of these packets is sent between multiple routers before it reaches its ultimate destination. While transmitting from one router to another it is easy for small packets of information to get lost. The time it takes to travel from one router to another is measured in milliseconds. The incredible speed at which these packets are sent and received is a trade-off with the chance that one or two packets may be lost here and there. “… if your computer is experiencing packet loss it means that you’re not receiving or delivering a steady stream of packets, analogous to boxes falling of the conveyor belt.”3 The analogy of boxes on a conveyor belt is incredibly accurate to what happens to packets when they are sent to and from servers. When we send information it moves through the Internet in small packets. The packets are like breaking a sentence up and sending a person only a few words at a time. Imagine that you write a sentence, cut the paper up, and pass the information to a friend. If you passed it one word at a time to a friend, the process would illustrate what happens when you log onto a game server. If you were to take a few words out of the message, but the message was still sent in the correct order, it would be possible that the 12
  • 13. information was received and a good guess of what the missing information was. This is what most game software is programmed to do before it is sold to gamers who will log onto game servers to play over the internet. Since packet loss is inevitable during game play, software designers create programs that help your computer to guess what moves were lost in the packets your system has not received by the time the set has arrived. The major problem with this is that as more packets get lost, the more guess work your PC must do to keep you up-to-speed during a game. “…larger packet loss makes the game unplayable and has to be avoided.”4 Client-side prediction is used to try and keep the game running smooth. The problem one encounters is with packet loss since no matter how good the predictions of a clients system, without enough information being received to keep up with actual game play information the guess work is pointless. The games will still lockup, freeze, or constantly teleport your character from one position to another. The software that is used helps improve the online gaming experience, but regardless of the software, if your connection is not good enough to keep up with the constant information exchange, then you are not going to be able to play competitively online. Discussion: Ping Rate and Lag When connecting to a server for a multiplayer game like Tribes or Unreal Tournament, the first information most gamers look for is a fast connection. The connection they get to a server will be the single most important factor affecting their game. If one gets a great deal of lag or latency in the network connection, they will have problems running their game successfully. The gamer can experience several different symptoms stemming from too much lag in their connection speed. One of the worst problems which anyone who has played online has experienced is a random pause or freeze in their game. The problem with this freeze is that you are the only one who is affected. While you character is stuck everyone else is running at full speed and you are mostly likely going to lose. This can result in missing a target or 13
  • 14. even losing the game simply because you cannot get information fast enough to react in time. The time that you are frozen is called lag. To combat this problem most game servers inform users of their ping rates so that they are better prepared before entering a game. Posting ping rates and even the percentages of packet loss prepares online gamers for the performance they can expect from the server. While this is informative for gamers, it does not give them any preferable options to improve their connections. The only ways to combat lag are: to change servers, play during hours with less traffic on the server, or play games with client-side prediction. Your connection to the server is beginning of all the problems that occur. If you receive a good connection, you will have a good experience. If you are receiving a slow connection, your online gaming will probably not be a favorable experience. Capacity of a Server Another problem that is constant during online gaming is the lack of available capacity that a dedicated game server may have. The fact that a game has sold 500,000 copies does not mean that there is enough capacity on the servers that have been set up by the game developers to handle even half of that number of possible online players at a given time. The result of this is that when a large number of users attempt to log onto a dedicated server for a game like Tribes or Unreal Tournament, they get messages like “server is full”. This is a result of the bandwidth of the server being maxed out by an already large number of gamers trying to play the online game. One way of combating this is to create a network of multi-servers. The clients of a game server are actually connected to more than one server at a time and this keeps the servers from having to do any pier-to-pier communication. By achieving this connection, the servers can share the processing work loads and at the same time maintain the necessary frame rates that the games require. A major factor of the capacity of a server is the bandwidth that an individual server has dedicated for online gaming. Games with 24 to 32 players are going to take up 14
  • 15. a wide range of bandwidth to process game play. There are many companies like MPath that are trying to work with game developers to solve this problem. They do not produce computer games, rather they work with software designers to try and minimize problems that occur during Internet play. Packet prioritizing and compression are being done by the server to try and help with the problems that are associated with bandwidth. Conclusion: Advances in communications technologies have led the way for computer gaming to compete with the traditional video game system. There are various types of PC games on the market today that have only one selling point, the fact that they have dedicated servers that support online multiplayer games. Faster connections that are provided with cable and DSL modems allow for low ping rates which keep online games flowing smoothly from frame to frame. Client-side prediction is becoming more prevalent in multiplayer games, which can correct issues with packet loss along and receive lower ping rates. Over this report, we have discussed the different ways to set up a server. We also covered the problems that arise when dealing with online games and some solutions to those problems. The object view managers that handle the objects that are passed to the gamers are also an important point that supports the online gaming environment. Setting up an online game is as easy as downloading the software client or installing the game that you purchased to play online. Once this is completed, options are then provided to setup online gaming capabilities. As technology moves ahead at a rapid pace, there are few steps needed to ensure a good time while gaming. In addition of having the ability to connect to an online game server depends solely on the processing speed, memory allocation, and the storage that your computer must meet as minimum requirements. Another issue is the setup and security of your network. In order for any application to communicate with a server behind a firewall, port forwarding must be present to create a “tunnel” through the firewall to maintain some level of security. 15
  • 16. The lower your ping rate the faster your game will commence. It is a basic indication of how many packets are being sent to and from your computer. Associated with this would be packet loss, which when you combine both ping rates that are high and packet loss, it would produce a few results in gaming online. If more time and money was allotted for research of dedicated gamer servers, a setup of a dedicated game server would be completed to determine the most efficient manner in playing online games. Also, renting a server from a GSP (Game Service Hosting Provider) would be achieved to view the cost and maintenance associated with using this server. Online gaming becomes more popular each day with game developers releasing better version of their games and creating new games that function even more efficient than the previous games. Depending on the game that stimulates your interest, online gaming can meet the need of any gamer who desires more control or entertainment while gaming. 16
  • 17. Bibliography: 1.) “Getting more from broadband 6: Gaming” VNU Business Publications Limited. 11 November 2002. http://www.pcmag.co.uk/Print/1135257 2.) “Latency? Ping? Lag?”. Checking Ping. 11 November 2002. http://www.helosim.com/ping_tutorial.htm 3.) “Packet Loss”. Internet Connection Guide. 21 April 1999. 11 November 2002. http://firingsquad.gamers.com/guides/netconect/page3.asp 4.) “Ping an Lag” Quake world for Freshies. 10 August 2002. 8 November 2002. http://www.challenge-smackdown.com/qwguide/4lag.html 5.) “Hosting a Dedicated Server”. 10 November 2002. http://www.hosting.com/dedicated_whatis.jsp 6.) “Game Daemons: High Performance Servers”. October 2001. 10 November 2002. http://www.gamedaemons.net/ 7.) “Tribes 2: Dedicated Server Resource Center”. 10 November 2002. http://www.t2dedserver.com/commands.html 8.) “Distributing Object State for Networked Games Using Object Views”. 16 September 2002. 9 November 2002. http://www.gamasutra.com/resource_guide/20020916/lambright_01.htm 9.) “Port list for running a game server through a router or firewall”. 10 November 2002. http://www.homenethelp.com/web/howto/game-behind-router.asp 10.) “Explain DMZs and Port Forwarding”. 9 November 2002. http://www.homenethelp.com/web/explain/port-forwarding-dmz.asp 11.) “Game server defined: EGAMEWARE”. 15 November 2002. http://www.egameware.com 12.) “What is Lag”. 14 September 1999. 12 November 2002. http://www.gamedev.net/reference/articles/article712.asp 13.) “Understanding the Basics of Traffic Shaping”. 15 November 2002. http://cc.uoregon.edu/cnews/winter2002/traffic.html. 17
  • 18. Executive Summary: The scope of this report has been to discuss dedicated game servers along with the issues that surround the setup and maintenance. A number of key problems that game servers have to be prepared to deal with are also covered in our report. In the gathering of information for the report, we used a number of resources including: VNU Business Publications Limited, Game Daemons, and the Dedicated Resource Center for Tribes: 2. PC gaming has become an ever-increasing competitor for traditional game systems such as Nintendo, Playstation, and now the X-box. The true appeal of the traditional system is that you could sit down with friends and play with multiple people at the same time. This has become one of the best selling points for computer games in recent years. Now that cable modems and DSL have become more wide spread, multiplayer computer games have become more attractive to people all around the world. Most computer games today come with multiplayer software that can be installed and will connect a user directly to the dedicated server at no extra charge. There are also several GSP (Game Service Hosting Providers) that will allow you to setup and run your own server with costs that range from $70 to $300 per month. Security must be addressed if you decide to set up a server from your home. These issues can be handled using either port forwarding, or setting up a DMZ (De-militarized zone). New protocols and client-side prediction software has decreased both the lag and packet loss problems that in the past caused major dilemmas for online gaming. Dedicated game servers are setup with the capacity and bandwidth to handle thousands of games at the same time. Games themselves are being better engineered to handle the interpolation of information that may be missed from packet loss. This has led to the online explosion that we have seen over recent years and has given software designers an enormous market to promote their products toward. The advances in game and communication have created an opportunity for software developers to capitalize on. The ability to play a game against people anywhere in the world at anytime is a selling point that should interest anyone who designs computer games. 18
  • 19. 19