Thread: Ip detection
View Single Post
  #15  
Old 03-25-2016, 10:07 AM
unixmad unixmad is offline
Administrator
unixmad's Avatar
Join Date: Mar 2001
Location: Paris
Posts: 695
unixmad is a name known to allunixmad is a name known to allunixmad is a name known to all
Hello,

I can confirm we have spend time to study latency problems.

The way to improve latency is to put servers more close to players, that's why most of our server are in the center of the Usa since most of our customer base is in Usa. So if you are located in Asia or Even some part of Europe latency can be quite bad.

For some of the top servers we have tried to improve network latency with special routing technics, we are using our own pipes to make packets travel for exemple between Europe and the Usa servers. We can't use the same technics for playerworld for exemple, because it's very costly to setup this.

Another solution is to allow pear to pear communication between players, it will improve gameplay if players are in the same area.

The main problem is we always have to make a tradeoff between protecting against client modification, proxy server, ddos, hacking and making the gameplayer more enjoyable for everyone. Because of a few people focusing in bothering others we have to limit everyone to use some nice features, this is unfortunately how life is going for to many stuff, some are working to make life of everyone better some others are focusing on getting fun destroying what other create.

In the forthcoming weeks we will release a new network, it should improve network latency for most of our players. If you have any issue with a server or network latency you can contact [email protected] so we watch at it.


Quote:
Originally Posted by jake13jake View Post
Packet loss: the amount of data being sent between the game server and the game client the fails to reach its destination. This is high when you see something like someone on one side of the spar ring suddenly appear on the other side of the spar ring. I don't know if Graal provides a means of measuring packet loss.

Latency: the time it takes for data to be sent between the game server and the client. This is high when you see things like a player having to swing where the other person is going rather than where they are.

Running Random Sample of Packet Loss and Latency: making random measures of packet loss and latency (e.g. check lag of one randomly selected player, the lag of another randomly selected player, and so on) over time to create an unbiased data set, using the sum of the data to account for natural variation in lag.

From that random data sample, you can create variable thresholds for ping and packet loss, which you can then set to a value such that a player exceeding that threshold and being unable to spar (or kicked from spar) would occur 5% of the time if the threshold were to be applied to the players in the random sample (the 5% spec can be raised or lowered). I have a weighted reservoir sampling algorithm that I posted to Graalians that could be used for the sampling.

So you have that threshold that's calculated from the sampling, call it A. You also have a threshold where it stops being a major issue (e.g. average 350ms ping), call it B. When A < B (e.g. A=20ms; B=350ms), then threshold B applies. Otherwise if A > B (e.g. A=450ms; B=350ms) threshold A applies.

Does that make more sense?

Here's a screenshot of a spreadsheet I made to help illustrate the logic.

Attachment 55890
Reply With Quote