Selective Server FPS lag?

CalegoCalego Join Date: 2013-01-24 Member: 181848Members, NS2 Map Tester
Alright, so I've been getting some complaints that my server's causing some people's FPS to drop lower than it does on any other server. Any theories about what serverside would make someone's fps decrease? This is on standard maps too, nothing to do with custom maps.

Tickrate looks stable, but that really doesn't affect fps much does it?

Running nothing out of the ordinary:
Shine, NS2stats (beta), ExtraPlugins, NS2+, Badges, and some custom maps.

Comments

  • DC_DarklingDC_Darkling Join Date: 2003-07-10 Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
    Start with the basics, just in case?

    * tickrate
    * CPU idle, move and entity %? (i think it was said have around 20% idle spare on ns2 max load?)
    * set a better bwlimit? (to not choke players when more are joined for example)
    * messed with any other rates? (In theory this should be no)

    But it sounds.... odd. I mean, I can imagine if they complain about hitches, stutters that sort of thing.. But fps?
    Although, if you have higher update rates you may push the client harder which could push a already maxed client over its top I guess.

    Also tried without some mods? Perhaps some extra plugins give some weird issue? Really lacking data here. You would preferably need some clients willing to troubleshoot.
  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    edited October 2014
    We need to get plogs from those ppl to really see what's going on, otherwise we can just guess.

    Everything around shine is mostly server sided, so i am 99% sure that neither shine nor its' plugins could ever cause direct frame
    drops at the client( if there are issues with any shine module you will notice it mainly at the server).

    It looks different for ns2+ as that mod is mainly client sided, so yes it could cause issues ...

    But overall we can locate the issue pretty exactly once we have a plog of one user who is affected by those fps issues.

    plog = p_logall into the console after joining the server. Please be aware that this might cause a really small frame drop. (depending on HDD speed, cpu and used ram)

    And btw yes tickrate itself doesn't affect the fps directly but how those frames "feel" like.
  • CalegoCalego Join Date: 2013-01-24 Member: 181848Members, NS2 Map Tester
    After the p_logall, where would the log file be? I'll ask them to do some tests and get back to you. I presume that asking them to join a server that doesn't have this issue, logging it, and then joining mine. Then upload the 2 logs? Or do you need the comparison?

    As far as the rates on the server go, I have them all on default except BWLimit. I'll check the CPU Idle and see how that's holding up.
  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    edited October 2014
    Calego wrote: »
    After the p_logall, where would the log file be? I'll ask them to do some tests and get back to you. I presume that asking them to join a server that doesn't have this issue, logging it, and then joining mine. Then upload the 2 logs? Or do you need the comparison?

    As far as the rates on the server go, I have them all on default except BWLimit. I'll check the CPU Idle and see how that's holding up.

    We only need one log from a given client having lags/fps dropps ;)

    Because i'm too lazy to copy and paste i'll just leave the link to my last post covering plogs here: http://forums.unknownworlds.com/discussion/comment/2221018/#Comment_2221018

    To see if you run into the bwlimit enable net_stats and what if choke ever goes above 0 %.
  • matsomatso Master of Patches Join Date: 2002-11-05 Member: 7000Members, Forum Moderators, NS2 Developer, Constellation, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Shadow, NS2 Community Developer
    Make sure that people are actually complaining about low fps rather than hitching/rubberbanding.

    It is difficult to get a server to lower client-side fps - it is pretty much only dependent on the number of players/action going on in the game.

    So assuming that they compare to an equally sized server, it would be hard to see how the "fps" (as measured by the fps command) would vary by server.

    However, if the server is overloaded, it can cause hitching/rubberbanding which will FEEL like bad fps even thought the fps counter does not change much.

    The server needs to produce network updates so the client can always show a consistent worldview - it does this by running "behind" the server so it can always interpolate between two known good network updates (the size of the buffer is determined by the "interp" value, normally set to 100ms, and the server tries to send a packet every 50ms).

    If the server fails to produce a network update in time, the client will run out of interpolatable network updates and will then start to EXTRAPOLATE the positions of players and entities; as soon as the network comes in with fresher data it will then start interpolating and snap the entities to the new correct positions.

    This feels like hitching/teleporting.

    If the server is REALLY overloaded, it will start dropping player moves, which will cause the position of the players own avatar to be adjusted as well when the next network packet comes in; this feels like rubberbanding; you run forward and suddenly you are snapped back a few meters.

    To determine if your server is overloaded, you can use net_stats; it shows how much idle % the server has (you want it to be > 10% to avoid problems); also, it will report Yellow/Red status lines if it starts to/fails to generate timely network updates.

    The perfmon server side console command can also be used; trigger it once and it will write lines only when the server runs yellow/red.

    There are stuff you fiddle with if it turns out that your server is overloaded; simplest is lowering your player count, but there are network variables you can play around with; talk to Wooza; he has a tuned set of network variables that sacrifices some crispness in the play for a lower server load.
  • CalegoCalego Join Date: 2013-01-24 Member: 181848Members, NS2 Map Tester
    As an update: Last night the server was acting wierd for everyone. Rubberbanding quite badly, though the tickrate and idle seemed to stay stable. Occasionally it would Redplug half the server, while the other half was fine.

    This all leads me to think it was the server itself, nothing client side. Talked to Bluefang about it and they moved the server to a different box, hopefully this will solve some problems. I'll keep you guys updated, thanks for all the input.
  • ATFATF Join Date: 2014-05-09 Member: 195944Members
    edited October 2014
    His server is Calego's Captains Corner Club and scores 32 in perfbrowser currently.

    Just spammed 1.4k ents on it with 2-4 players, idle didn't drop below 50%.
    However it appears the CPU is a E3-1230 (Intel Xeon 3.3GHz). This could be a problem. Really need to see it when it's full.

    What you describe sounds like significant network issues. This move that your hoster did, let us know if that helped.
Sign In or Register to comment.