v3.1.0: Full proxy support, cross-server messaging, and distributed locking#164
Merged
Conversation
…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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ezeconomy-velocitymodule for cross-server payment notifications and global player list broadcasting via Velocity plugin messaging.MessagingServicewith three transports (Velocity, BungeeCord, Redis pub/sub). Pending notifications stored in all four storage backends for offline players.locking.ttl-ms,retry-ms,max-attempts).EzBungeeProxyPluginnow handles payment notification forwarding,RECIPIENT_OFFLINEresponses, and global player list broadcasts.lockingtiming andcross-serversections next tolocking-strategyfor logical grouping.plugin.ymlmain class, channel mismatches, PaymentExecutor offline notification handling,ensureConnectedcalls in SQL providers, MD060 table formatting.Test plan
/paynotifications between backend servers via Velocity