I'm not 100% sure, because I don't have the source code, but: 1. If the data that must be sent to a client is smaller or equal than 1260 bytes then is sent immediately in one packet. 2. If the data has a length greater than 1260 bytes then is split in multiple packets. First packets have 1248 bytes + 12 bytes header and the last one contains the remaining data. 3. The 1260 value can be probably configured using sv_maxroutable convar.
Now, when the data is split in multiple packets: 1. The first net_splitrate packets are sent immediately. 2. The remaining packets (if any) are added to a queue, to be sent later. 3. The packets from queue can be sent from a "high priority" thread (the default behavior) or from server's main thread (probably the old implementation). This can be toggled using net_queued_packet_thread convar. If the queued packets are sent using the "high priority" thread then the net_splitpackets_rate convar is used to compute a delay for each packet. A big value means a smaller delay. If net_queued_packet_thread is 0 then the queued packets are sent from server's main thread. This means that each tick up to net_splitrate queued packets are sent (for each client). In this case I don't see any references to net_splitpackets_rate convar. For debugging: 1. Set net_showsplits to 1 2. Set net_queue_trace to 581304 if net_queued_packet_thread is 1 -----Original Message----- From: hlds_linux-boun...@list.valvesoftware.com [mailto:hlds_linux-boun...@list.valvesoftware.com] On Behalf Of Russell Smith Sent: Sunday, August 05, 2012 11:19 PM To: Half-Life dedicated Linux server mailing list Subject: Re: [hlds_linux] Understanding choke / tweaking for lag My understanding, and I could be wrong, is that these cvars control the behavior of large packets that are fragmented before being sent to the client. net_splitpacket_maxrate limits the rate these fragmented packets are sent out and net_splitrate limits how many of these packets are allowed per client per frame before they start being dropped. Due to the former it seems recommended to set net_splitpacket_maxrate to whatever your sv_maxrate setting is, or to a high value if you have sv_maxrate set to 0 (hence why I set mine to 100000). I've seen some admins set their net_splitrate to high values like 1024. I don't know if this has a noticable effect or not. From what I can tell though servers that don't have these properly set will see large gaps in the netgraph similar to Peter's first screenshot. I assume this is because fragmented packets are being dropped. On 8/5/2012 1:07 PM, Michael Johansen wrote: > Do you know what the net_splitpacket_maxrate and net_splitrate does? > _______________________________________________ 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