Hello CubeCrafters,
In this Behind the Cube, we will be exploring how our regions work behind the scenes, and the struggles that there are to actually be able to incorporate regions into our servers.
Overview
One of the goals we have with CubeCraft is to ensure the best experience for all players, no matter where you are in the world. This means that we need to ensure we have multiple countries with our servers in them, due to how the internet works - like a road network, the further away you are from your destination, the longer it takes to get there. This is called latency (or, more commonly, ping) and is easily measurable. You will have seen it in-game via the "green bars" you see on the server lists or tab list. Lower latency means the gameplay is smoother, less jittery and overall more satisfying for players.
On the surface, it seems simple to take servers and just put them in new regions. However, when you grow to the size of CubeCraft, you start relying on dozens of systems, some of which can easily be taken and moved, others which cannot You can imagine that it becomes tricky and cumbersome to do it whilst maintaining all features on the network, and more often than not requires a re-write of several core systems.
As a company, we have managed to overcome these challenges and we now have three regions around the world: our European region in Northern France, our North American region near Montreal in Canada, and our Asia region in Singapore.
Each region is connected to the other two regions with private transatlantic and transpacific cables from our datacenter provider - these provide a stable connection between the region which we extensively use to make cross-region gameplay possible as well as for data replication and many other tasks that require connecting between regions.
Here's a simple map that shows the way our locations are interconnected around the world:
Server Routing
As you may know, whenever you connect to CubeCraft, we try to send you to the best region for when you are connecting from, without you having to use a region-specific IP. We do this through something called DNS - the Domain Name System, which is responsible for making sure when you type “google.com” into your browser, you get sent to Google.
You might have noticed that our solution sometimes got things wrong, and you’re right. We originally were maintaining a list of countries and continents, then mapping them to what region they should be sent to manually. This wasn’t always the best as it required us to keep the list up to date and regularly issue changes when we noticed players weren’t being sent to the right places.
We’ve since changed to doing it via something called geoproximity - we use software to generate a map of all our regions and the countries that should connect to it, and then send you to the region you match up with on that map. Since we’ve moved to this system, we’ve noticed that significantly more players have ended up in the right place, and so we’ve decided to stick with this methodology of routing players for now.
In this Behind the Cube, we will be exploring how our regions work behind the scenes, and the struggles that there are to actually be able to incorporate regions into our servers.

One of the goals we have with CubeCraft is to ensure the best experience for all players, no matter where you are in the world. This means that we need to ensure we have multiple countries with our servers in them, due to how the internet works - like a road network, the further away you are from your destination, the longer it takes to get there. This is called latency (or, more commonly, ping) and is easily measurable. You will have seen it in-game via the "green bars" you see on the server lists or tab list. Lower latency means the gameplay is smoother, less jittery and overall more satisfying for players.
On the surface, it seems simple to take servers and just put them in new regions. However, when you grow to the size of CubeCraft, you start relying on dozens of systems, some of which can easily be taken and moved, others which cannot You can imagine that it becomes tricky and cumbersome to do it whilst maintaining all features on the network, and more often than not requires a re-write of several core systems.
As a company, we have managed to overcome these challenges and we now have three regions around the world: our European region in Northern France, our North American region near Montreal in Canada, and our Asia region in Singapore.
Each region is connected to the other two regions with private transatlantic and transpacific cables from our datacenter provider - these provide a stable connection between the region which we extensively use to make cross-region gameplay possible as well as for data replication and many other tasks that require connecting between regions.
Here's a simple map that shows the way our locations are interconnected around the world:

As you may know, whenever you connect to CubeCraft, we try to send you to the best region for when you are connecting from, without you having to use a region-specific IP. We do this through something called DNS - the Domain Name System, which is responsible for making sure when you type “google.com” into your browser, you get sent to Google.
You might have noticed that our solution sometimes got things wrong, and you’re right. We originally were maintaining a list of countries and continents, then mapping them to what region they should be sent to manually. This wasn’t always the best as it required us to keep the list up to date and regularly issue changes when we noticed players weren’t being sent to the right places.
We’ve since changed to doing it via something called geoproximity - we use software to generate a map of all our regions and the countries that should connect to it, and then send you to the region you match up with on that map. Since we’ve moved to this system, we’ve noticed that significantly more players have ended up in the right place, and so we’ve decided to stick with this methodology of routing players for now.