Raid/Group Mana/Endurance updates should now update real-time once again
Fixed an issue with clients looking like they are 'skipping' when they are moving in view of another client
Fixed an issue with NPC's who are ghosted in plain view of a client when they are not really there
Client updates nearby clients more often because they will disappear after 10 seconds without a position update to the client
This results in a massive reduction in unnecessary traffic as we only update clients of their relevance around them
This also resembles live-like packet sending behavior of positions
- Before when reverse aggro checks were done (client to NPC), checks would happen every 750 millseconds where a client would
check an entire entity list with distance calcs and other checks for aggro, with many clients in a zone and many NPC's this would
add a lot of unecessary overhead. A temporary adjustment on 3/25 was made and upped the check to 6 seconds.
- Now, there is a new methodology to scanning. The client will build a cache list of NPC's within close range as defined in new rule:
RULE_INT(Range, ClientNPCScan, 300) and will also get any NPC that has an aggro range beyond that defined range to use in
the frequent checks for aggro, the result is far less overhead
- Client scanning changes when moving versus not moving, the client will scan aggro every 500 milliseconds while moving, and
3000 millseconds aggro check when not moving, with a 6000ms re-fetch for close NPC's
- A demo of these changes can be found here:
https://youtu.be/aGroiwLSTVU
I didn't test RoF, so it's disabled for now (change AggroMeterAvaliable if you want to test)
Group member meters probably buggy ... but do later
The "lock target" feature isn't working currently either
This should cause the auto haters to be shared with other toons who might be
interested (group/raid) like live.
There maybe some bugs since there is a lot of complex interactions here.
We want to use winsock2.h rather than winsock.h. This was mostly enforced
from the global_defines.h file, but I wanted to make it consistent.
Most of these includes can be removed since they're included via
global_defines.h, but someone on windows should clean that up
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.