Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
3.1.0
Shadow48402 released EzEconomy version 3.1.0 on May 28, 2026

Added
- Velocity proxy support - New
ezeconomy-velocitymodule provides a Velocity proxy plugin for cross-server payment notifications and global player list broadcasting. Deployezeconomy-velocity.jaron your Velocity proxy alongside the main plugin on backend servers. - Cross-server messaging layer - New
MessagingService,MessagingTransport, andMessageTypeabstractions in core. Supports three transports: Velocity plugin messaging, BungeeCord plugin messaging, and Redis pub/sub. - Redis pub/sub messaging - New
RedisMessagingTransportin theezeconomy-redismodule enables proxy-independent cross-server messaging via Redis pub/sub. Ideal for multi-proxy setups or networks already running Redis. - Pending notifications - Payment notifications for offline players are now stored in the database and delivered on next join. Implemented in all four storage backends (YML, MySQL, SQLite, MongoDB).
- Player info persistence -
StorageProvider.persistPlayerInfo()stores UUID/name/display name on join, enablingresolvePlayerByName()for cross-server name lookups. - Configurable lock timing - New
lockingsection inconfig.ymlwithttl-ms,retry-ms, andmax-attemptssettings, replacing hardcoded values. - VaultEconomyImpl distributed locking - Withdraw and bank withdraw operations now acquire distributed locks (with local fallback) to prevent race conditions in multi-server environments.
- Cross-server documentation - New
docs/feature/cross-server.mdanddocs/integration/velocity.mdcovering all three messaging transports, configuration, and deployment. - Velocity CI workflow - GitHub Actions workflow for the
ezeconomy-velocitymodule. - MessagingComponent - Bootstrap component that initialises cross-server messaging during plugin startup.
- New message keys:
eco_give,baltop_footer,payment_cancelled,recipient_offline_queued. /payalias:ezpay.MySQLStorageProvider.persistPlayerInfo()implementation for explicit player data upserts.
Changed
- BungeeCord proxy overhaul -
EzBungeeProxyPluginnow implementsListener, registers bothezeconomy:locksandezeconomy:notifychannels, handles payment notification forwarding, sendsRECIPIENT_OFFLINEresponses, and broadcasts the global player list every 3 seconds. - BungeeCord proxy plugin.yml - Fixed
mainclass reference, addeddescription, enabled resource filtering for${project.version}. - All sub-module POM versions now inherit from the parent (removed explicit
<version>tags). - Updated README with cross-server messaging, Velocity integration, and distributed locking documentation links.
- Updated
docs/feature/proxy-network.mdanddocs/integration/bungeecord.mdto reflect Velocity support and cross-server messaging. StorageProvider.transfer()now uses configurable lock timing viaEzEconomyPlugin.getLockTtlMs/RetryMs/MaxAttempts().
Fixed
- BungeeCord proxy
plugin.yml- Main class was pointing to the wrong class (EzBungeeProxyinstead ofEzBungeeProxyPlugin). - BungeeCord channel mismatches - Unified lock and notification channels across server and proxy modules.
- PaymentExecutor cross-server notifications - Offline recipients now receive payment notifications via cross-server messaging instead of silently dropping the message.
- Cross-server
/payfailing silently - Payments to players on other backend servers failed because the recipient was looked up only in Bukkit's local player cache.PayCommandnow checksMessagingService.isNetworkPlayer()andStorageProvider.resolvePlayerByName()when local lookups fail. - Incorrect UUID for cross-server recipients -
PaymentExecutorwas usingBukkit.getOfflinePlayer(name)which generates an offline-mode UUID for players who have never joined the local server. It now resolves the correct UUID from the messaging service or shared database. MySQLStorageProvider.resolvePlayerByName()not implemented - The default no-op from theStorageProviderinterface was being used. Now queries theplayerstable by name to return the correct UUID.
Information
| Published on | May 28, 2026 |
|---|---|
| Downloads | 0 |
Platforms
Paper (1.13-26.1.2)
Velocity (3.0-3.5)
Dependencies
Paper