Latency Manager (1.0.1.16) January 2017

Basic information:

This plugin has two parts, a country based kicker, and a ping based kicker. The country kicker works as described here.

The ping kicker has two methods of kicking, an instant kick, and an average kick. The average kick allows for you to define both the number of samples to use, and the minimum samples before acting on the average.

The plugin also has a trial version of a update notification system built in. If you decide to use it, you must first disable the sandbox mode. Messages will appear in the chat box, notifying you of an update to the plugin.

Ping wildcard for ping kick message is %ping%
Country wildcard for country kick message is %country%

Requirements:
Sandbox mode disabled for version control to work. If sandbox mode is enabled, the plugin will disable the version control.

Future Development:
- This is just in the drawing board phase, so input is more than welcomed. I envisage the plugin somehow handling the case when the server becomes laggy, and there are no more players to remove in an attempt to fix it. Perhaps something along the lines of triggering a server reboot when all players leave.

Sometimes it takes a while for the players ping to appear, kicking them too soon (even during loading of the game.) With this setting you can control how long a player has to be in the server before the "missing ping check" starts. Players without ping will get several warning messages in ingame chat.

1.0.1.15
- Speeded up country kicker task1.0.1.14- Added option to disregard whitelist & player threshold for the country kicker.

Amazing, glad to be the first one to post here, thank you very much Zaeed!

Edit:

I love the "Minimum players before rule enforced", this allows me to set it to something like 35 so it doesn't kick people from America after midnight as those are the ones who normally keep my server alive at night!

This is great, will be testing the plugin tonight, thanks a lot, I will definitely donate for this.

So far so good, I use the Average ping, as I think a simple ping spike is easy to occur for a few seconds with some connections, and so far it's worked good, we had a player with 320 ping on our server and it kicked him after less than 30 seconds, I kept it on default (20 pings to sample for average and 2 minimum pings before kicking, ping limit at 250).

If I keep it set at "20", how often does it ping players? Wondering if 20 by default is a good number.

Don't send me private messages (PMs) unless you really need privacy, like your game server password. If you just have a question or need help, post in one of the threads. It's extra work for me to answer questions and give help in private messages and no one else gets the benefit of the answer.

So far so good, I use the Average ping, as I think a simple ping spike is easy to occur for a few seconds with some connections, and so far it's worked good, we had a player with 320 ping on our server and it kicked him after less than 30 seconds, I kept it on default (20 pings to sample for average and 2 minimum pings before kicking, ping limit at 250).

If I keep it set at "20", how often does it ping players? Wondering if 20 by default is a good number.

Thank you!

It checks the pings 10 seconds after admin.listPlayers is fired. So every 30seconds.

The 20 samples means that at most, only 20 values are being used to determine the average ping.
45|34|54|34|23|54|56|76|45|42|34|33|42|23|34

The two samples is the minimum needed before it determines what the average is able to kick based on that.

So in the above case of 15 samples, the average ping is
(45+34+54+34+23+54+56+76+45+42+34+33+42+23+34)/15 = 42

The two minimum would be 45 and 34, so the player would be first able to be kicked after the second was taken, and their average at that time would have been (45+34)/2 = 40

When the number of samples reaches the maximum set, i.e. 20, the first sample gets removed, and the latest one added. So you're always looking at the 20 latest pings.