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