Skip to content

v3.1.0: Full proxy support, cross-server messaging, and distributed locking#164

Merged
ez-plugins merged 9 commits into
v3.xfrom
docs/v310-config-reorder
May 28, 2026
Merged

v3.1.0: Full proxy support, cross-server messaging, and distributed locking#164
ez-plugins merged 9 commits into
v3.xfrom
docs/v310-config-reorder

Conversation

@gitEpildev
Copy link
Copy Markdown
Collaborator

Summary

  • Velocity proxy support: new ezeconomy-velocity module for cross-server payment notifications and global player list broadcasting via Velocity plugin messaging.
  • Cross-server messaging layer: unified MessagingService with three transports (Velocity, BungeeCord, Redis pub/sub). Pending notifications stored in all four storage backends for offline players.
  • Distributed locking in VaultEconomyImpl: withdraw and bank withdraw operations acquire distributed locks with configurable timing (locking.ttl-ms, retry-ms, max-attempts).
  • BungeeCord proxy overhaul: EzBungeeProxyPlugin now handles payment notification forwarding, RECIPIENT_OFFLINE responses, and global player list broadcasts.
  • Documentation updates: new cross-server and Velocity integration docs, updated configuration/locking/Redis/API reference/home page docs, changelog updated.
  • Config reorder: moved locking timing and cross-server sections next to locking-strategy for logical grouping.
  • Bug fixes: BungeeCord proxy plugin.yml main class, channel mismatches, PaymentExecutor offline notification handling, ensureConnected calls in SQL providers, MD060 table formatting.

Test plan

  • Verify CI passes for all modules
  • Validate cross-server /pay notifications between backend servers via Velocity
  • Confirm pending notifications are stored and delivered on join for offline recipients
  • Test fallback to local locking when proxy/Redis is unavailable

ez-plugins and others added 9 commits May 27, 2026 11:50
…ocking

Add Velocity proxy module (ezeconomy-velocity) with payment notification
forwarding, recipient offline handling, and player list broadcasting.

Add cross-server messaging abstraction (MessagingService, MessagingTransport,
MessageType) with three transports: Velocity plugin messaging, BungeeCord
plugin messaging, and Redis pub/sub.

Overhaul BungeeCord proxy module: fix plugin.yml main class, implement
PluginMessageListener, add notification forwarding and player list
broadcasting, unify channels.

Add pending notification support to all four storage backends (YML, MySQL,
SQLite, MongoDB) for offline payment delivery on next join.

Port local v2.6.0 improvements: configurable lock timing, VaultEconomyImpl
distributed locking, player info persistence, resolvePlayerByName, new
message keys.

Integrate MessagingService into PaymentExecutor (cross-server notifications
for offline recipients) and PlayerJoinListener (pending notification
delivery and player info persistence on join).

Add RedisMessagingTransport for proxy-independent cross-server messaging
via Redis pub/sub.

Add documentation: velocity.md, cross-server.md, updated README, updated
proxy-network.md and bungeecord.md.

Add Velocity CI workflow and messaging layer tests.

Bump all module versions to 3.1.0.
- Add locking timing and cross-server config sections to configuration.md
- Document BUNGEECORD lock strategy and configurable timing in locking-strategy.md
- Add Redis pub/sub messaging section to redis.md
- Document new StorageProvider cross-server methods in storage-provider.md
- Add cross-server and Velocity links to overview.md next steps
- Add /ezpay alias and remove stale note from commands.md
- Fix ensureConnected calls in MySQL/SQLite pending notification methods
fix: added bank transfer failure fallback
ci: fix balance format variable and mock dupe
@ez-plugins ez-plugins merged commit 5ad883d into v3.x May 28, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants