Game server

Last updated

A game server (also sometimes referred to as a host) is a server which is the authoritative source of events in a multiplayer video game. The server transmits enough data about its internal state to allow its connected clients to maintain their own accurate version of the game world for display to players. They also receive and process each player's input.

Contents

Types

Dedicated server

Dedicated servers simulate game worlds without supporting direct input or output, except that required for their administration. Players must connect to the server with separate client programs in order to see and interact with the game. [1] [2]

The foremost advantage of dedicated servers is their suitability for hosting in professional data centers, with all of the reliability and performance benefits that entails. Remote hosting also eliminates the low-latency advantage that would otherwise be held by any player who hosts and connects to a server from the same machine or local network. [1]

The cost to operate dedicated servers is sometimes met by a game's developers (particularly on consoles) and sometimes by clan groups, but in either case, the public is reliant on third parties providing servers to connect to. For this reason, most games which use dedicated servers also provide listen server support. [1] Players of these games will oftentimes host servers for the public and their clans, either by hosting a server instance from their own hardware, or by renting from a game server hosting provider.

Components of a dedicated game server

A dedicated game server is essentially similar to any other modern computer in its physical components. They generally use typical server-oriented parts for most of their components except the CPU- motherboards, memory, storage, and so on. Since game server performance is typically limited by a handful of key processes that parallelize poorly, dedicated servers for modern games commonly use high-end consumer CPUs for their very high single-threaded performance, with each machine running a few or even just one instance.

A typical server tower Server tower icon.jpg
A typical server tower

Shared hardware for game servers

Dedicated game servers are often rented from a hosting provider; for less demanding games or those with lower player counts, when single-threaded performance requirements are no longer at the uttermost limits of current technology, a single physical server may host dozens or hundreds of instances. These run on typical compute server hardware, including a manycore CPU and very high memory capacity. In most cases, they are rented out per-instance, with the rates depending on how many CPU cores and how much memory and storage is required for each instance. This allows very affordable rates for clans or private individuals who only need a handful of instances, and allow publishers to scale their server count with their currently-active player count, only paying for the resources they actually need at any given time.

Listen server

Listen servers run in the same process as a game client. They otherwise function like dedicated servers, but typically have the disadvantage of having to communicate with remote players over the residential internet connection of the hosting player. Performance is also reduced by the simple fact that the machine running the server is also generating an output image. Furthermore, listen servers grant anyone playing on them directly a large latency advantage over other players and cease to exist when that player leaves the game. [1] [3]

However, listen servers have the advantage of being essentially free and not requiring any special infrastructure or forward planning to set up, which makes them common at LAN parties where latency and bandwidth issues are not a concern. They are also common in console games.

Host migration

In a listen server arrangement, "host migration" is a useful feature. Without host migration, if the player that is currently hosting disconnects for any reason (quitting, crashing, lost network connection, etc.), the current server stops functioning and gameplay ends. A host migration feature allows one of the other players to become designated as the new host, so that the game can continue.

Peer-to-Peer

In the client/server model outlined elsewhere in this article, clients receive processed data from the server and display it without much thought. In the alternative "peer-to-peer" model there is no server: each "peer" instead receives the raw input streams of each other player and determines the results itself. [4]

Peer-to-peer is generally considered obsolete for action games, but it is still common in the real-time strategy genre due to its suitability for games with large numbers of tokens and small numbers of players. Instead of constantly transmitting the positions of 1000 troops, the game can make a one-off transmission of the fact that 1000 troops are selected and that the player in command of them just issued a move order. [4]

However, peer-to-peer has many disadvantages: [4]

Listen-peer

Multiple listen servers collectively peer amongst themselves for listen-peer setting. This type of setting avoids the disadvantages of peer-to-peer communications among all clients and is a better alternative to dedicated servers for increased number of clients.[ citation needed ]

Tickrate

The rate at which a game server runs simulation steps is commonly referred to as its "tickrate". A "tick" is a number associated with each simulation step which is broadcast to clients to help them synchronise with the server.{9}

There are three reasons to limit the frequency of server simulation steps to a predefined tickrate: to conserve server and client bandwidth, to conserve server CPU time, and to allow clients to be certain of how much time has elapsed between each tick. The last point is important for internet games, as network updates from the server can arrive at different intervals or even an incorrect order. [5]

