Skip to content

Support optional online-mode auth for Bedrock players#657

Open
CristianVGdev wants to merge 1 commit intoGeyserMC:masterfrom
CristianVGdev:pr2
Open

Support optional online-mode auth for Bedrock players#657
CristianVGdev wants to merge 1 commit intoGeyserMC:masterfrom
CristianVGdev:pr2

Conversation

@CristianVGdev
Copy link

@CristianVGdev CristianVGdev commented Mar 15, 2026

This pull request introduces support for allowing Bedrock players to authenticate in online mode when using Floodgate, controlled by a new configuration option. The changes ensure that player profile information is handled correctly in both online and offline modes, and update the listeners and player implementation to support this behavior.

Online Mode Authentication Support:

  • Added a new configuration option allow-online-mode-authentication to proxy-config.yml and ProxyFloodgateConfig, enabling Bedrock players to authenticate in online mode when desired. [1] [2]
  • Updated BungeeListener and VelocityListener to check the new config option and handle player authentication and caching accordingly, ensuring correct player profile assignment for both modes. [1] [2] [3]

Player Profile Handling:

  • Modified FloodgatePlayerImpl to store and use online mode UUID and username, including methods to set and retrieve the correct profile based on authentication mode. [1] [2]
  • Updated FloodgatePlayerImpl.toBedrockData() to forward linked player information when online mode authentication is used.

Listener and Dependency Updates:

  • Injected ProxyFloodgateConfig into BungeeListener and updated imports to support new features and player handling. [1] [2]
  • Introduced a player cache in BungeeListener to temporarily store player data for online mode authentication scenarios.

Note

This is an attempt to address issue #634. From a code perspective the changes should make sense, but I cannot guarantee that it works correctly in practice.

I personally do not use Velocity and my setup is based on Spigot, so this implementation was not tested in a real Velocity environment. The goal of this PR is mainly to provide a possible direction or reference implementation for supporting online mode authentication with Floodgate.

If someone who actively uses Velocity can test it and confirm whether it behaves correctly, that would be very helpful.

Probably:
Fixes #634

Add allow-online-mode-authentication option and plumbing to support letting Bedrock players authenticate in online mode while retaining Floodgate API behavior. Introduces a new config property, documents it in proxy-config.yml, and changes Bungee/Velocity listeners to avoid forcing offline mode when enabled. Adds a short-lived connection->player cache and sets the online-mode profile on FloodgatePlayerImpl after authentication. FloodgatePlayerImpl now stores an optional online-mode UUID/username and uses it for getCorrectUniqueId/getCorrectUsername and BedrockData.
@crazygamesfan0-glitch

This comment was marked as off-topic.

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.

Hope to support online mode

2 participants