Skip to content

Bedrock players disconnect after joining Java server with Geyser (ReadTimeoutException) #6328

@inkognito338

Description

@inkognito338

Describe the bug

I'm using Geyser on a Velocity proxy, and Bedrock players are able to connect and join the Java server, but they disconnect shortly after with a ReadTimeoutException.

Setup:

  • Geyser version: 2.9.5-SNAPSHOT (DEV build)
  • Platform: Velocity 3.5.0-SNAPSHOT
  • Java server: 1.21.x
  • Floodgate: not installed
  • Auth type: offline
  • Xbox authentication: enabled (default)
  • Test also reproduced on a clean server with no plugins

Behavior:

  • Bedrock player connects successfully via Geyser
  • Player joins Java server
  • After ~10–30 seconds, player gets disconnected

Error:
Internal Exception: io.netty.handler.timeout.ReadTimeoutException

Logs:

  • Could not find packet for ClientToServerHandshakePacket
  • Could not find packet for ClientCacheStatusPacket
  • ReadTimeoutException

Expected behavior:
Bedrock players should remain connected without disconnecting or timing out.

Notes:

  • Issue happens even on a clean setup
  • Java players are not affected
  • Connection initially succeeds before the disconnect

[00:59:49 INFO]: Booting up Velocity 3.5.0-SNAPSHOT (git-f712997d-b593)...
[00:59:49 INFO]: Connections will use epoll channels, libdeflate (Linux x86_64) compression, OpenSSL 3.x.x (Linux x86_64) ciphers
[00:59:49 WARN]: The proxy is running in offline mode! This is a security risk and you will NOT receive any support!
[00:59:50 INFO]: Loading localizations...
[00:59:50 INFO]: Loading plugins...
[00:59:50 INFO]: Loaded plugin geyser 2.9.5-SNAPSHOT (git-DEV-346178c) by GeyserMC
[00:59:50 INFO]: Loaded 2 plugins
[00:59:51 INFO] [geyser]: Загрузка расширений...
[00:59:51 INFO] [geyser]: Загружено расширений: 0
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser help
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser list
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser reload
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser offhand
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser dump
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser version
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser settings
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser statistics
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser advancements
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser tooltips
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser connectiontest
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser ping
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser options
[00:59:51 INFO] [geyser]: Зарегистрирована команда geyser quickactions
[00:59:51 INFO]: Listening on /[0:0:0:0:0:0:0:0]:портсервера
[00:59:51 WARN]: Using HAProxy and listening on /[0:0:0:0:0:0:0:0]:портсервера, please ensure this listener is adequately firewalled.
Hosting-Minecraft: Server marked as running...
[00:59:51 INFO] [geyser]: ******************************************
[00:59:51 INFO] [geyser]:
[00:59:51 INFO] [geyser]: Загрузка Geyser версии 2.9.5-SNAPSHOT (git-DEV-346178c)
[00:59:51 INFO] [geyser]:
[00:59:51 INFO] [geyser]: Вы используете тестовую сборку Geyser! Пожалуйста, сообщите о любых найденных багах на нашем сервере Discord: https://discord.gg/geysermc.
[00:59:51 INFO] [geyser]:
[00:59:51 INFO] [geyser]: ******************************************
[00:59:51 INFO]: Done (1,74s)!
[00:59:51 INFO] [geyser]: Skipping particle mapping BLOCK_MARKER because no Bedrock equivalent exists.
[00:59:51 INFO] [geyser]: Skipping particle mapping DUST_PILLAR because no Bedrock equivalent exists.
[00:59:51 INFO] [geyser]: Skipping particle mapping GUST because no Bedrock equivalent exists.
[00:59:51 INFO] [geyser]: Skipping particle mapping GUST_EMITTER_LARGE because no Bedrock equivalent exists.
[00:59:51 INFO] [geyser]: Skipping particle mapping SMALL_GUST because no Bedrock equivalent exists.
[00:59:51 INFO] [geyser]: Skipping particle mapping TRAIL because no Bedrock equivalent exists.
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.GlassPaneAndIronBarsCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.ConduitCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.BellCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.DoorCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.ScaffoldingCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.SolidCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.ChestCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.TrapdoorCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.LanternCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.SeaPickleCollision
[00:59:51 INFO] [geyser]: Found annotated collision translator: org.geysermc.geyser.translator.collision.fixes.EndPortalCollision
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaLoginTranslator : ClientboundLoginPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockRequestPermissionsPacket : RequestPermissionsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.dialogues.JavaClearDialogTranslator : ClientboundClearDialogPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaRespawnTranslator : ClientboundRespawnPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaTransferPacketTranslator : ClientboundTransferPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockInventoryTransactionTranslator : InventoryTransactionPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaUpdateEnabledFeaturesPacket : ClientboundUpdateEnabledFeaturesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockSetLocalPlayerAsInitializedTranslator : SetLocalPlayerAsInitializedPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaSetTimeTranslator : ClientboundSetTimePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockEmoteListTranslator : EmoteListPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockContainerCloseTranslator : ContainerClosePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockEntityPickRequestTranslator : EntityPickRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.border.JavaSetBorderLerpSizeTranslator : ClientboundSetBorderLerpSizePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaTrackedWaypointTranslator : ClientboundTrackedWaypointPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.world.BedrockLevelSoundEventTranslator : LevelSoundEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaRemoveEntitiesTranslator : ClientboundRemoveEntitiesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaFinishConfigurationTranslator : ClientboundFinishConfigurationPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaCodeOfConductTranslator : ClientboundCodeOfConductPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaMoveVehicleTranslator : ClientboundMoveVehiclePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaEntityEventTranslator : ClientboundEntityEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaCustomPayloadTranslator : ClientboundCustomPayloadPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaCookieRequestTranslator : ClientboundCookieRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaTakeItemEntityTranslator : ClientboundTakeItemEntityPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaMoveMinecartTranslator : ClientboundMoveMinecartPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.title.JavaSetTitlesAnimationTranslator : ClientboundSetTitlesAnimationPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaMoveEntityPosRotTranslator : ClientboundMoveEntityPosRotPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaOpenSignEditorTranslator : ClientboundOpenSignEditorPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaRotateHeadTranslator : ClientboundRotateHeadPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockPlayerActionTranslator : PlayerActionPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockMobEquipmentTranslator : MobEquipmentPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockCommandRequestTranslator : CommandRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaSoundTranslator : ClientboundSoundPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaTickingStepTranslator : ClientboundTickingStepPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaSetExperienceTranslator : ClientboundSetExperiencePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaClientboundResourcePackPushPacket : ClientboundResourcePackPushPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockSetPlayerInventoryOptionsTranslator : SetPlayerInventoryOptionsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaLevelParticlesTranslator : ClientboundLevelParticlesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockEmoteTranslator : EmotePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaEntityPositionSyncTranslator : ClientboundEntityPositionSyncPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockSetPlayerGameTypeTranslator : SetPlayerGameTypePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaContainerSetDataTranslator : ClientboundContainerSetDataPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaForgetLevelChunkTranslator : ClientboundForgetLevelChunkPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaSetPassengersTranslator : ClientboundSetPassengersPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaSetPlayerInventoryTranslator : ClientboundSetPlayerInventoryPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerAbilitiesTranslator : ClientboundPlayerAbilitiesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaSetDefaultSpawnPositionTranslator : ClientboundSetDefaultSpawnPositionPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaBlockDestructionTranslator : ClientboundBlockDestructionPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaTeleportEntityTranslator : ClientboundTeleportEntityPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.input.BedrockPlayerAuthInputTranslator : PlayerAuthInputPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaRecipeBookRemoveTranslator : ClientboundRecipeBookRemovePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.scoreboard.JavaSetPlayerTeamTranslator : ClientboundSetPlayerTeamPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaBossEventTranslator : ClientboundBossEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaAnimateTranslator : ClientboundAnimatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockSetDefaultGameTypeTranslator : SetDefaultGameTypePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaSetHeldSlotTranslator : ClientboundSetHeldSlotPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockFilterTextTranslator : FilterTextPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaRemoveMobEffectTranslator : ClientboundRemoveMobEffectPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaMountScreenOpenTranslator : ClientboundMountScreenOpenPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerInfoUpdateTranslator : ClientboundPlayerInfoUpdatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaTickingStateTranslator : ClientboundTickingStatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockStructureBlockUpdateTranslator : StructureBlockUpdatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaMoveEntityPosTranslator : ClientboundMoveEntityPosPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.scoreboard.JavaSetObjectiveTranslator : ClientboundSetObjectivePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaRecipeBookAddTranslator : ClientboundRecipeBookAddPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaGameEventTranslator : ClientboundGameEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaStoreCookieTranslator : ClientboundStoreCookiePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaBlockEntityDataTranslator : ClientboundBlockEntityDataPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockBookEditTranslator : BookEditPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaUpdateRecipesTranslator : ClientboundUpdateRecipesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaUpdateAttributesTranslator : ClientboundUpdateAttributesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockSetDifficultyTranslator : SetDifficultyPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaBlockChangedAckTranslator : ClientboundBlockChangedAckPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaCommandsTranslator : ClientboundCommandsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.dialogues.JavaShowDialogueConfigurationTranslator : ClientboundShowDialogConfigurationPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaSoundEntityTranslator : ClientboundSoundEntityPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockRespawnTranslator : RespawnPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.border.JavaSetBorderCenterTranslator : ClientboundSetBorderCenterPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaOpenBookTranslator : ClientboundOpenBookPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.scoreboard.JavaSetDisplayObjectiveTranslator : ClientboundSetDisplayObjectivePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaOpenScreenTranslator : ClientboundOpenScreenPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaSelectAdvancementsTabTranslator : ClientboundSelectAdvancementsTabPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaContainerSetSlotTranslator : ClientboundContainerSetSlotPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaUpdateMobEffectTranslator : ClientboundUpdateMobEffectPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.scoreboard.JavaResetScorePacket : ClientboundResetScorePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.title.JavaSetSubtitleTextTranslator : ClientboundSetSubtitleTextPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaSetEntityDataTranslator : ClientboundSetEntityDataPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaSetEquipmentTranslator : ClientboundSetEquipmentPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.border.JavaInitializeBorderTranslator : ClientboundInitializeBorderPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaContainerSetContentTranslator : ClientboundContainerSetContentPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaSystemChatTranslator : ClientboundSystemChatPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaChunkBatchFinishedTranslator : ClientboundChunkBatchFinishedPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaSectionBlocksUpdateTranslator : ClientboundSectionBlocksUpdatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockBlockPickRequestTranslator : BlockPickRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockShowCreditsTranslator : ShowCreditsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaDamageEventTranslator : ClientboundDamageEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaLevelChunkWithLightTranslator : ClientboundLevelChunkWithLightPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaKeepAliveTranslator : ClientboundKeepAlivePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockTextTranslator : TextPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaStopSoundTranslator : ClientboundStopSoundPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaAddEntityTranslator : ClientboundAddEntityPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockBlockEntityDataTranslator : BlockEntityDataPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockNetworkStackLatencyTranslator : NetworkStackLatencyPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaPingTranslator : ClientboundPingPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaCooldownTranslator : ClientboundCooldownPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaSetCursorItemTranslator : ClientboundSetCursorItemPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaRegistryDataTranslator : ClientboundRegistryDataPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerCombatKillTranslator : ClientboundPlayerCombatKillPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaExplodeTranslator : ClientboundExplodePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaSetEntityLinkTranslator : ClientboundSetEntityLinkPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaUpdateAdvancementsTranslator : ClientboundUpdateAdvancementsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaUpdateTagsTranslator : ClientboundUpdateTagsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaBlockEventTranslator : ClientboundBlockEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerInfoRemoveTranslator : ClientboundPlayerInfoRemovePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockPacketViolationWarningTranslator : PacketViolationWarningPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaSetChunkCacheCenterTranslator : ClientboundSetChunkCacheCenterPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.BedrockEntityEventTranslator : EntityEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaDisguisedChatTranslator : ClientboundDisguisedChatPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerRotationTranslator : ClientboundPlayerRotationPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockLecternUpdateTranslator : LecternUpdatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaCustomQueryTranslator : ClientboundCustomQueryPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.entity.player.BedrockInteractTranslator : InteractPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaLoginFinishedTranslator : ClientboundLoginFinishedPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockAnimateTranslator : AnimatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerPositionTranslator : ClientboundPlayerPositionPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaPlayerChatTranslator : ClientboundPlayerChatPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaStartConfigurationTranslator : ClientboundStartConfigurationPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockPositionTrackingDBClientRequestTranslator : PositionTrackingDBClientRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaSelectKnownPacksTranslator : ClientboundSelectKnownPacks
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaMoveEntityRotTranslator : ClientboundMoveEntityRotPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaContainerCloseTranslator : ClientboundContainerClosePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.border.JavaSetBorderSizeTranslator : ClientboundSetBorderSizePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockStructureTemplateDataRequestTranslator : StructureTemplateDataRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockCommandBlockUpdateTranslator : CommandBlockUpdatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockRequestChunkRadiusTranslator : RequestChunkRadiusPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaBlockUpdateTranslator : ClientboundBlockUpdatePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaSetChunkCacheRadiusTranslator : ClientboundSetChunkCacheRadiusPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaChangeDifficultyTranslator : ClientboundChangeDifficultyPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.border.JavaSetBorderWarningDistanceTranslator : ClientboundSetBorderWarningDistancePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaPlayerLookAtTranslator : ClientboundPlayerLookAtPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaLevelEventTranslator : ClientboundLevelEventPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.dialogues.JavaShowDialogGameTranslator : ClientboundShowDialogGamePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.title.JavaClearTitlesTranslator : ClientboundClearTitlesPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.title.JavaSetTitleTextTranslator : ClientboundSetTitleTextPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.title.JavaSetActionBarTextTranslator : ClientboundSetActionBarTextPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.JavaSetEntityMotionTranslator : ClientboundSetEntityMotionPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockItemStackRequestTranslator : ItemStackRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockServerSettingsRequestTranslator : ServerSettingsRequestPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.entity.player.JavaSetHealthTranslator : ClientboundSetHealthPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.JavaMapItemDataTranslator : ClientboundMapItemDataPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.level.border.JavaSetBorderWarningDelayTranslator : ClientboundSetBorderWarningDelayPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaAwardStatsTranslator : ClientboundAwardStatsPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.JavaServerLinksTranslator : ClientboundServerLinksPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.inventory.JavaMerchantOffersTranslator : ClientboundMerchantOffersPacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.java.scoreboard.JavaSetScoreTranslator : ClientboundSetScorePacket
[00:59:53 INFO] [geyser]: Found annotated translator: org.geysermc.geyser.translator.protocol.bedrock.BedrockToggleCrafterSlotRequestTranslator : ToggleCrafterSlotRequestPacket
Hosting-Minecraft: Правила firewall успешно добавлены на сервер.
[00:59:53 INFO] [geyser]: Adding minecraft:spectral_arrow as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:tipped_arrow as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:knowledge_book as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:debug_stick as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:spectral_arrow as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:tipped_arrow as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:knowledge_book as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:debug_stick as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:spectral_arrow as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:tipped_arrow as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:knowledge_book as an item that needs to be translated.
[00:59:53 INFO] [geyser]: Adding minecraft:debug_stick as an item that needs to be translated.
[00:59:53 INFO] [geyser]: codeofconducts.json not found, not loading
[00:59:54 ERROR] [geyser]: XBOX AUTHENTICATION IS DISABLED ON THIS GEYSER INSTANCE!
[00:59:54 ERROR] [geyser]: While this allows using Bedrock edition proxies, it also opens up the ability for hackers to connect with any username they choose.
[00:59:54 ERROR] [geyser]: To change this, set "disable-xbox-auth" to "false" in Geyser's config file.
[00:59:54 INFO] [geyser]: Kernel version: 6.12.57+deb13-amd64
[00:59:54 INFO] [geyser]: Listen thread count: 1
[00:59:54 INFO] [geyser]: Transport type: EPOLL
[00:59:54 INFO] [geyser]: Setting MTU to 1400
[00:59:54 INFO] [geyser]: Setting RakNet packet limit to 120
[00:59:54 INFO] [geyser]: Setting RakNet global packet limit to 100000
[00:59:54 INFO] [geyser]: Setting RakNet send cookie to true
[00:59:54 INFO] [geyser]: Geyser запущен на UDP порту 25908
[00:59:54 INFO] [geyser]: Выполнено (2,871сек.)! Используйте команду /geyser help для помощи!
[00:59:54 INFO] [geyser]: Local injection succeeded!
[00:59:55 INFO] [geyser]: {client=VersionDownload{sha1='ba2df812c2d12e0219c489c4cd9a5e1f0760f5bd', size=31152600, url='https://piston-data.mojang.com/v1/objects/ba2df812c2d12e0219c489c4cd9a5e1f0760f5bd/client.jar'}, client_mappings=VersionDownload{sha1='031a68bebf55d824f66d6573d8c752f0e1bf232a', size=11779287, url='https://piston-data.mojang.com/v1/objects/031a68bebf55d824f66d6573d8c752f0e1bf232a/client.txt'}, server=VersionDownload{sha1='64bb6d763bed0a9f1d632ec347938594144943ed', size=56327581, url='https://piston-data.mojang.com/v1/objects/64bb6d763bed0a9f1d632ec347938594144943ed/server.jar'}, server_mappings=VersionDownload{sha1='5621e9253f05fd57872bbe7f8ddf5f9a7d525955', size=8678606, url='https://piston-data.mojang.com/v1/objects/5621e9253f05fd57872bbe7f8ddf5f9a7d525955/server.txt'}}
[00:59:55 INFO] [geyser]: VersionDownload{sha1='ba2df812c2d12e0219c489c4cd9a5e1f0760f5bd', size=31152600, url='https://piston-data.mojang.com/v1/objects/ba2df812c2d12e0219c489c4cd9a5e1f0760f5bd/client.jar'}
[00:59:55 INFO] [geyser]: Downloading and loading locale: ru_ru
[00:59:56 INFO] [geyser]: Загрузка Minecraft JAR для извлечения необходимых файлов, пожалуйста, подождите... (это может занять некоторое время в зависимости от скорости подключения к Интернету)
[00:59:56 INFO] [geyser]: Download URL: https://piston-data.mojang.com/v1/objects/ba2df812c2d12e0219c489c4cd9a5e1f0760f5bd/client.jar
[00:59:57 INFO] [geyser]: JAR Minecraft был успешно скачан и загружен!
[00:59:57 INFO] [geyser]: /айпи:35952 пингнул вас!
[01:00:02 INFO] [geyser]: /айпи:35952 пингнул вас!
[01:00:02 INFO] [geyser]: /айпи:35952 пингнул вас!
[01:00:05 INFO] [geyser]: /айпи:18404 попытался подключиться!
[01:00:06 INFO] [geyser]: Is player data signed? true
[01:00:06 INFO] [geyser]: Could not find packet for ClientToServerHandshakePacket
[01:00:06 INFO] [geyser]: Could not find packet for ClientCacheStatusPacket
[01:00:13 INFO] [geyser]: Подключен игрок с именем пользователя inkognito1338 (944)
[01:00:13 INFO] [geyser]: inkognito1338 (вошёл как: inkognito1338) подключился к серверу Java
[01:00:13 INFO] [geyser]: Locale already loaded: ru_ru
[01:00:29 INFO] [geyser]: Scoreboard updater: took 1 ms. Updated 0 players
[01:00:43 INFO] [geyser]: inkognito1338 отключился от сервера Java по причине Internal Exception: io.netty.handler.timeout.ReadTimeoutException
[01:00:43 ERROR] [geyser]: An exception occurred:
io.netty.handler.timeout.ReadTimeoutException
[01:00:43 ERROR]: io.netty.handler.timeout.ReadTimeoutExceptio

To Reproduce

To Reproduce:

  1. Start a Velocity server with Geyser (latest DEV/SNAPSHOT build).
  2. Configure Geyser with auth-type set to "offline".
  3. Do NOT install Floodgate.
  4. Start a clean Java 1.21.x backend server (no plugins or minimal plugins).
  5. Connect using a Minecraft Bedrock client through Geyser.
  6. Join the Java server successfully.
  7. Wait 10–30 seconds in-game.

Expected result:
Player stays connected normally.

Actual result:
Player gets disconnected with:
Internal Exception: io.netty.handler.timeout.ReadTimeoutException

Expected behaviour

Expected behaviour:
Bedrock players should be able to connect to the Java server through Geyser and remain fully connected without any disconnections or timeouts. All gameplay interactions should work normally, just like for Java Edition players, with no ReadTimeoutException or packet-related errors occurring.

Screenshots / Videos

No response

Server Version and Plugins

No response

Geyser Dump

https://pastebin.com/SDxafcXH

Geyser Version

2.9.5-SNAPSHOT (git-DEV-346178c)

Minecraft: Bedrock Edition Device/Version

1.21.130, 26.10

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions