limiting players joining if ping too high

SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
edited November 2012 in Server Discussion
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?

Comments

  • WhosatWhosat Singapore Join Date: 2006-11-03 Member: 58301Members, Reinforced - Shadow Posts: 470 Fully active user
    I wouldn't recommend a ping limiter though - when you alt-tab out of fullscreen mode, your ping shoots up. This could mean kicking people who are not supposed to be kicked.

    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).
    "Games are what gives people the spark of fun, coders are what turn the spark into a fire." - SilentSkulk/Cheeserm
    NS2 Server Setup Wiki | @NS2SG | AlliedModders
  • xLithxLith Join Date: 2012-11-02 Member: 165969Members Posts: 12
    I would still prefer a normal high ping kicker. I have some peeps from UK in my clan and they tend to stay under or right around 100 ping on our box. Maybe if they could develop a ping kicker that has a timer on it. Say if their ping is over X amount for more than 3-5 minutes then kick them. If someone is alt-tabbed that long, they're hurting their team anyways.
    Leader of The Bar Room Heroes
    69.162.82.210:27019 - The Bar Room NS2 | Team-BRH.COM - 24 slots
  • VitdomVitdom Join Date: 2012-04-30 Member: 151345Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, WC 2013 - Shadow Posts: 285 Advanced user
    edited December 2012
    I made a mod which kicks clients with high pings, you can get it here: http://steamcommunity.com/sharedfiles/file...s/?id=109062003
    Post edited by Unknown User on
    Steam profile
    Hyperdata for breakfast. Hyperdata for lunch. Hyperdata for dinner. Hyperdata for supper. Hyperdata as snacks!
    Dream hyperdata! Speak hyperdata! Live hyperdata! Be hyperdata!


    Nothing like the smell of distress bacon and egg lock in the morning! -- KwisatzHaderach
  • TechnIckSTechnIckS Join Date: 2007-01-14 Member: 59616Members Posts: 197
    can you load it through server.lua?
    NG | TechnIckS image
  • VitdomVitdom Join Date: 2012-04-30 Member: 151345Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, WC 2013 - Shadow Posts: 285 Advanced user
    edited December 2012
    QUOTE (wireaudio @ Nov 20 2012, 06:23 AM) »
    can you load it through server.lua?

    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.
    Post edited by Unknown User on
    Steam profile
    Hyperdata for breakfast. Hyperdata for lunch. Hyperdata for dinner. Hyperdata for supper. Hyperdata as snacks!
    Dream hyperdata! Speak hyperdata! Live hyperdata! Be hyperdata!


    Nothing like the smell of distress bacon and egg lock in the morning! -- KwisatzHaderach
  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    edited November 2012
    QUOTE (Vitdom @ Nov 20 2012, 12:07 AM) »
    I made a mod which kicks clients with high pings, you can get it here: http://steamcommunity.com/sharedfiles/file...s/?id=109062003

    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.
    1. Subscribe to the mod in your client
    2. Launch NS2
    3. Copy the contents of the mod from your client modstorage
    4. Put it in %SERVER%\HPK\
    5. Add the executable parameter -game "HPK" to the server


    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?
  • VitdomVitdom Join Date: 2012-04-30 Member: 151345Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, WC 2013 - Shadow Posts: 285 Advanced user
    edited November 2012
    I don't think so. It'd be really unfair for the player if he/she is kicked in the middle of a game. It might be quite possible to do it when no game is active though, but is there a reason for why periodic checks are necessary? I don't think a client's to-server ping would fluctuate a lot over time, so a one-time check should be enough right? I am planning on making the one-time check multisampled to counter any network jitter, making the check very accurate.
    Steam profile
    Hyperdata for breakfast. Hyperdata for lunch. Hyperdata for dinner. Hyperdata for supper. Hyperdata as snacks!
    Dream hyperdata! Speak hyperdata! Live hyperdata! Be hyperdata!


    Nothing like the smell of distress bacon and egg lock in the morning! -- KwisatzHaderach
  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    Some people may be using a peer 2 peer client or downloading some large files which may make their ping Crap, especially if they have saturated their upload speed because they are sharing files over the intarweebs.

    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 :)
  • VitdomVitdom Join Date: 2012-04-30 Member: 151345Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, WC 2013 - Shadow Posts: 285 Advanced user
    edited December 2012
    QUOTE (SeeVee @ Nov 21 2012, 06:24 PM) »
    Some people may be using a peer 2 peer client or downloading some large files which may make their ping Crap, especially if they have saturated their upload speed because they are sharing files over the intarweebs.

    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 :)

    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.
    Steam profile
    Hyperdata for breakfast. Hyperdata for lunch. Hyperdata for dinner. Hyperdata for supper. Hyperdata as snacks!
    Dream hyperdata! Speak hyperdata! Live hyperdata! Be hyperdata!


    Nothing like the smell of distress bacon and egg lock in the morning! -- KwisatzHaderach
  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    I see version 2 is out... I have not installed the older version yet and I am going to tonight since I have time finally!

    Where do we set the limit for pings? Is it a CFG or ini file or through web admin?
  • VitdomVitdom Join Date: 2012-04-30 Member: 151345Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, WC 2013 - Shadow Posts: 285 Advanced user
    edited December 2012
    You can set the "max_ping" setting in ServerConfig.json which gets loaded every time the server starts & changes map(?). You can also set the limit through the console admin command sv_maxping <limit in ms>.

    CODE
    {
        "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
        }
    }
    Steam profile
    Hyperdata for breakfast. Hyperdata for lunch. Hyperdata for dinner. Hyperdata for supper. Hyperdata as snacks!
    Dream hyperdata! Speak hyperdata! Live hyperdata! Be hyperdata!


    Nothing like the smell of distress bacon and egg lock in the morning! -- KwisatzHaderach
  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    Awesome thanks!

    ...adding to server now :)
  • DarkflameQDarkflameQ Join Date: 2013-02-28 Member: 183451Members Posts: 327 Fully active user
    edited May 2013
    The max_ping setting is pretty crap at its job to be honest and i don't think it's unfair to kick someone who gets a high ping for a long duration whilst in game.

    Just like someone going AFK for a couple of minutes hinders the game for other players, so does having a high ping.

    I have a server with the max ping set at 200, yet 300 and 400 pingers get in often and lag everyone else out, it's quite annoying.


  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    edited May 2013
    I think that's because they may have a lower ping when joining the server (as this is the only time it checks) and then their pings go to shite later... I think it would be a good idea to possibly add in a config variable to check during game after X amount of time has passed during matches.
  • ScardyBobScardyBob ScardyBob Join Date: 2009-11-25 Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow Posts: 4,983 mod
    The max_ping setting is pretty crap at its job to be honest and i don't think it's unfair to kick someone who gets a high ping for a long duration whilst in game.

    Just like someone going AFK for a couple of minutes hinders the game for other players, so does having a high ping.

    I have a server with the max ping set at 200, yet 300 and 400 pingers get in often and lag everyone else out, it's quite annoying.

    Are you actually seeing high ping players causing everyone else to lag? Most of the high ping players I see only lag themselves and just show up as teleporting players to everyone else. If you can get a good video of a high ping players lagging out the servers, that would be great.
  • DarkflameQDarkflameQ Join Date: 2013-02-28 Member: 183451Members Posts: 327 Fully active user
    edited May 2013
    SeeVee said:
    I think that's because they may have a lower ping when joining the server (as this is the only time it checks) and then their pings go to shite later... I think it would be a good idea to possibly add in a config variable to check during game after X amount of time has passed during matches.
    Indeed.
    ScardyBob said:
    The max_ping setting is pretty crap at its job to be honest and i don't think it's unfair to kick someone who gets a high ping for a long duration whilst in game.

    Just like someone going AFK for a couple of minutes hinders the game for other players, so does having a high ping.

    I have a server with the max ping set at 200, yet 300 and 400 pingers get in often and lag everyone else out, it's quite annoying.

    Are you actually seeing high ping players causing everyone else to lag? Most of the high ping players I see only lag themselves and just show up as teleporting players to everyone else. If you can get a good video of a high ping players lagging out the servers, that would be great.
    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.
  • ScardyBobScardyBob ScardyBob Join Date: 2009-11-25 Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow Posts: 4,983 mod
    SeeVee said:
    I think that's because they may have a lower ping when joining the server (as this is the only time it checks) and then their pings go to shite later... I think it would be a good idea to possibly add in a config variable to check during game after X amount of time has passed during matches.
    Indeed.
    ScardyBob said:
    The max_ping setting is pretty crap at its job to be honest and i don't think it's unfair to kick someone who gets a high ping for a long duration whilst in game.

    Just like someone going AFK for a couple of minutes hinders the game for other players, so does having a high ping.

    I have a server with the max ping set at 200, yet 300 and 400 pingers get in often and lag everyone else out, it's quite annoying.

    Are you actually seeing high ping players causing everyone else to lag? Most of the high ping players I see only lag themselves and just show up as teleporting players to everyone else. If you can get a good video of a high ping players lagging out the servers, that would be great.
    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.
    I do question whether that's accurate as they may applying rules-of-thumb from other games to NS2. I regularly play with high ping and on servers with people with high ping and have not seen that cause the server to lag (most server lag is due to player and/or entity count).
  • TyrsisTyrsis Join Date: 2002-11-15 Member: 8804Members Posts: 152 Advanced user

    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.
  • DarkflameQDarkflameQ Join Date: 2013-02-28 Member: 183451Members Posts: 327 Fully active user
    edited May 2013
    Not too fussed, i'm not a fan of high pingers anyway.
  • A[L]CA[L]C Join Date: 2010-07-25 Member: 72801Members Posts: 99
    Shine mod does this.


    [quote]

    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.

    [/quote]
  • Fudo_StyleFudo_Style Join Date: 2002-12-31 Member: 11659Members Posts: 77
    There have been claims made that it is not latency, but packet loss that causes teleporting.  Thoughts anyone?
  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    Packet loss can cause said teleporting in any game.
  • ScardyBobScardyBob ScardyBob Join Date: 2009-11-25 Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow Posts: 4,983 mod
    edited May 2013
    My general guide to 'NS2 game lag':
    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
  • xAlex79xAlex79 Sydney. Australia Join Date: 2013-12-29 Member: 191021Members Posts: 17
    Installed the mod on my server, doesnt seem to work. get constantly 300+ ping and they dont get kicked. added the mod to be loads and moded the config file with a 100ms limit
  • SeeVeeSeeVee Join Date: 2012-10-31 Member: 165206Members Posts: 425 Advanced user
    Maybe it is not compatible with current build of NS2???
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue Posts: 4,269 Advanced user
    There is an up-to-date and working ping checker built into shine admin mod, which was linked earlier in the thread.
    Games:Subnautica Fan Game Mods: GorgeCraft & CTF & Proving Grounds Website: andysoulrider.uk
    Twitter: @AndySoulRider Twitch: Twitch.tv/SoulRider YouTube: Youtube.com/user/IamSoulRider/videos

    Capitalisation is the difference between helping your Uncle Jack off a horse and helping your uncle jack off a horse.
    Knowledge is gained through listening, Understanding is gained through discussion.
    GhoulofGSG9
  • xAlex79xAlex79 Sydney. Australia Join Date: 2013-12-29 Member: 191021Members Posts: 17
    Soul_Rider wrote: »
    There is an up-to-date and working ping checker built into shine admin mod, which was linked earlier in the thread.

    thanks for that, updated my config files.
Sign In or Register to comment.