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

Reply via email to