Releases: User-Time/MultiProxySync
🚀 MultiProxySync v2.2.0
本次更新为 MultiProxySync 带来了 Redis Pub/Sub 实时同步机制 与 MiniPlaceholders 支持,并进一步优化了全局在线人数的同步体验。
除了原有基于 Redis 数据存储与定时心跳刷新的同步方式外,本版本还补上了 跨代理人数变化传播不够及时 这一在项目较早阶段就已明确存在的问题。
This release brings Redis Pub/Sub real-time synchronization and MiniPlaceholders support to MultiProxySync, while further improving the global player count synchronization experience.
In addition to the original Redis data storage and heartbeat-based refresh model, this version also addresses the insufficiently timely propagation of cross-proxy player count changes, an issue that had already been clearly identified since the earlier stages of the project.
✨ 特性更新 | Features
-
Pub/Sub 实时同步 / Pub/Sub Real-Time Sync:
当玩家加入、离开,或代理关闭时,插件会通过 Redis Pub/Sub 主动广播人数更新消息,让其他代理更快刷新本地缓存的全局在线人数。
When a player joins, leaves, or a proxy shuts down, the plugin now actively publishes player count update messages through Redis Pub/Sub, allowing other proxies to refresh their locally cached global player count much faster. -
MiniPlaceholders 支持 / MiniPlaceholders Support:
现在支持在安装MiniPlaceholders时自动注册占位符。
The plugin now supports automatic placeholder registration whenMiniPlaceholdersis installed. -
新增占位符 / New Placeholder:
新增<multiproxysync_global_player_count>占位符,可用于显示当前同步后的全网在线人数。
Added the<multiproxysync_global_player_count>placeholder, which can be used to display the current synchronized global player count.
🔧 改进与优化 | Improvements
-
同步时效优化 / Synchronization Responsiveness:
优化了多代理环境下玩家人数变化的传播速度,使人数更新能更快反映到本地缓存与 Ping 显示中。
Improved the propagation speed of player count changes in multi-proxy environments, allowing updates to be reflected more quickly in local cache and ping display. -
关服刷新优化 / Shutdown Refresh Improvements:
代理关闭时会在清理自身 Redis 数据后主动发布更新消息,进一步减少其他代理人数显示延迟。
When a proxy shuts down, it now publishes an update after cleaning up its own Redis data, further reducing player count display delay on other proxies. -
占位符读取优化 / Placeholder Optimization:
占位符现在改为使用本地缓存人数,而不是在高频解析时重复全量查询 Redis。
Placeholders now use the locally cached player count instead of repeatedly scanning Redis during frequent resolution.
🐛 修复 | Fixes
-
同步延迟问题 / Synchronization Delay Issue:
修复了项目早期就已发现的一个问题:在仅依赖 Redis 数据同步与定时心跳刷新时,玩家加入、离开或代理关闭后,其他代理上的人数更新可能不够及时。
Fixed an issue identified since the early stages of the project: when relying only on Redis data synchronization and periodic heartbeat refreshes, player count updates on other proxies could lag behind after player joins, leaves, or proxy shutdowns. -
占位符额外开销 / Placeholder Overhead:
修复了占位符解析过程中可能带来的额外 Redis 全量查询开销。
Fixed unnecessary full Redis scan overhead that could be caused during placeholder resolution.
🚀 MultiProxySync v2.0.0
🚀 MultiProxySync v2.0.0
本次更新是 MultiProxySync 的一次重要版本升级。
除了继续提供跨代理全局同步能力外,本版本还正式引入了 公开 API,并将项目拆分为独立的 API 模块 与 插件模块,使其他插件的集成方式更加清晰、规范且易于维护。
This release is a major upgrade for MultiProxySync.
In addition to continuing to provide global synchronization across proxies, this version officially introduces a public API and restructures the project into separate API and plugin modules, making third-party integrations cleaner, more standard, and easier to maintain.
✨ 特性更新 | Features
-
公开 API / Public API:
新增正式的公共 API,允许其他插件直接访问跨代理同步后的玩家与代理数据。
Introduces an official public API that allows other plugins to directly access synchronized player and proxy data across multiple proxies. -
模块化结构 / Modular Structure:
项目现已拆分为multiproxysync-api与multiproxysync-plugin两个模块。
The project is now split into two modules:multiproxysync-apiandmultiproxysync-plugin. -
Maven 支持 / Maven Support:
API 现已可通过标准 Maven 依赖方式接入,无需再手动安装本地 JAR。
The API can now be used through a normal Maven dependency without requiring developers to install a local JAR manually. -
内部结构优化 / Internal Improvements:
优化了项目结构,为后续维护和第三方插件支持打下更好的基础。
Improved the internal project structure to provide a cleaner foundation for long-term maintenance and third-party plugin support.
🔌 API 更新说明 | API Highlights
本版本公开 API 提供以下能力:
The public API now provides:
-
获取所有在线代理节点
Get all online proxies -
获取全网所有玩家
Get all players across all proxies -
按代理分组获取玩家
Get players grouped by proxy -
获取全网玩家总数
Get total global player count -
按代理获取人数统计
Get player count grouped by proxy
📦 Maven 依赖方式 | Maven Dependency
你现在可以通过以下方式引入 API:
You can now add the API using the following dependency:
<dependency>
<groupId>top.time-blog</groupId>
<artifactId>multiproxysync-api</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>⚠️ 注意事项 | Notes
-
Redis 连接生命周期仍由插件内部管理。
Redis connection handling remains internal to the plugin lifecycle. -
该 API 主要用于其他插件读取同步后的数据。
This API is primarily intended for external plugins to read synchronized data.
🙏 特别鸣谢 | Special Thanks
特别感谢 @L-Wehmschulte 提出该功能建议,并在实现过程中给予鼓励与支持。
Special thanks to @L-Wehmschulte for suggesting this feature and encouraging its implementation.
🚀 MultiProxySync v1.3.1
🚀 MultiProxySync v1.3.1
本次更新为 MultiProxySync 带来了一个重要增强:公共 API 支持。
在原有全局同步能力的基础上,现在你可以在其他插件中直接访问跨代理同步后的玩家数据。
This update introduces a major enhancement to MultiProxySync: a public API.
In addition to global synchronization, plugins can now directly access synchronized player data across proxies.
✨ 特性更新 | Features
-
公共 API / Public API:
新增 API 接口,允许其他插件获取全局玩家数据(总人数、分组信息等)。
Introduces a public API allowing other plugins to access global player data (total count, grouped data, etc). -
自动故障自愈 / Automatic Self-Healing:
当代理节点异常下线时,Redis 中的数据会在 TTL 到期后自动清理。
Automatically cleans up stale data from crashed proxy nodes using Redis TTL.
🔌 API 更新说明 | API Highlights
本版本新增的 API 支持以下能力:
The new API provides:
-
获取所有代理节点
Get all proxies -
获取全网玩家 UUID 集合
Get all players across proxies -
按代理分组获取玩家
Get players grouped by proxy -
获取全网玩家总数
Get total player count -
按代理获取人数统计
Get player count grouped by proxy
⚠️ 注意事项 | Notes
-
API 为只读接口,Redis 连接由插件内部管理。
The API is read-only, and Redis connections are managed internally. -
返回的玩家标识为 UUID 字符串,而不是玩家名。
Player identifiers returned are UUID strings, not usernames.
💡 反馈与支持 | Feedback & Support
如果你在使用过程中遇到问题,或有新的想法,欢迎在 Issues 中反馈 🙌
If you encounter any issues or have ideas, feel free to open an issue 🙌
MultiProxySync v1.0.0 - 跨服人数同步插件发布🎉
🚀 MultiProxySync v1.0.0
这是 MultiProxySync 的第一个正式发布版本。它旨在解决 Velocity 分布式群组服务器中,各代理服入口的 Ping 值显示人数不一致的问题。
This is the first official release of MultiProxySync. It is designed to solve the issue of inconsistent player counts displayed in server pings across different Velocity proxy entry points in a distributed server network.
✨ 特性更新 | Features
-
全局实时同步 / Global Real-Time Sync:支持跨多个 Velocity 代理端的玩家实时人数统计。
Supports real-time player count synchronization across multiple Velocity proxies. -
分布式架构 / Distributed Architecture:基于 Redis 集合(Set)实现数据存取,轻量且高效。
Uses Redis Sets for data storage and retrieval, making it lightweight and efficient. -
自动故障自愈 / Automatic Self-Healing:当某个代理节点意外离线时,Redis 中的残留玩家数据会在 30 秒内自动清理,有效避免“幽灵玩家”。
When a proxy node goes offline unexpectedly, residual player data in Redis will be automatically cleaned up within 30 seconds, effectively preventing “ghost players.” -
开箱即用 / Plug and Play:无需繁琐的指令,配置好 Redis 后即可自动接管服务器列表的人数显示。
No complex commands required—simply configure Redis and the plugin will automatically take over player count display in the server list.
🛠️ 如何安装 | Installation
-
下载
MultiProxySync-1.0.0.jar。
DownloadMultiProxySync-1.0.0.jar. -
将其放入你所有 Velocity 代理端的
plugins/目录中。
Place it into theplugins/directory of all your Velocity proxies. -
重启服务器以生成配置文件。
Restart the server to generate the configuration file. -
在
plugins/multiproxysync/config.yml中填入你的 Redis 连接信息。
Editplugins/multiproxysync/config.ymland fill in your Redis connection details. -
确保所有节点的
serverName配置项互不相同。
Make sure each node has a uniqueserverNamevalue.
⚠️ 注意事项 | Notes
-
请确保所有 Velocity 节点都能稳定连接到同一个 Redis 服务器。
Ensure all Velocity nodes can reliably connect to the same Redis server. -
插件已内置心跳检测机制,无需担心因网络波动导致的人数统计丢失。
The plugin includes a built-in heartbeat mechanism, so you don’t need to worry about player count loss caused by network fluctuations.
💡 反馈与支持 | Feedback & Support
如果你在使用过程中遇到任何问题,欢迎在 Issues 中提交反馈。
If you encounter any issues while using the plugin, feel free to submit feedback on Issues.