New Release: Proxy Support and Cache Rewrite
新版本:代理支持和缓存重写
Proxy Support 代理支持
We are happy to announce that our plugin now supports proxy servers, including Velocity and BungeeCord! To use the plugin on your proxy server, simply download the latest release and place it into the plugins directory of your proxy. Ensure that the PacketEvents plugin is also installed on your platform. Once set up, the plugin will automatically take care of all your backends. You won't need the plugin on your backend once installed upon the proxy.
我们很高兴地宣布,我们的插件现在支持代理服务器,包括 Velocity 和 BungeeCord!要在代理服务器上使用该插件,只需下载最新版本并将其放入代理的插件目录中即可。确保平台上也安装了 PacketEvents 插件。设置完成后,该插件将自动处理您的所有后端。一旦安装在代理上,您将不需要后端的插件。
Cache Rewrite 缓存重写
This update also introduces a significant overhaul of our cache management system. Previously, a single cache was maintained for the entire server, retaining entities until they were explicitly removed. This led to inefficiencies, especially when entities remained cached unnecessarily due to the potential for client-side demand.
此更新还对我们的缓存管理系统进行了重大改革。以前,为整个服务器维护单个缓存,保留实体,直到显式删除它们。这导致了效率低下,特别是当实体由于潜在的客户端需求而不必要地缓存时。
To support proxy servers, we completely rewrote the cache manager. Now, each user has their own cache, addressing the challenge of server-specific entity IDs and user server-hopping. This user-centric caching relies entirely on packets, eliminating the need for platform-specific methods to track entity spawning and removal. Entities are promptly removed from the cache when your client receives a packet indicating they are out of render distance, etc, dramatically improving cache size and lookup speeds.
为了支持代理服务器,我们完全重写了缓存管理器。现在,每个用户都有自己的缓存,解决了特定于服务器的实体 ID 和用户服务器跳转的挑战。这种以用户为中心的缓存完全依赖于数据包,无需使用特定于平台的方法来跟踪实体的生成和删除。当客户端收到指示实体超出渲染距离等的数据包时,实体会立即从缓存中删除,从而显著提高缓存大小和查找速度。
With this new approach, we no longer require the
Caffeine Library, reducing the plugin size from 1.06MB (1006KB) to a mere 74KB. As the saying goes, "Size doesn't matter, but rather what you do with it." We have surely taken that seriously.
通过这种新方法,我们不再需要咖啡因库,将插件大小从 1.06MB (1006KB) 减少到仅 74KB。俗话说,“尺寸不重要,重要的是你用它做什么。我们肯定认真对待这一点。
1 Jar, 3 Platforms (and forks), hundreds of different versions across all platforms. All of that is in a single jar of 74KB.
1 个 Jar,3 个平台(和分叉),所有平台上的数百个不同版本。所有这些都在一个 74KB 的罐子里。
Acknowledgments 确认
This release wouldn't have been possible without the invaluable contributions of the following individuals:
如果没有以下个人的宝贵贡献,这个版本是不可能实现的:
- @Tofaa2: Instrumental in supporting Velocity and redesigning the cache system.
@Tofaa2:在支持 Velocity 和重新设计缓存系统方面发挥了重要作用。
- @Booky10: Provided essential tips and insights for developing the packet-based entity tracker.
@Booky10:提供了开发基于数据包的实体跟踪器的基本提示和见解。
- @Abhigya: Assisted in redesigning the Gradle Build Chain.
@Abhigya:协助重新设计 Gradle 构建链。
- @AlexDev: Offered numerous optimization suggestions and guided the configuration manager rewrite.
@AlexDev:提供了许多优化建议,并指导了配置管理器的重写。
Thank you to everyone involved for your support in making this release possible!
感谢所有参与其中的人,感谢你们的支持,使这个版本成为可能!