limiting players joining if ping too high
SeeVee
Join Date: 2012-10-31 Member: 165206Members
I run an NS2 server and notice when people join with pings of 140 or higher the server will start acting funny to players with pings under 100. The players start warping and seems like the server is having sync problems. The more players with high ping that join the worse it gets.
when server is full (20 ppl) and pings are in double digits there are no issues.
Is there a mod that you can set a ping limit or the get auto kicked?
when server is full (20 ppl) and pings are in double digits there are no issues.
Is there a mod that you can set a ping limit or the get auto kicked?
Comments
I would suggest something like a country filter instead (retrieving IP address via web interface and checking that against geoip)
I'm in the middle of working on a web-based system that does just that. Among them also featuring some simple administrative stuff having a global ban system as well as a check on whether the server has crashed (by checking whether every player's resources has not updated sincce the last refresh), along with an AFK kicker (checks whether player has a team and kicks after x minutes if in spec or rr)
Other stuff I have planned also includes auto-randomall, a lifeform limiter (ugly way - slays the evolved player - only way to do this when via rcon commands).
It is being loaded through Server.lua, at the bottom of the file. Though it does also register a ServerAdminCommand in the bottom of the ServerAdminCommands.lua file.
I want to make it more compatible with other mods but I'm not sure how to do that yet. But I know what I'd like to test so it should be more compatible shortly.
---
I just released V2 and it is entirely being loaded by Server.lua, though it has to be loaded manually be adding the loading line because of mod compatibility, no other installation actions necessary. I also moved everything into HPK.lua, and removed the custom overwritten files.
Since it is a fully Server-Side mod, you can install it as a non Workshop mod and thus bypass the community content server browser filter.
<ol type='1'><li>Subscribe to the mod in your client</li><li>Launch NS2</li><li>Copy the contents of the mod from your client modstorage</li><li>Put it in %SERVER%\HPK\</li><li>Add the executable parameter -game "HPK" to the server</li></ol><!--QuoteEnd--></div><!--QuoteEEnd-->
Awesome, This is great!
I'll put this on my server as soon as I get home from vacation. Hopefully it will make things a bit smoother :)
Will you be adding in an option for periodic client checks and frequency amounts?
What about a ping check at beginning and end of game or upon death every so often. If you added in a variable to see if client was in violation of set ping limit it would only kick them after a set amount of consecutive violations.
Just tossing out some ideas here :)
What about a ping check at beginning and end of game or upon death every so often. If you added in a variable to see if client was in violation of set ping limit it would only kick them after a set amount of consecutive violations.
Just tossing out some ideas here :)<!--QuoteEnd--></div><!--QuoteEEnd-->
I've settled with a simple one time check when the client joins. It's delayed by 5 seconds because when you join the measured ping value is actually greater than it really is. It's now also multisampled over 15 seconds and it's enough for the ping to measure within the limit a single time during the period to allow the client to stay. The client also receives a warning message(several actually) if the ping is too high and might be kicked if it doesn't stabilize, before he/she is kicked.
Personally, I think repetitive checks that can kick players when they're in the middle of a game is very awful behavior to the players that are playing on a server. Sure some players will have a saturated connection due to background activity, but once they've started a game, they should not be kicked just because of some automated ping limit check, it really creates a negative feeling, which is precisely the opposite of what a ping limiter should strive to achieve. Since they passed the initial ping check, they have the potential to have a very nice ping and should instead be instructed by an active administrator to fix it in the case that it's bothering people.
Where do we set the limit for pings? Is it a CFG or ini file or through web admin?
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
"settings":
{
"rookie_friendly": false,
"max_ping": 100,
"auto_team_balance":
{
"enabled_on_unbalance_amount": 2,
"enabled_after_seconds": 10
},
"end_round_on_team_unbalance": 0
}
}<!--c2--></div><!--ec2-->
...adding to server now :)
Both hosts i rent from actually tell me the high pingers can cause the server to lag, since i haven't been able to eliminate the high pingers due to max_ping not actually being effective, i've got no choice but to believe them until i can eliminate the the variable and do a test with by playing a few matches with only low pingers.
Besides i'm all about gaming fairness, i think allowing high pingers to play on a server where everyone has a much lower ping is just cruel anyway.
In a game where one bite can be the difference between life and death, having a high ping must be a horrible experience.
This is not how servers work. Your hosts are most likely saying this because network admins absolutely love blaming software before hardware. This sounds more like a hardware issue than a software issue. My server regularly gets high ping players in the early hours, and it has never affected the tickrate of the server at all.
The ping tracker plugin allows you to track the ping of connected players and kick them if they are consistently above a set maximum. You can also kick players that have a large average variation in their ping.
The “MaxJitter” setting controls the maximum average change in ping between measurements. Each time the ping is recorded, the difference from the last recorded ping is also stored. When the ping is averaged, these changes in ping are also averaged and if the average change exceeds the “MaxJitter” setting, the player is warned or kicked.
This stops people with constantly spiking ping from remaining on the server, as they are more likely to be warping around, but their average ping will likely be below the “MaxPing” setting.
Teleporting = packet-loss (e.g. choke)
Rubberbanding = low server tickrate
Delayed Kill/Damage feedback = high ping
Input/mouse lag = low fps and/or using vsync
thanks for that, updated my config files.