Dedicated Game Servers

1,815 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,815
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dedicated Game Servers

  1. 1. Dedicated Game Servers Group 14: INFO3229: Fall 2002 Brad Moats Eddie Threewitt Enkomo Dunnon Samah Makhlouf
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 19

×