18 jul. 2022
What is a Game Server? Everything you need to know
What is a game server?
A game server is a computer that acts as a central authority to define the current state of a multiplayer game.
Players send the server updates about what they’re doing in-game — running, jumping, taking or receiving damage, fishing, anything. The server translates those inputs and returns the information back to the players.
So how does the server communicate that in-game “reality”?
The server processes all inputs, settles inconsistencies, and transmits regular updates to players, providing a stream of snapshots of all elements in the game, updating the game state every tick.
Sounds complicated? To explain, we need to cover two key concepts: game state and tickrate.
Game state: the single source of truth
The game state (or “tick”) is a snapshot in time of the properties of every object in the game world.
With lots of players doing things at the same time, often near to each other in-game, a server has to keep track of what happens and when — to make sure everyone’s on the same page.
When the game state is calculated, the server transmits it to each connected player’s device — after this, each player’s game world is refreshed.
And this happens many times each second.
Tickrate: the frequency of game state updates
Tickrate is the number of times an updated game state is calculated and broadcast by a game server to players every second.
The higher the tickrate, the more precise a game simulation is.
If a server sends 64 updates to players each second, it’s referred to as a “64-tick”, or “64 Hz” server (because Hertz, or Hz, is the unit of frequency).
Here’s what that looks like in action:
Visualising a 64-tick server
A server with a tickrate of 64 — every second, the server sends 64 state updates
Visualising a 32-tick server
Compare that with a 32-tick server, which sends updates half as often:
A server with a tickrate of 32 — every second, the server sends 32 state updates
What tickrate means for gamers
When more game states are calculated every second, more movement and action can be accounted for — so a higher tickrate produces a more precise, high-fidelity gaming experience.
That means split-second actions in the game can be factored in — and it can make the difference between life or death in-game — especially in a first-person shooter.
When does tickrate matter?
Not all games need game servers with a high tickrate.
Turn-based games, like Hearthstone, don’t need a high tickrate since the game does not update multiple times a second.
Real-time games like DOTA, Counter-Strike, or Valorant do need higher tickrates to maintain synchronised game states.
Games with real-time action usually feature higher-tickrate servers (64 or 128-tick) for the best gameplay experience.
How does tickrate affect a game server?
As tickrate increases, more processing power and more bandwidth are required.
When you double the tickrate from 32 to 64 ticks, you increase the load on the server, as players send data more frequently, and the server needs to calculate the game state more often.
So to game on a high tick server, the server needs to be fast enough to handle the extra workload.
What type of hardware is in a game server?
Dedicated game servers
A dedicated game server is the most common type of game server.
Under the hood, a dedicated game server is a powerful computer designed to be run 24/7. Like any other computer, it features a motherboard, CPU (processor), RAM (memory for short-term storage), power supply, fans, and a case.
The standard components in a game server
The single most important component in a game server is the CPU, which processes all the data in an online game.
By having a faster CPU, a game server can run more calculations every second — so it can handle higher tickrate gaming workloads.
While processing data is important, a game server is also optimized for high-throughput network connectivity. Because lots of people connect and send data to the server, a game server will typically have a powerful network card (or cards) to support lots of simultaneous connections.
Generally OneQode has four network cards running at 10 gigabits per second on our servers. For some perspective, your home computer probably has a one gigabit per second network card.
Peer-to-Peer game servers
Peer-to-peer game servers are less common — and games that use them have fewer concurrent players in a match (e.g. Super Smash Bros. Ultimate).
In peer-to-peer games, the game assigns one player’s device to also host the match, so that player’s device runs the game server in the background, while the player is also playing on the same device.
Yep — your console can be a game server.
While peer-to-peer games are cheaper for the developers (as they don’t have to buy dedicated servers), it usually isn’t great for players.
Running both the game client and game server at the same time can be taxing on the device — and all the players in the game are at the mercy of the “host” player’s internet connection. If the host’s connection is poor, everyone in the game suffers.
Peer-to-peer game servers can’t handle a large number of players because they’re limited by the connection quality, not built for handling lots of connections at once, and can’t focus all their power on hosting the game.
No matter the kind of server, it probably won’t run on one of these.
Where are game servers located?
Most dedicated servers are in data centres
Dedicated servers are usually located in purpose-built data centres in major cities, designed for 24/7 uptime and operation.
Data centres have built-in cooling systems (to keep hardware running optimally), insanely-fast internet connectivity, and most have two separate power sources to ensure round-the-clock availability.
For gaming, where connection quality is critical, data centres are the best place for game servers.
A row of server racks in a data centre
Other servers are in people’s homes
Some people host their own dedicated game servers at home, although this isn’t a recommended approach.
People who do this need to organise a good quality internet connection with large upload and download speeds, as well as backup power and cooling.
And lastly, peer-to-peer game servers run on the hosting player’s game console or device — so these can be anywhere — usually in their house.
How are game servers set up?
To set up a game server, a server needs to have the game’s “server binary” installed.
This is the specialised software that runs the game world, keeps track of in-game actions and object properties, and controls the calculation of the game state in real-time.
Players run a separate “client” version of the multiplayer game that sends information to (and receives information from) the game server.
For many games, the developer organise servers
Many of the most popular multiplayer games like Fortnite, Valorant, Overwatch, and Apex Legends have servers that are set up by the game developer — and they don’t release the server binaries.
So you can’t host your own game server for games like this.
Why don’t they release server binaries? There are a range of reasons, including:
Privacy
keeping server binaries private can stop cheating or game modificationQuality control
managing servers and server hardware in-house means it’s set up exactly how they want itEase of update
when the developer updates the server software, they can quickly roll the update out
The downside of this is that if the developer decides to shut down the servers or stop working on the game, the multiplayer community dies with it.
For some games, you can host your own servers
Some developers release the server binary for their games, which often leads to the game having a much longer life span.
Games that let you host your own servers include:
Minecraft
Team Fortress 2
Counter-Strike: Global Offensive (CS:GO)
Valheim
ARK: Survival Evolved
To set up a server, there are two ways to do it:
Option #1: Manually set up your own server
To do this, you’ll need some technical capability, preferably experience with Linux. And you’ll need access to a server.
The easiest way to set up a game server is to use a game server management tool like:
LinuxGSM
Free, open-source command-line application supporting 125+ gamesPterodactyl
Free, open-source server management panel supporting 46+ games.TCAdmin
Paid server management panel supporting 86+ gamesSteamCMD
Command-line application for Steam-based game servers. The above tools use this for Steam games.
Option #2: Using a game server hosting provider
If you don’t want to handle the technical setup, you can purchase ready-to-go servers from a game server hosting provider — and there are loads to choose from.
One example of a game hosting provider is PacificES, which we recently acquired. They offer superfast 128-tick CS:GO servers for less than a dollar a day.
Well, that was an introductory guide.
Want to learn more?
There’s some brilliant thinking that goes on behind the scenes with multiplayer games.
How does a server make sure everyone’s on the same page? How do developers make games feel less laggy?
Now we’re in the territory of netcode and game networking.
If you’re interested to read more about how game developers solve these challenges, check out these excellent article series:
Be advised: the rabbit hole is deep.
🕳🐇