GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.7k stars 673 forks source link

/transfer doesn't work #4677

Closed Budderman18 closed 3 months ago

Budderman18 commented 4 months ago

Describe the bug

Whenever a bedrock player is transferred, instead of transferring to the server it just kicks the player with the message (Transferring to another server).

To Reproduce

run /transfer (ip) (port) @p as a bedrock player

Expected behaviour

Player is transferred rather than kicked

Screenshots / Videos

https://github.com/GeyserMC/Geyser/assets/65318126/cf1201d7-3a0e-4f6c-aa63-24057b8e90dc

Server Version and Plugins

/ver from: This server is running Paper version 1.20.6-82-master@0ad09de (2024-05-18T20:25:01Z) (Implementing API version 1.20.6-R0.1-SNAPSHOT)

plugins from: Server Plugins (16): [16:31:43 INFO]: Bukkit Plugins: [16:31:43 INFO]: - AdvancedReplay, AntiCheatReplay, BadlionClientModAPI, floodgate, Geyser-Spigot, IngotAntiCheat, IngotDuels, IngotMinigamesAPI, IngotServerManager, IngotTowerDefense [16:31:43 INFO]: LunarClient-API, *LunarClient-Impl, ProtocolLib, spark, Themis, WorldEdit

/ver to: This server is running Paper version 1.20.6-82-master@0ad09de (2024-05-18T20:25:01Z) (Implementing API version 1.20.6-R0.1-SNAPSHOT)

plugins to: Server Plugins (67): [4:31:44 PM INFO] Bukkit Plugins: [4:31:44 PM INFO] - AdvancedReplay, ajParkour, AntiCheatReplay, BadlionClientModAPI, BedWars, BentoBox, BentoBox-BSkyBlock, BentoBox-Challenges, BentoBox-Level, BentoBox-Warps [4:31:44 PM INFO] BookExploitFix, Citizens, ClearLag, CommandSigns, ConsoleSpamFix, CrazyAuctions, Curses, Duels, Essentials, EssentialsChat [4:31:44 PM INFO] EssentialsDiscord, EssentialsGeoIP, EssentialsWarpGUI, F3NPerm, Factions, floodgate, Geyser-Spigot, GriefPrevention, GroupManager, IngotAntiCheat [4:31:44 PM INFO] IngotBedrockTweaker, IngotBridges, IngotHub, IngotMinigamesAPI, IngotServerManager, IngotSkywars, IngotSpleefPlus, IngotSurvivalGames, IngotVanillaTweaker, IngotWarn [4:31:44 PM INFO] IngotWorldManager, KillerMoney, LibsDisguises, MobArena, Morphy, Multiverse-Core, Multiverse-Inventories, Multiverse-Portals, *MultiWorldMoney, NoteBlockAPI [4:31:44 PM INFO] PlaceholderAPI, PlotSquared, ProtocolLib, RandomTeleport, SignShop, SkyblockOres, spark, StaffChat, Themis, TimeManager [4:31:44 PM INFO] TitleManager, TowerDefense, UltraCosmetics, Vault, Votifier, VotingPlugin, WorldEdit

Geyser Dump

https://dump.geysermc.org/5zmWj48RZ1jrSCmc6CW6naxIFkt7O4aY

Geyser Version

This server is running Geyser version 2.3.1-SNAPSHOT (git-master-8b77031) (Java: 1.20.5 - 1.20.6, Bedrock: 1.20.40/1.20.41 - 1.20.80/1.20.81)

Minecraft: Bedrock Edition Device/Version

1.20.81, windows 11

Additional Context

Yes i'm making sure i'm using the bedrock port when transferring to servers without clone remote port enabled.

onebeastchris commented 4 months ago

This is working as intended - since we have to assume that the ip/port sent in a Java transfer packet is for a Java client (instead of a ip and port, that a Bedrock player could use to connect).

There is an event in the Geyser api that allows controlling what Bedrock/Geyser server to re-route the Bedrock player to, which you could listen to and set the bedrock IP/port. A Geyser extension could be made that would allow you to configure/map servers like that, but such an extension doesn't exist yet.

onebeastchris commented 3 months ago

You could now use the Geyser extension TransferTool to configure how Geyser deals with transfer packets coming from the Java server.