From: invalidprotocolvers...@gmail.com
To: hlds_linux@list.valvesoftware.com
Date: Tue, 7 Aug 2012 21:54:37 +0300
Subject: Re: [hlds_linux] Understanding choke / tweaking for lag
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