A huge rate does not mean that the data "is split in very small packets where the payload is less than 10%".
In old HL2 engine the rate was used only for computing the time when the next update can be sent to a client. The formula was something like: next_time = current_time + (bytes_send + 28) * (1 / rate) I don't think they changed this. A huge rate means that there are no bandwidth limits so the engine can send an update every tick/frame. A smaller rate means that some updates may be delayed, and this is called choke. You probably forgot that: 1. The engine has 66 ticks, so cannot send more than 66 updates to a client. 2. Every tick the engine can send only one update to a client. So a huge rate does not mean that the engine will send 9999 updates to a client or something like this. The rate is a MAXIMUM value, not a RECOMMENDED value. The engine won't try to send to a client "rate" bytes, instead avoids sending more than "rate" bytes. If a client requests/receives fewer updates (20-30 for example) then it may be possible that each update require more data. If the client requests/receives 66 updates then maybe each update is a little bit smaller. But the range is between 0 and 66, not between 0 and 999999999. Using sv_maxrate 70000 is not enough for a 32 slots server. Request 66 updates from such server and you'll see choke in netgraph quite often. As an observation, even 40.000 bytes are not enough sometimes for ONE SINGLE update :) And net_splitrate and net_splitpacket_maxrate have nothing to do with how packets are created, their size etc... -----Original Message----- From: hlds_linux-boun...@list.valvesoftware.com [mailto:hlds_linux-boun...@list.valvesoftware.com] On Behalf Of Mart-Jan Reeuwijk Sent: Monday, August 06, 2012 3:22 AM To: Half-Life dedicated Linux server mailing list Subject: Re: [hlds_linux] Understanding choke / tweaking for lag I have: sv_minrate 35000 // push the slackers up sv_maxrate 70000 // nobody needs more then that sv_minupdaterate 33 // 1/2 of server tick, makes them recieve every other server update sv_maxupdaterate 67 // to allow for 66.66666 server tick sv_mincmdrate 33 // 1/2 of server tick, makes them send at every other server tick sv_maxcmdrate 67 // to allow for 66.66666 server tick As 1260 is default max routable (net_maxroutable) by tf2, i'm a bit puzzled on the net_splitpacket_maxrate and the net_splitrate proposed by you. For if one has default splitpacket_maxrate 70000, on default rate 10k, and the net_splitrate default is 1, its still: 70000/67= max 1044 bytes per update, easily within 1 packet. tbh, not seeing a problem there.. And I'd advice against setting a no limit on the maxrate. loads of idiots out there who have their rate set to 1024000 or more, which actually results in packets been split in very small packets where the payload is less then 10% of the packets... Nobody needs more then ~70000 even on 32 player servers, if wanting to be safe you could go for 100k. Altho I'd advice to not set the sv_maxrate higher then 84000 (tickrate times max routable: (66+(2/3)) *1260, the higher the client set it, the smaller the payload on packets become) and to be on the safe side on 80k. Next to that testing of what your average maxrouting actually is, and set that in tf2, and recalculate, either set your max a bit lower, or set the net_splitrate a bit up and the splitpacket_maxrate to a lower value, and generate more splitted packets.... but one can already achieve that with net_maxroutable... So far the conditions I see where that would activate is with low updaterate and cmdrate on the client with a high rate data quantity coming in to them... which can be negated by setting the min's for cmdrate and updaterate. In other words, one would normally not need the net_split* commands if they set the min and maxrates correctly, and the routing is not limiting the size of the packets to something less. Might be a bug I'm not aware off, but that will no doubt be flagged here in reply :) >________________________________ > From: Russell Smith <ve...@tinylittlerobots.us> >To: Half-Life dedicated Linux server mailing list <hlds_linux@list.valvesoftware.com> >Sent: Sunday, 5 August 2012, 22:06 >Subject: Re: [hlds_linux] Understanding choke / tweaking for lag > >I don't know what is recommended but I use: >sv_minrate 50000 >sv_maxrate 0 >sv_minupdaterate 40 >sv_maxupdaterate 66 >sv_mincmdrate 40 >sv_maxcmdrate 66 >net_splitpacket_maxrate 100000 >net_splitrate 2 > >On 8/5/2012 1:01 PM, Michael Johansen wrote: >> Russel, what are the correct values for these? Or rather, the recommended ones. > > >_______________________________________________ >To unsubscribe, edit your list preferences, or view the list archives, please visit: >https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux > > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux