Due to the work of some brilliant people, it’s now possible to open a Minecraft Java Edition server to Bedrock Edition clients; and, due to another brilliant dude, it’s possible to connect even the nerfed console ports up to an arbitrary server. This means you can have simultaneous crossplay among the whole cornucopia of PC, Android, iOS, Win10, Fire/Stick, Switch, PS4, and Xbox One Minecraft clients!
(*The PS4, XBO, and Switch editions are on thin ice and may be kicked out by Mojang someday. But all the others should keep working forever.)
To open your Java server up to bedrock clients , it's as simple as the following:
- Be running a Minecraft server that supports conventional plugins (e.g. Bukkit, Spigot, Paper, etc.)
- FYSA, this post was last updated on March 4th, 2022. At this time, I was using
paper-1.18.2-222
,Geyser-Spigot-2.0.2-SNAPSHOT-1043
, andfloodgate-spigot-2.1.0-SNAPSHOT-64
. - At the moment, this post does NOT explicitly cover setup for Waterfall, Velocity, or similar exotic architectures. They are supported; I'm just not documenting them today.
- FYSA, this post was last updated on March 4th, 2022. At this time, I was using
- Prepare the plugins:
- Download these 3 files:
- Put the first two files in your
plugins
folder - Restart the server
- Put the third file in the folder
plugins/floodgate
- You may wish to modify
plugins/Geyser-Spigot/config.yml
with the following:passthrough-motd: true
This will show Bedrock players your MOTD; I have no idea why it's not enabled by default.passthrough-protocol-name: true
This will show Bedrock players any custom "protocol" name you or your server software has configured.passthrough-player-counts: true
Shows bedrock players how many people are currently playing; again, I have zero clue why this isn't on by default.forward-player-ping: true
“While enabling this will allow Bedrock players to have more accurate ping, it may also cause players to time out more easily.”max-players: 5
Purely cosmetic hard-coded value. Recommend setting to your actual max-players value until a passthrough option is added, to avoid gaslighting Bedrock players.cache-images: 7
(Not sure what this affects but it seems like a good idea)emote-offhand-workaround: "no-emotes"
Set this to allow Bedrock players to switch items to their offhand by attempting to emote.force-resource-packs: false
“If set to false, it allows the user to connect to the server even if they don't want to download the resource packs.”- If running a 1.17 or older server, you may need to set
auth-type: floodgate
, but there is no need to do so in recent versions.
- You may wish to modify
plugins/floodgate/config.yml
with some of the following:username-prefix: "*"
enable-own-linking: true
link-code-timeout: 600
(600 = 10 minutes for convenience; default is 300 = 5 minutes)
- Restart your server one final time to apply any config changes
- Open port
19132/udp
on your server's firewall, NAT, etc - Invite your friends!
- If they want to access the same character on both Java and Bedrock, tell them to visit the so-called "global link" server link.geysermc.org or run
/linkaccount
from their Java client, if you enabled "own linking". - Whitelisting Bedrock players is currently a bloody nightmare. Your best bet is to just turn off the whitelist for a moment and let them join, then whitelist them and turn the whitelist back on. (Alternatively, global linking can be used to work around this.)
- Those on a Nintendo Switch, PS4, or Xbox One must change their console's DNS server to gain access:
- Primary:
104.238.130.180
(If not working, try another server from github.com/Pugmatt/BedrockConnect#publicly-available-bedrockconnect-instances) - Secondary:
1.1.1.1
- Primary:
- If they want to access the same character on both Java and Bedrock, tell them to visit the so-called "global link" server link.geysermc.org or run