Netcode(rate,ticrate,choke, and loss)

Right, so sv_maxrate is throttling the server end and rate is throttling the client end.

Depending on the size of the pipe at each end you may be setting each too high or too low.
Too much flow from the server and too low rate on your end means choke coz you cant accept everything thats being sent?

This shit is so confusing to me lol. I need a massive analogy.

Yes thats a good point, thx keeper.
To add if you have a server hosted by such a company and its choking with 16 players you should find another host as your not really getting what you should be, unless its free of course.


ok so let me get this straight having a server with out a max rate for the client where players are demanding so much from the server that it reaches a point where all players on the server choke. So it would be in my interest to set a max rate of let say 66000 which would be enuff to get ride of choke at clients end but also prevent players demanding a crazy amount.

if its a 66 tic server they cant get more than 66000 anyway, so yeah you could set it at that. The thing is that if your host cant handle 10 or 16 players ( or w/e your server max players is) pulling a rate of 66000 down it may choke so you need to keep an eye on what its doing when its full. If you see no choke leave it at that, if you do see choke you may want to lower the servers max rate. Also you need to get a general consensus from the players on your server, as IDK how good your connection is and if you personally can handle a rate of 66000 on your client.

sv_maxrate only sets the maximum rate the server allows. It doesn’t stop the amount of data needed to be sent from maybe being more, therefor ending up in choke. What you need to do is restrict the clients’ cL_updaterate, or how often they are demanding updates from the server. If you see choke in spite of high (unlimited?) rate, you should lower sv_maxupdaterate.

So cynips your saying people with higher bandwith should be penalized?
By limiting updaterate thats what would happen.
I think any decent server host should be able to support 66/66/66000 and if not then they shouldn’t be used, at least not for competitive purposes.

Basically, that’s what I’m saying. But at the same time you’re right. The traffic for 6-8 ppl playing a clan war shouldn’t be a problem for any decent server provider. It’s just that if you see choke and you know it’s not caused by any other part of the route to your computer, this is what you should do.

how good does the game work @ rate 66000?

Difficult question to answer since rate only set a maximum rate. It doesn’t necessarily mean you’ll ever be taking advantage of it. I’m sure that in a 1on1 match without spectators you’re not going to get near that amount of traffic.

WOW alot of posts for a day in a half. Let me add this We have a 16 man CS:S server that stays full all evening usually. I have set my rate at 100000 the server is set to sv_maxrate 100000 sv_minrate 70000 (everyone in the server is forced to this also). I have been in there with a full server and we play gungame mod which is little more intense and alot more shooting. I have never choked once even on a full server. So with this I can assume that HL2 and source games will probably never have to send 100000bytes and can probably assume never hit 70000. So the talk about setting sv_maxrate and sv_minrate effecting anything. It shouldn’t, cause it is just saying that the client can’t set there rate to higher than sv_maxrate and can’t set it lower than sv_minrate. sv_maxrate and sv_minrates doesn’t control what the server is going to send. The server is going to send every update it needs too per the ticrate you choose. If you server can’t handle it there is no setting that will help. You will have to lower the ticrate. Most game server rentals will be able to more than handle it. So if I set rate to 100000000000000000000000 it isnt’ going to tell the server it has to send me this much it means I can handle this if you needed to send me more.

Just remember “rate” is just a rule… for the server to follow. Like a speed limit. The server can go slower but if you try to go faster then the server will stop you at your speed limit you set(rate). You guys are reading into this rate setting to much…

Someone commented that having a sv_maxrate high might cause the server fps to go down. Which isn’t good. Actually the more players in the server playing will cause higher fps usage probably. Even if you set your sv_rate setting lower the server still has to produce all the updates per the ticrate so you have 16 players on a 66tic server. The server has to produce 1056 updates a second regardless what you set the rate at cause that is the tic of the server. If you want to control how many updates the server has to produce you could force everyones sv_maxupdate lower. But rate is never going to control what the server has to produce or how big the update is that the server produced.

Also if you want to check your fps of your server to see if it is working to hard. use rcon stats or in hlsw just type stats in console tab this also gives you cpu usage but don’t know how accurate it is.

So for 2 players 30000 is plenty fast enough but for 10 or more players it need to be higher due to more updates being recieved from server?

If your looking at the server side there are more updates being sent with 10 people in there then with 2. So you fps of the server may go down. If you are looking at the client side of it. The more people doesn’t mean more updates. It means larger updates. Like 2 people in a server the largest updates may be 250bytes. But with 10 people playing it could hit 500bytes or 750bytes for each update. You times that by the tic of the server. Example: 66 (server ticrate) times 250 bytes = 16500bytes so with a rate setting of 20000 everything will be fine. but lest take 66 (server ticrate) times 500bytes = 33000 bytes so if you had a rate setting of 20000 that wouldn’t be high enough if each updates was 500bytes in size. So the more people and more action means each of the updates the server sends you can get bigger so more bytes come to you in total. 100, 66, 33 are the only amounts of updates the client is going to get sent no more.

This is great feels just just like when your create a server it nice and smooth with high rate and i have not noticed any hit reg problems which is great. why on earth do we use 30000 i remember to often joining a server for a scrim and a choke of 10 or 15 and have to waste time trying to find the right net setting to get it down and even so u try everything and u still have choke if more servers allowed high rates i would not have this much of a problem in getting rid of choke.

It is starting to make sense now thanks.
I just need to find a full server to test my own rate out, i havnt found 1 that doesnt limit to 30000 or less yet.

So True, So True. I can tell you where we got 30000. It was a CS 1.6 thing… most netcodes came from cs or old hl1. I can bet you I read them all. Most people believed that 20000 was perfect for cable and someone said anything higher than that was a lan setting. I couldn’t understand them and the netgraph in old hl didn’t tell you as much as the hl2dm one does. Heck I was so crazy screwed up with hl1 old netcode I set my rate to 524288 cause I had a 4mbit connection. Because I thought you could get as many updates as you wanted. I figured each update was 250bytes so I divided it into 524288 and came up with a cl_updaterate 2097 and played like that, goes to show you how much I thought I knew (although there is no clear way to know or check old hl and cs may have had the ability to send more than 100 updates. Of course later I realized and learned alot more and change all that lol… But the one thing I knew is I didn’t believe they were completely right ever. Just didn’t have any good ways to test things. In old HL and CS not alot of people knew this but cl_cmdrate needed to be 2 or 5 more than FPS to get good net settings. Thank God HL2dm and source games made it so much easier to test.

My server has a max rate of 100000 right now. We had close to a full server much of last night. The only person that complained had a ping of 160 and was in Norway.

So, on the server rate = 10000

Can’t change it.

What does this effect?

No rate setting has no effect with the server just leave it.

sv_maxrate = server setting to control the rate of the client
sv_minrate = server setting to control the rate of the client

rate = is only a client setting what it is set at on the server side won’t effect anything.

Now if you are talking about your sv_maxrate being set at 10000 then yea change it to 100000.

Ok, so what’s the thought on 66000 versus 100000?

Is it tickrate? If so, why bother at > 66000?