Conversation
Contributor
|
Awesome feature! |
KimLS
approved these changes
May 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is something that has been rolled out on THJ for 2 months to reduce significant packet load that are largely needless especially in hub / idle zones.
Why this Change? Part of what we see in a critical hub zone such as Bazaar, is extremely high CPU, lag, causing a bad experience for other players trying to zone into the zone and function at all. This change aims to drastically reduce packet spam in the zone, keeping the zone lean and leading to a much better player experience when using the Bazaar. When a player with 4 pets is running in circles in the zone, it sends enormous amounts of position updates to X number of players in the zone, even those who are idle and don't need all of these updates.
When clients go AFK they stop receiving packet updates for movement. When they go un-AFK they get synchronized with all the clients around them.
Consider this - the EverQuest client requires that you send a clients position update to other clients every 12 seconds otherwise clients disappear. This is very inefficient. For this reason we send client positions every 12 seconds at most unless they are moving then we obviously send far more frequent updates. Whereas, NPC's don't need this kind of updating - if an NPC didn't change positions - we never send another position update for the NPC to any client beyond the initial spawn position packet creation.
Quick Math Example
If you take a 200 player zone -
200 players sending updates every 12 seconds to 200 clients.
200 players * 5 (updates a minute minimum) / 60 (1 minute) = 16.6 * 200 clients = 3,333 packets per second in the best case scenario.
When a client goes into idle mode, they no longer receive position updates and no longer get tons of needless chatter, this reduces strain on the zoneserver and ultimately makes a better experience for everyone else.
With this change - simply - if 90% of your clients are idling, you reduce all of the packet strain by 90%.
Changelog
The Idle and AFK systems have been separated to improve player experience and reduce unnecessary network load.
Key Changes:
/afk. Automatic AFK will not override or be overridden by manual AFK status./afkremains active until toggled off and is unaffected by automatic behavior./autoattackNew Rules
Type of change
Testing
Been testing on THJ for about 2 months now with over 4,000 players. Feature is stable.
Checklist