Changed where queued packets are sent while zoning. Moved where zoneinpacket_timer is started to assist in not dropping needed packets.

Added better netcode support for handling out of order acks, to preclude excessive resending of same packets.

Changed how timeout checks are performing on individual packets, for re-sends, so they do not happen more often than the client can respond.

Improved how the data rate limit for throttling packets for compressed stream, so the size reduction in packets are accounted for better.
This commit is contained in:
ngdeao
2016-03-28 19:11:24 -06:00
parent 6c5d686b22
commit fb23d961c1
10 changed files with 105 additions and 106 deletions
+2 -1
View File
@@ -123,7 +123,7 @@ Client::Client(EQStreamInterface* ieqs)
camp_timer(29000),
process_timer(100),
stamina_timer(40000),
zoneinpacket_timer(3000),
zoneinpacket_timer(1000),
linkdead_timer(RuleI(Zone,ClientLinkdeadMS)),
dead_timer(2000),
global_channel_timer(1000),
@@ -439,6 +439,7 @@ void Client::SendZoneInPackets()
outapp->priority = 6;
if (!GetHideMe()) entity_list.QueueClients(this, outapp, true);
safe_delete(outapp);
SetSpawned();
if (GetPVP()) //force a PVP update until we fix the spawn struct
SendAppearancePacket(AT_PVP, GetPVP(), true, false);