Choosing the right hosting location for a game server
5 min read
Choosing the right hosting solution for a game server is an essential step in operating any kind of virtual space. Choosing the wrong option can lead to performance issues, network latency, and overall player dissatisfaction. In this blog, we will discuss how to choose the right solution for hosting, by using analytics, and math to choose the best location for hosting your servers.
How is this different than running other services?
Most services nowadays are designed to work without requiring low latency. File streaming, most web services, and even video streaming are resilient to high ping. (although related attributes such as low packet loss and uplink speed do matter and are associated with low latency). Because of that, when deciding what hardware to run such services on, a service operator can omit some aspects such as latency to clients. CDNs are effective in lowering visible latency, and access to functionality often does not require instant results, giving portal operators a lot of choices.
How does this work for Minecraft?
For Minecraft, the ping has a moderate but important impact. Being a live game, the impact of high latency can be noticed in the way the in-game entities move, in how the virtual world loads, and in the way the anticheat affects them.
Minecraft's ping can be separated in the following 3 categories:
- Very low (anything under 50): With Minecraft having 20 game ticks a second, anything under 50 ping (including server processing latency) will technically not be noticeable. Some aspects such as PvP are influenced due to the way the server queues packets, but this can easily be solved by shuffling the player packets in a way not to give advantages based on ping.
- Low (51-90): Ping between these thresholds doesn't noticeably impact players. While PvP players will notice and get affected by the increased latency, most Minecraft game modes are left unaffected. Additionally, with Minecraft versions starting from 1.9 completely overhauling PvP to no longer benefit from low ping, this makes servers running on these servers almost unaffected by ping under 90.
- Medium (90-200): Ping between 90 and 150 starts to become noticeable, but not in a way to seriously hinder gameplay. As long as latency jitter isn't too high, this is still completely playable for non-pvp game types.
- High (201+): Ping over 151 starts to hinder the players' experience, and is highly visible independent of the server gametype. The world loads slower, mobs may desync, anti-cheats will start to give false positives, and the overall experience will be significantly affected. It's imperative for server owners to choose a location that keeps the majority of the players' ping under this threshold.
Making an informed decision.
When starting a new server, a simple way to estimate where you should host your server is based on the groups of individuals your advertising targets. If you want to for example target German individuals, look for hosting providers in West, Central or Eastern Europe. If you target US players, look for a hosting provider inside NA, ideally in the central US.
For running servers, the toolset that is available to find the optimal location is way larger. Using player IPs, you can estimate their locations and choose a hosting location that has the minimum total distance to all of these points.
How we chose the best location for hosting SurvivalAdventures
- We have collected player IPs from over 200 players. This should give us a pretty clear estimate on where our playerbase is based, and allows us to build a highly accurate model on player sources.
- We have used a geo-location API to transform those IPs to rough locations. While these are not fully accurate, they are enough to be able to get an estimate on where people are coming from.
- We used geomidpoint.com to accurately calculate the midpoint of where our player base is located.
By calculating the point that gives the minimum total distance, we have reached the conclusion that the best location to host is near Sunderland, UK.
How we interpreted the data.
While mathematical data is extremely useful for guiding our decisions, balancing cost, maintenance times, and general availability is important in making the right decision. The data pointed to a location in the central UK being the ideal location for hosting, with any west Europe hosting locations also being extremely good candidates. We have made the following list of potential hosting candidates from that:
- OVH UK (Has a decent offering size, a fair price/performance ratio, but can get really expensive)
- OVH France (Has a really large offering size, a good price/performance ratio, but is farther from our ideal location)
- OVH Germany (Has a good offering size, a decent price/performance ratio, and is in the middle-point of a few internet exchanges, making ping even better for EU customers)
- MyLoc Germany - Has a really good price/performance ratio, but lacks DDoS mitigation and requires additional services to be purchased which in the end drives prices and latency higher.
- Hetzner Germany - Extremely good price/performance ratio, has decent DDoS mitigation potential, is close to internet exchanges, and has a large offering.
Creating a large list of potential candidates is key to choosing the best overall location for you. It's worth it not to omit candidates before a thorough examination of how choosing them will affect your project.
- Depending on your business, other metrics may also be important. Giving customers "importance" based on how critical they are to your business can be a useful metric for companies that have clients that spend asymmetric sums and need to find the ideal location for revenue generation. For Survival Adventures, we deemed this metric to be not important, but depending on business scope, it might be for you.
- Consider biases. The current minimum distance midpoint does not necessarily equate to the best spot to choose your hosting in. Other details such as where you plan to expand and what areas you target may also be important.