EasyAuth
EasyAuth copied to clipboard
[BUG] EasyAuth does NOT detect GeyserMC (Floodgate) connections.
Versions
- EasyAuth 3.0.20
- Fabric API 0.97.0
- GeyserMC 2.2.3
- Floodgate 0.17.3
- Fabric server version 1.20.4
Describe the bug
My goal is to have a system where bedrock players and official game accounts dont have to /login. ... , "premiumAutologin": true, "floodgateAutologin": true, ...
Is set in EasyAuth config. Authentication type is set to floodgate in geyser's config.
Whenever a bedrock player connects, it detects them as players with offline accounts. But java connections work fine.
e.g. a java player with the name Player123 who recently used an offline account now joins with his official mojang account:
[22:04:17] [Netty Epoll Server IO #2/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Checking player Player123 for premium status
[22:04:18] [Netty Epoll Server IO #2/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Player Player123 has a Mojang account
[22:04:19] [User Authenticator #1/INFO] (class_3248) UUID of player Player123 is f53f1cc3-3461-47af-9501-42a93da20cf1
[22:04:19] [luckperms-worker-12/WARN] (luckperms) LuckPerms already has data for player 'Player123' - but this data is stored under a different UUID.
[22:04:19] [luckperms-worker-12/WARN] (luckperms) 'Player123' has previously used the unique ids [1993e762-85ff-357e-9af8-37e716607cfa] but is now connecting with 'f53f1cc3-3461-47af-9501-42a93da20cf1'
[22:04:19] [luckperms-worker-12/WARN] (luckperms) The UUID the player is connecting with now is Mojang-assigned (type 4). This implies that one of the other servers in your network is not authenticating correctly.
[22:04:19] [luckperms-worker-12/WARN] (luckperms) If you're using BungeeCord/Velocity, please ensure that IP-Forwarding is setup correctly on all of your backend servers!
[22:04:19] [luckperms-worker-12/WARN] (luckperms) See here for more info: https://luckperms.net/wiki/Network-Installation#pre-setup
[22:04:19] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Creating cache for null f53f1cc3-3461-47af-9501-42a93da20cf1
[22:04:19] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Creating cache for null f53f1cc3-3461-47af-9501-42a93da20cf1
[22:04:19] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Migrated offline stats (1993e762-85ff-357e-9af8-37e716607cfa.json) for player Player123 to online stats (f53f1cc3-3461-47af-9501-42a93da20cf1.json)
[22:04:20] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Migrating data for Player123
[22:04:20] [Server thread/WARN] (Cardinal Components API) Failed to deserialize component: unregistered key trinkets:trinkets
[22:04:20] [Server thread/INFO] (class_3324) Player123[/[2401:4900:1cb0:4d72:adc7:1ab3:93df:bab5%0]:54917] logged in with entity id 521 at (-172.5, 85.0, -491.5)
[22:04:20] [Server thread/INFO] (TravelersBackpack) Loading config from file...
[22:04:20] [Server thread/INFO] (MinecraftServer) Player123 joined the game
That same person, but now with his official bedrock account Player1234:
[22:00:51] [epollEventLoopGroup-3-2/INFO] (geyser) /[IPv6 Address]:61149 tried to connect!
[22:00:51] [epollEventLoopGroup-4-2/INFO] (geyser) Is player data signed? true
[22:00:51] [epollEventLoopGroup-4-2/INFO] (geyser) Could not find packet for ClientToServerHandshakePacket
[22:00:52] [epollEventLoopGroup-4-2/INFO] (geyser) Could not find packet for ClientCacheStatusPacket
[22:00:52] [epollEventLoopGroup-4-2/INFO] (geyser) Player connected with username Player1234
[22:00:52] [defaultEventLoopGroup-7-2/INFO] (geyser) Player1234 (logged in as: Player1234) has connected to the Java server
[22:00:52] [defaultEventLoopGroup-7-2/INFO] (geyser) Locale already loaded: en_us
[22:00:52] [Geyser Fabric connection thread-6-3/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Checking player Player1234 for premium status
[22:00:52] [Geyser Fabric connection thread-6-3/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Player Player1234 doesn't have a Mojang account
[22:00:52] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Creating cache for null 6f0eeb28-58e0-3872-812a-5d79ff0bce13
[22:00:52] [defaultEventLoopGroup-7-2/INFO] (geyser) Could not find packet for ClientboundUpdateEnabledFeaturesPacket
[22:00:52] [defaultEventLoopGroup-7-2/INFO] (geyser) Could not find packet for ClientboundFinishConfigurationPacket
[22:00:52] [Geyser player thread-5-2/INFO] (geyser) Emulating post 1.18 block predication logic for Player1234? true
[22:00:52] [Geyser player thread-5-2/INFO] (geyser) Emulating post 1.13 villager logic for Player1234? true
[22:00:52] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Creating cache for null 6f0eeb28-58e0-3872-812a-5d79ff0bce13
[22:00:52] [Server thread/INFO] (EasyAuth) [EasyAuth]: [DEBUG]: Not migrating Player1234, as premium status is 'false' and data file is not present.
[22:00:52] [Server thread/INFO] (class_3324) Player1234[/[IPv6 Address]:0] logged in with entity id 336 at (8.5, 93.0, 7.5)
[22:00:52] [Server thread/INFO] (TravelersBackpack) Loading config from file...
[22:00:53] [Server thread/INFO] (MinecraftServer) Player1234 joined the game
[22:00:53] [defaultEventLoopGroup-7-2/WARN] (geyser) Downstream packet error! Cannot invoke "org.geysermc.geyser.shaded.com.github.steveice10.mc.protocol.data.game.recipe.RecipeType.ordinal()" because "type" is null
Expected behavior Bedrock players are expected to be not asked for authentication by EasyAuth.
Additional context The server is running on IPv6 with the flag -Djava.net.preferIPv6Addresses=true. The java clients have the same java flag otherwise they are not able to connect. But I dont really know if this is what causes the issue. I have Debug logging enabled for both EasyAuth and GeyserMC.