Customization

Servers, particularly those of PC games, can generally be customized in ways that still allow unaltered clients to connect to them. These customizations can include tweaks to built-in game settings, content that is downloaded by clients when they join the game, [6] and new code which changes the way that the server behaves. [7]

While server customization is popular with server administrators and players, it can be at odds with the desire of developers and other players for the game to be experienced as intended. [8] [9] It can also aggravate players by enabling abusive administrators to lie about what their server offers. [10]

See also

Related Research Articles

A massively multiplayer online role-playing game (MMORPG) is a video game that combines aspects of a role-playing video game and a massively multiplayer online game.

A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system, on different computing systems via a local area network, or via a wide area network, most commonly the Internet. Multiplayer games usually require players to share a single game system or use networking technology to play together over a greater distance; players may compete against one or more human contestants, work cooperatively with a human partner to achieve a common goal, or supervise other players' activity. Due to multiplayer games allowing players to interact with other individuals, they provide an element of social communication absent from single-player games.

A massively multiplayer online game is an online video game with a large number of players to interact in the same online game world. MMOs usually feature a huge, persistent open world, although there are games that differ. These games can be found for most network-capable platforms, including the personal computer, video game console, or smartphones and other mobile devices.

A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible.

<span class="mw-page-title-main">Cheating in online games</span> Practice of subverting video game rules or mechanics to gain an unfair advantage

On online games, cheating subverts the rules or mechanics of the games to gain an unfair advantage over other players, generally with the use of third-party software. What constitutes cheating is dependent on the game in question, its rules, and consensus opinion as to whether a particular activity is considered to be cheating.

<span class="mw-page-title-main">Steam (service)</span> Video game digital distribution service

Steam is a video game digital distribution service and storefront managed by Valve Corporation. It was launched as a software client in September 2003 to provide game updates automatically for Valve's games and expanded to distributing third-party titles in late 2005. Steam offers various features, like game server matchmaking with Valve Anti-Cheat (VAC) measures, social networking, and game streaming services. Steam client's functionality include game update automation, cloud storage for game progress, and community features such as direct messaging, in-game overlay and a virtual collectable marketplace.

<span class="mw-page-title-main">PC game</span> Electronic game played on a personal computer

A personal computer game, also known as a computer game or abbreviated PC game, is a video game played on a personal computer (PC). The term PC game has been popularly used since the 1990s referring specifically to games on "Wintel" which has dominated the computer industry since.

<span class="mw-page-title-main">Diskless node</span> Computer workstation operated without disk drives

A diskless node is a workstation or personal computer without disk drives, which employs network booting to load its operating system from a server.

<span class="mw-page-title-main">Game client</span>

A game client is a network client that connects an individual user to the main game server, used mainly in multiplayer video games. It collects data such as score, player status, position and movement from a single player and send it to the game server, which allows the server to collect each individual's data and show every player in game, whether it is an arena game on a smaller scale or a massive game with thousands of players on the same map. Even though the game server displays each player's information for every player in a game, players still have their own unique perspective from the information collected by the game client, so that every player's perspective of the game is different, even though the world for every player is the same. The game client also allows the information sharing among users. An example would be item exchange in many MMORPG games where a player exchange an item he/she doesn't want for an item he/she wants, the game clients interconnect with each other and allows the sharing of information, in this exchanging items. Since many games requires a centralized space for players to gather and a way for users to exchange their information, many game clients are a hybrid of client-server and peer-to-peer application structures.

In massively multiplayer online games, an instance is a special area, typically a dungeon, that generates a new copy of the location for each group, or for a certain number of players, that enters the area. Instancing, the general term for the use of this technique, addresses several problems encountered by players in the shared spaces of virtual worlds. It is not widely known when instances were first used in this genre. However, The Realm Online (1996) is sometimes credited as introducing the concept.

Cheating in video games involves a video game player using various methods to create an advantage beyond normal gameplay, usually in order to make the game easier. Cheats may be activated from within the game itself, or created by third-party software or hardware. They can also be realized by exploiting software bugs; this may or may not be considered cheating based on whether the bug is considered common knowledge.

