Entity tracking range is not limited by simulation distance
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 12.7k
- Forks
- 3.5k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 11
Description
Expected behavior
Entities outside of the simulation distance should automatically be outside of tracking range as well. The client should not crash.
Observed/Actual behavior
If entity-tracking-range is set to a value that is higher than the simulation-distance (in blocks), entities will stop ticking while still being tracked. This leads to a client crash, because they will end up in an invalid position as they are still being ticked on the client and not removed.
This issue only happens on Paper, not on Spigot or Vanilla servers. It also happens on Paper builds before the chunk system rewrite.
Client crash report https://pastebin.com/ypqTDvWY. The error indicates that the coordinates were out of bounds for the client.
Also see the discord convo here: https://discord.com/channels/289587909051416579/289587909051416579/1028836007547777165
Steps/models to reproduce
- Set
entity-tracking-range.othersto256 - Give yourself a bunch of firework rockets with a long flight duration using
/minecraft:give @p firework_rocket{Fireworks:{Flight:15}} 64 - Use the fireworks rockets.
- Wait about 2-3 minutes
- The client will start lagging and then crash
Plugin and Datapack List
Not relevant
Paper version
Happens on both 112 (first 1.19.2 build) and 202 (currently latest 1.19.2 build)
Other
See discord convo around here: https://discord.com/channels/289587909051416579/289587909051416579/1028836007547777165
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with entity-tracking-range.others set to 256, using the provided firework command, and review the linked client crash report. Trace Paper's entity tracking and simulation-distance handling; done means entities outside simulation distance are no longer tracked and the client no longer crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100