Selective Server FPS lag?
Calego
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.
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
* 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.
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.
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 %.
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.
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.
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.