
VelocityNavigator
The all-in-one Velocity network solution for intelligent lobby routing, parties, queues, Java and Bedrock menus, server management, Redis sync, failover, and live monitoring.
Оцените первым
665
15
Список изменений
[4.3.0] - 2026-07-14
Advanced proxy systems
- Added native parties with
/party invite,accept,deny,kick,leave, anddisband, private/pchat, and leader-follow synchronization onServerConnectedEvent. - Added a virtual lobby-capacity queue with action-bar position updates, asynchronous slot polling, automatic connection,
/queue leave, and optional initial-joinholding_serversupport. - Added a dependency-free Redis RESP client for
vn:servers:registerdynamic registration and cross-proxy circuit-breaker, health-cache, backend-state, and affinity synchronization. - Added backend MOTD lifecycle parsing for markers such as
[STATE:IN_GAME]; routing only uses configured allowed states. - Geographic-routing integrations and BungeeCord/Waterfall compatibility remain deferred and are not part of v4.3.0.
- Added optional server management:
/vn server add gamewrites only tovelocity.toml, while/vn server add lobbyalso persists lobby metadata inservers.tomland activates it immediately without reload. - Added
/vn server removeand/vn server list, overwrite protection, custom Velocity-config paths, IPv4/hostname/IPv6 parsing, and atomic configuration writes. - Expanded
gui.tomlBedrock controls with enable/fallback switches, sorting, button limits, visibility toggles, and title/content/button overrides with color conversion. - Added backend
config.ymlswitches for the bridge, inventory channel, handshake, refresh, delay, title length, and fallback material.
Added
- Configurable language packs — explicit
en,ru,es,fr,de,pt_br, andzh_cnselection plus arbitrary custom codes. Built-in changes rewrite active text; player locale is never auto-detected. - Separate
gui.toml— rows, materials, fillers, refresh interval, navigation slots, and per-server fixed slot/material/name/lore overrides. - Universal Java inventory selector — the same 4.3.0 JAR runs in Velocity proxy or Paper/Spigot bridge mode and announces its mode at startup.
- Pagination, live refresh, and unavailable indicators for Java inventory menus.
/vn bridge statusreports detected backend bridge versions and last-seen times.- Universal bridge integration tests cover proxy-open, backend-click, navigation, handshake, and proxy-selection flows.
- Exponential backoff with jitter for connection retries — each retry waits progressively longer with a small random jitter to avoid thundering-herd reconnects.
- Player affinity persistence — unexpired sticky-session mappings are now saved to disk and restored across proxy restarts.
/vn healthcommand — consolidated one-shot diagnostics: routing mode, lobby count, circuit-breaker states, drained servers, cache sizes, and affinity entry count in a single screen.- HTML operations dashboard — a separate HTTP server on its own port serving a live lobby table, routing distribution chart, affinity map, config summary, recent routing events, and joins/leaves-since-start counters. Disabled by default and authenticated via a bearer-token login flow.
velocity-plugin.jsondescriptor — modern Velocity plugin metadata alongside the existing@Pluginannotation.- New reproducible marketplace brand system with a plugin icon, hero banner, social card, nine feature panels, platform-specific listing copy, meaningful alt text, and a visual feature overview in the wiki.
- Built the backend bridge against the Spigot API 1.16.5 baseline without version-specific NMS.
Changed
- Dashboard documentation now distinguishes the universal
127.0.0.1loopback example from provider addresses and explains allocated ports, container binds, and browser URLs. - The official wiki URL is now built in.
startup.wiki_urlis no longer written or accepted as a custom documentation target, and legacy entries are removed during configuration normalization. - Language documentation now explains structural test coverage, custom packs, and how native speakers can contribute new or improved translations.
routing.use_menu_for_lobbyreplacesuse_chat_menu_for_lobby; the old key remains a compatible alias.- Selector mode/fallback lives in
navigator.toml, language inmessages.toml, GUI presentation ingui.toml, and managed lobby metadata inservers.toml. The plugin/config versions are 4.3.0/v8. - MiniMessage, classic
&/§,&#RRGGBB, and Bungee-style hex colors are accepted in configurable text. - Server health cache keys are now normalized to lowercase. Mixed-case server names no longer produce duplicate cache entries.
- Consistent hash ring uses a thread-local
MessageDigestinstead of allocating one per lookup. Throughput onconsistent_hashmode improves by roughly 3–4× under load. RoutePlannernow builds aMap<String, LobbyEntry>once per planning call instead of scanning the lobby list linearly per candidate.- Config reload now uses a dedicated
ReentrantLockinstead ofsynchronized(this). Admin commands and event subscribers no longer contend on the same monitor during a reload. - Bedrock form text stripping now matches legacy color codes case-insensitively.
&Cand&Lare now stripped alongside&cand&l. - Update checks are now silent by default — no startup log line, no periodic console message.
/vn updatecheckstill works for manual checks. Setupdate_checker.silent = falseinnavigator.tomlto restore the old behavior. - Config version bumped to 8. Adds the final 4.3.0 advanced-system, managed-server, selector, dashboard, and Redis settings. Older configs are auto-migrated and backed up; network-facing systems remain disabled by default.
Fixed
- Party commands now expose explicit
/party statusand/party chat <message>paths, while/p <message>and multiword messages use Velocity raw-command parsing. - Escaped MiniMessage entities such as
<player>are no longer mistaken for the legacy&lbold color code. - Dashboard API version data now comes from the plugin metadata instead of a hardcoded prerelease string.
- Redis RESP parsing on the Velocity proxy now enforces line, bulk, array, total-frame, and nesting limits before allocation or recursion.
- Backend Redis lifecycle registration now rejects oversized response lines instead of allowing peer-controlled heap growth.
- Dashboard bearer credentials are accepted only through the
Authorizationheader. The browser login keeps the token in memory and never places it in URLs or persistent browser storage. MetricsService.active()andstatusLine()are nowvolatile. Reader threads (Prometheus exporter,/vn status) no longer risk seeing stale values after a config reload.PrometheusExporter.start()now clears theserverreference ifstart()throws. Previously the nextstop()call would operate on an unstarted server.UpdateCheckernow uses the non-deprecatedJsonParser.parseString(...)and thenextAllowedCheckread-modify-write is guarded by asynchronizedblock to prevent duplicate 429 retries under concurrency.ConfigManager's generatednavigator.tomlheader box no longer overflows on the bStats URL line.- Empty
ifbranch inapplyLoadedConfigurationremoved — round-robin reset logic is now a single positive check.
Файлы
VelocityNavigator-4.3.0.jar(799.29 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
4.3.0
Загрузчики
BukkitPaperPurpurSpigotVelocity
Версии игры
1.16–26.2
Загрузок
15
Дата публикации
14.07.2026