Online games are video games played over a computer network. The evolution of these games parallels the evolution of computers and computer networking, with new technologies improving the essential functionality needed for playing video games on a remote server. Many video games have an online component, allowing players to play against or cooperatively with players across a network around the world.

<span class="mw-page-title-main">Collaborative virtual environment</span> Applications of distributed computing

Collaborative virtual environments are used for collaboration and interaction of possibly many participants that may be spread over large distances. Typical examples are distributed simulations, 3D multiplayer games, collaborative engineering software, collaborative learning applications, and others. The applications are usually based on the shared virtual environment. Because of the spreading of participants and the communication latency, some data consistency model have to be used to keep the data consistent.

<i>Blue Mars</i> (video game) 2009 video game

Blue Mars, a 3D massively multiplayer virtual world platform developed by Hawaii-based Avatar Reality, allows 3rd parties to create virtual worlds, MMOG games, simulations, shops, businesses, entertainment venues, clothing, custom avatars, furniture, virtual homes, and other items. It consists of four main parts: the client software, the Sandbox Editor SDK suite, the website, and the host servers. It is often compared to Second Life, since both are virtual social worlds allowing user-created content. According to Jim Sink, CEO of Avatar Reality, "Blue Mars was inspired by a vision of the future when the power to terraform whole worlds is within our grasp. The name Blue Mars represents possibility and hope."

<span class="mw-page-title-main">Emulator</span> System allowing a device to imitate another

In computing, an emulator is hardware or software that enables one computer system to behave like another computer system. An emulator typically enables the host system to run software or use peripheral devices designed for the guest system. Emulation refers to the ability of a computer program in an electronic device to emulate another program or device.

In computers, lag is delay (latency) between the action of the user (input) and the reaction of the server supporting the task, which has to be sent back to the client.

Cloud gaming, sometimes called gaming on demand or game streaming, is a type of online gaming that runs video games on remote servers and streams the game's output directly to a user's device, or more colloquially, playing a game remotely from a cloud. It contrasts with traditional means of gaming, wherein a game is run locally on a user's video game console, personal computer, or mobile device.

In multiplayer video games, matchmaking is the process of connecting players together for online play sessions.

Netcode is a blanket term most commonly used by gamers relating to networking in online games, often referring to synchronization issues between clients and servers. Players often infer "bad netcodes" when they experience lag or when their inputs are dropped. Common causes of such issues include high latency between server and client, packet loss, network congestion, and external factors independent to network quality such as frame rendering time or inconsistent frame rates. Netcodes may be designed to uphold a synchronous and seamless experience between users despite these networking challenges.

<span class="mw-page-title-main">Cross-platform play</span> Ability of players using different video game systems to play with each other simultaneously

In video games with online gaming functionality, also called cross-compatible play, cross-platform play, crossplay, or cross-play describes the ability of players using different video game hardware to play with each other simultaneously. It is commonly applied to the ability for players using a game on a specific video game console to play alongside a player on a different hardware platform such as another console or a computer. A related concept is cross-save, where the player's progress in a game is stored in separate servers, and can be continued in the game but on a different hardware platform.

References

  1. 1 2 3 4 Weilbacher, Michael (March 2012). "Dedicated Servers in Gears of War 3: Scaling to Millions of Players". GDC 2012. GDC Vault.
  2. Bernier, Yahn (2001). "Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization". Valve . Retrieved 17 September 2011.
  3. "Mammoth Dedicated Server Guide | Installation (Computer Programs) | Server (Computing)" . Scribd. Retrieved 16 February 2020.
  4. 1 2 3 Fiedler, Glenn (24 January 2010). "What every programmer needs to know about game networking".
  5. "Source Multiplayer Networking". Valve Developer Community . Retrieved 13 February 2013.
  6. "HTTP Fast Download". Steam Support. Valve . Retrieved 5 May 2012.
  7. "Server Plugins". Valve Developer Community . Valve . Retrieved 5 May 2012.
  8. Bowling, Robert (21 October 2009). "Modern Warfare 2 For PC". Archived from the original on 21 October 2009.
  9. Denton, Jon (4 July 2012). "Battlefield 3: How Fan-Run Servers Are Ruining DICE's Game". Eurogamer.
  10. Walker, Robin (12 March 2009). "And that's what ye git fer toochin that!". Team Fortress 2 Blog. Valve.