Skip to content

fix(premium): send premium list via triggering player and persist non-chunked list - #3143

Open
HEBEI77 wants to merge 1 commit into
AuthMe:masterfrom
HEBEI77:fix-3116-premium-list-carrier
Open

fix(premium): send premium list via triggering player and persist non-chunked list#3143
HEBEI77 wants to merge 1 commit into
AuthMe:masterfrom
HEBEI77:fix-3116-premium-list-carrier

Conversation

@HEBEI77

@HEBEI77 HEBEI77 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

See #3116.

Problem: premium users cannot log in when the backend whitelist is enabled on Velocity networks.

Impact: the proxy never learns premium names, keeps sending offline UUIDs, and the backend whitelist kicks even though the premium UUID is whitelisted.

Root cause is two parts. BungeeReceiver.java sends the premium list on proxy.started using only getOnlinePlayers as carrier and drops it when empty. VelocityProxyBridge.java and BungeeProxyBridge.java persist chunked lists and set/unset to premium_names.cache but not the non-chunked premium.list path.

Fix: fall back to the triggering player when no online player exists at send time in BungeeReceiver.java:122. Persist the non-chunked list like the other paths in VelocityProxyBridge.java:296 and BungeeProxyBridge.java:293.

Test: BungeeReceiverTest 11 run 0 fail, new test pins 0 online players sends via triggering player and 1 online player uses fresh carrier. VelocityProxyBridgeTest 34 run 0 fail, BungeeProxyBridgeTest 21 run 0 fail, new tests send a non-chunked list, wait for premium_names.cache, restart the bridge from the same dir, and prelogin/handshake forces online mode.

Limits: fresh setup with the whitelist on from the start where ServerConnected never fires and proxy.started is never sent still needs docs or whitelist handling. I did not change that path here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant