-3

I run a game server off a linux machine with a single IP address masked by a proxy. The box is located in an LA datacenter, and for players in some other countries, they experience a high ping compared to USA players.

Is it possible to host the server in one location, but provide the same experience to players in other countries?

Like au.example.com, us.example.com, eu.example.com.

Is this possible? I would like 1 server instance, not multiple instances across the globe (this would lower the playercount per-server).

Esa Jokinen
  • 46,944
  • 3
  • 83
  • 129
  • 8
    Ye cannae change the laws of physics! – Jenny D Apr 19 '15 at 18:59
  • "server" in your context most likely is either single physical or virtual machine. In both cases there is more or less single wire coming into it. So people in LA will have less distance to it that in, say, Australia. What you can do is create instances that talk very quickly to each other and essentially run from same database. – aaaaa says reinstate Monica Apr 19 '15 at 19:13
  • 4
    Blizzard hasn't even figured this one out. You have no chance. – Michael Hampton Apr 19 '15 at 19:58
  • 2
    The only way you can give all players identical roundtrip times is if you give all of them a high roundtrip time. – kasperd Apr 19 '15 at 20:37

1 Answers1

2

Well the problem is, as one commenter suggests, physics.

For example one of the submarine cables from USA to Australia is about 12500km long. The data has to travel that path twice which is 25000km. And that is just the cable. You will have to add more for the fibers in USA and Australia.

Typical single mode fiber has a refraction index of about 1.444 (the light travels 1.444x slower in the fiber than in vacuum).

25000km / ( c / 1.444 ) ~ 120ms

That is the shortest response time you could get, if your server was directly connected to the American end of the cable and the client was directly connected to the Australian end. Most of the time there are more interconnections on both ends and several routers which add latency as well.

Moreover, the links are not dedicated just to your gaming, so there are buffers on most of the routers, which will add another delays (varying in length).

And don't get me started about how the data can travel, if the conditions are not ideal (mostly because of outages). Then the data can travel from LA to New York to San Francisco to Tokio to New Delhi to Sydney (just an example). And the longer you are trying to reach, the more likely are these problems to happen and more pronounced they'll get.

As I expect the game you are talking about is some kind of RealTime experience (which is why you want to get your network latencies better), it is hardly possible to use some kind of proxy, or CDN, to get client latencies lower.

You could consider using some kind of virtual/cloud hosting to start small instances in places where the load is not very high. Moving to dedicated servers/hardware once the player base grows.

If my assumption about the thing being realtime is wrong, please update your questions with details on what type/kind of game it is, how it works, or better yet name of the game. (btw. are you author of the game - can you modify the game - or just running the server?)

Fox
  • 3,977
  • 18
  • 23