Shopping Cart (0)

Your cart is empty.

NewsWelcome to the future of PineRiver: new website, new domain and New Year's sale! Read more
Support

This beginner-friendly guide explains step-by-step how to set up a cross-platform Minecraft server so that both Java Edition and Bedrock Edition players can play together. We use GeyserMC and Floodgate plugins (updated to 2025) to bridge the two platforms. The guide focuses on making it easy—especially if you use PineRiver's Minecraft hosting with 1-click installation—but also includes instructions for setting up on a local server or other host. Whether you're completely new to server administration or just want to save time, here's an educational walkthrough of all the steps: from uploading plugins and changing configuration files to finding your server IP. Let's get started bringing all your friends together in the same Minecraft world, whether they're playing on PC, console, or mobile!

What are GeyserMC and Floodgate?

GeyserMC is a type of proxy that acts as a bridge between Minecraft: Bedrock Edition and Minecraft: Java Edition servers. The goal of the project is to enable Bedrock players to connect to Java servers as seamlessly as possible, thus enabling true cross-platform gaming. With GeyserMC, a player on, for example, Windows 10 Edition (Bedrock) can jump onto a Java Edition server – as if the two normally separate game variants spoke the same language.

Floodgate is an accompanying hybrid mode plugin for GeyserMC that allows Minecraft: Bedrock Edition players to join an online mode Java server without having a Java Edition account. Floodgate authenticates Bedrock players via their Xbox Live/Microsoft account and gives them access to the Java server, even if the Java server is running in online-mode=true. This means you don't have to put your server in "offline mode" (which is usually unsafe) – you retain Mojang's security for Java players while allowing Bedrock players to log in through Floodgate's verification. In other words: GeyserMC + Floodgate = cross-platform Minecraft server where everyone can join 🎮.

In short: GeyserMC lets Bedrock and Java "talk to each other," while Floodgate ensures that Bedrock users can log in without a separate Java account (as long as they are logged into Xbox Live). This dynamic duo is the key to uniting Minecraft's two worlds.

Prerequisites (What do you need?)

Before we dive into the setup, make sure you have the following in place:

  • A Minecraft Java-based server: You must have access to a Java Edition server, such as a Spigot, Paper, or Purpur server. (PineRiver customers: make sure your server is running a version that supports plugins – e.g. PaperMC – instead of pure Vanilla. If you don't have a server yet, you can easily create one at PineRiver or run a local server at home.
  • Access to server files: You must be able to upload plugins and edit configuration files. At PineRiver, this is done via the user-friendly control panel (with 1-click installer and built-in file editor). On a local/other host, you can use FTP (e.g. FileZilla) or the host's own panel.
  • GeyserMC and Floodgate plugin files: If you are not using PineRiver's 1-click installer, you need to download the latest .jarfiles for GeyserMC and Floodgate (more on this later).
  • Server IP and port information: You need to know your server's IP address and port. On PineRiver, this is located in the control panel under server details (typically in the format IP:Port). For a local server, you can use your public IP and your set port (more on port setup later).
  • Minecraft clients for testing: It is advantageous to have both a Java Edition client (on PC) and a Bedrock Edition (Windows 10, phone, or tablet) on hand to test that both can connect to the server. (You can also invite a friend on another platform to help with testing 😄.)

Once the above is in place, you are ready to get started. Next step: installing GeyserMC and Floodgate on your server.

Setup via PineRiver's 1-click installer

If you use PineRiver for hosting, you've hit the jackpot—the process is extra easy thanks to their built-in 1-click plugin installer. Follow these steps:

Step 1: Install the GeyserMC plugin

  1. Log in to PineRiver Game Panel: Open PineRiver's control panel (Game Panel) and log in with your details. Navigate to your Minecraft server in the panel.
  2. Find the plugins section: On the left side of the panel, you will find a section called "Plugins." Click on it.
  3. Search for GeyserMC: Use the search bar to find the plugin "Geyser" or "GeyserMC." When it appears, click the Install button.
  4. Wait and confirm: PineRiver will now download and install GeyserMC for you. Wait a moment until you receive a message that the installation is complete.

Use PineRiver's 1-click plugin installer and save yourself the hassle. 😉 (With a single click, you avoid manually downloading and uploading files.)

Step 2: Install the Floodgate plugin

  1. Find the Floodgate plugin: While still in the Plugins section of the panel, search for "Floodgate" under the "Hangar" plugin provider. (Floodgate is often listed alongside GeyserMC, as it is an affiliate.)
  2. Install Floodgate: Click Install on the Floodgate plugin, just as you did with GeyserMC.
  3. Restart the server: Once both GeyserMC and Floodgate are installed (they should now appear on the plugin list in the panel), restart your Minecraft server from the control panel. This will load the new plugins onto the server.

After restarting, you can check the Console in the panel to see if Geyser and Floodgate have started correctly – they will typically log a few lines indicating that they are active (e.g., Geyser version xxx loaded, etc.).

Step 3: Configure GeyserMC (and Floodgate)

Now that the plugins are installed, we need to configure them so that Bedrock players can actually enter.

  1. Open Geyser's config: Go to File Manager in the PineRiver panel. Navigate to the folder plugins/Geyser-Spigot/ folder and click config.yml to open the configuration file in the editor.
  2. Find "auth-type": In the file, find the section that starts with remote:. Under this section, there is a line auth-type: .... By default, it will probably be set to online. Change this to auth-type: floodgate. This tells Geyser that we are using Floodgate for Bedrock login.
  3. Check Bedrock port: In the same config.yml, look for the section bedrock: (at the top of the file). There are two important settings here:
    • address: 0.0.0.0 – leave this as is (0.0.0.0 means listening on all network interfaces, which is fine unless you have specific IP restrictions).
    • port: 19132 – this is the port GeyserMC will listen on for Bedrock connections. 19132 is the default port for Bedrock Edition. Important: On PineRiver, make sure this port is available for your server. PineRiver provides one port by default (typically for Java on 25565). You have two options:
      • Request an additional port: The recommended solution is to ask PineRiver support for an additional port for Bedrock. Create a support ticket and request, for example, UDP port 19132 for your server – they are usually quick to help.
      • Use the same port as Java: Alternatively, you can set clone-remote-port: true in Geyser config (find this option just below the port setting). This will cause Geyser to automatically use your existing Java port for Bedrock (Java runs over TCP, Bedrock over UDP, so they can run in parallel on the same port. PineRiver also supports this method. If you choose this solution, you don't need an extra port – but remember that Bedrock clients must connect via UDP on that port.
  4. Save config.yml: Click "Save" in the file editor to save the changes to the Geyser config.
  5. Adjust server settings: We also need to change a setting in the server's main configuration:
    • In File Manager, open the file server.properties (it is located in the server's main directory).
    • Find the line enforce-secure-profile=true (it is the default true on newer server versions). Change this to enforce-secure-profile=false. This step is important for Bedrock players to join. (Background: Bedrock does not support Mojang's "secure profile" chat verification from Java 1.19+, so we disable it to avoid error messages.
    • Note: You do not need to change online-mode. Leave online-mode=true it as is so Java players are still verified normally. Floodgate takes care of Bedrock players so online mode can remain enabled (that's the whole point of Floodgate 😎).
    • Save the changes in server.properties.
  6. Restart the server again: Restart your Minecraft server one more time so that it loads Geyser/Floodgate with the new configuration.

Once the server has restarted, the server-side setup is complete! ✔️ Now it's time to test the connection – but first, let's make sure you have the IP and port to share with your fellow players.

Step 4: Find your server IP and port

In order for players to connect (both Java and Bedrock), you need to give them the correct IP address and port.

  • PineRiver server IP: In PineRiver's control panel, under the server's "Overview" or details, you will find the server's IP address and port. It will look something like this 51.81.22.8:59929 (example). The number before the colon is the IP address, and the number after is the port. For Java Edition players, they will usually use this port (59929 in the example) when logging in, unless PineRiver has given you a domain name.
  • Default ports: If PineRiver has set up your server with a "default" Minecraft port (25565), Java players can often just use the IP without specifying the port (25565 is the default on Java). Bedrock cannot use 25565 on a Bedrock Edition client, so you must specify the Bedrock port separately.
  • Bedrock port: As configured above, the Bedrock port is 19132 by default (unless you changed it or are using clone-remote-port). So Bedrock players need to connect to the IP with port 19132. If PineRiver gave you a unique Bedrock port, use that instead. Example: If your server's IP is 51.81.22.8 and you requested port 19132, Bedrock players should enter 51.81.22.8:19132 in their Minecraft.
  • Share the info with your friends: Give Java players the IP:port for Java (or any subdomain you have with PineRiver), and give Bedrock players the IP + Bedrock port. (We'll show you how to enter it in the game in a moment.)

You have now completed the setup via PineRiver! 🎉 Let's look at how to do the same thing outside of PineRiver – i.e., if you host yourself or use another provider.

Setup outside PineRiver (local PC or other hosting)

If you run the server locally at home or with another host without smart 1-click installation, you'll need to do the installation manually. Don't worry – it's still easy, we'll take you through it step by step:

Step 1: Download GeyserMC and Floodgate

  1. Download GeyserMC: Visit the download section of the official GeyserMC website. Download the latest Geyser-Spigot.jar (if you are running a Paper/Spigot server, which is most common for plugins).
  2. Download Floodgate: Similarly, download Floodgate-Spigot.jar (Floodgate is available via the GeyserMC website or directly on their GitHub. Be sure to get the latest version, compatible with your Minecraft server version.
  3. You should now have two files on your computer: Geyser-Spigot.jar and Floodgate-Spigot.jar. (Tip: Put them in a folder so you can keep track of them – they will need to be uploaded shortly.)

Step 2: Install the plugin files on your server

  1. Stop the server: Before adding plugins, stop your Minecraft server. (On a local server, close the console/window; on a hosted server, use the stop button or command). This ensures that the server is not running while we add files.
  2. Find the plugins folder: Find your server's plugins folder.
    • Local server: The plugins folder is located in the same place as your server JAR. For example, if you have a folder with server.jar, there should be a subfolder called plugins/. (If not, and this is your first time using Paper/Spigot, you can start the server once to create it – or create a "plugins" folder yourself).
    • Hosted server: Log in via FTP to your server (use the information from your host) or use the file manager in their panel. Navigate to the server's main folder – you will see a plugins/ folder.
  3. Upload the .jar files: Copy/upload Geyser-Spigot.jar and Floodgate-Spigot.jar into the plugins/ folder. Once the upload is complete, you can confirm that they are now there (two .jar files).
  4. Restart the server: Start up your server. It will now load the two new plugins. For the first startup with Geyser, it may take a few extra seconds as it generates its configuration file and key (Floodgate generates a key file, etc.). Keep an eye on the console – you should see messages that Geyser and Floodgate are enabled.

Step 3: Configure GeyserMC (manually)

Now we need to adjust the configuration as we did for PineRiver (here we just do it manually in a text editor):

  1. Open Geyser config.yml: After the server has run for the first time with plugins, a plugins/Geyser-Spigot/config.yml file. Open this file in a text editor (if the server is local, find the file in the file explorer; if remote, download it via FTP or use a web editor if available).
  2. Check the Bedrock address and port: In the bedrock: section of config.yml:
    • Make sure address: 0.0.0.0 (default) – typically you should not change it.
    • Check port: 19132 – if you can, leave it as 19132 (Bedrock default). However, if you are a home host, make sure this port is not blocked. You can also choose to change to a different port, but 19132 is easy for Bedrock players to remember.
    • Optional: Set clone-remote-port: true if you don't want to bother opening an extra port. As mentioned, this will use the same port as your Java server. Please note that your router/firewall must then allow UDP traffic on that port (typically 25565).
  3. Save config.yml and close the editor.
  4. Adjust server.properties: Open the server's server.properties file and set enforce-secure-profile=false (if it is not already set). This is necessary to avoid login problems for Bedrock. Leave online-mode=true remain unchanged, as Floodgate handles Bedrock login.
    (Technical note: If for some reason you did not use Floodgate, you would need to set online-mode=false here to allow unauthorized connections. However, it is not recommended to run without Floodgate/online mode for security reasons. Floodgate is designed specifically to avoid offline mode.)
  5. Restart the server: Restart the server once more for the changed configs to take effect.

Auth type for Floodgate: Find remote: section in config.yml. Edit the line auth-type: ... to:

auth-type: floodgate

This activates the Floodgate integration in Geyser. Without this change, Geyser would attempt normal Mojang auth (which does not work for Bedrock players on an online mode server).

Step 4: Open the Bedrock port in your firewall/router (for home hosting)

This part applies especially to those of you who host the server yourself at home:

  • Port forwarding: Go into your router's settings and set up port forwarding for UDP port 19132 to the local IP address of the machine running the server. (If you chose a different port in the config, use that instead of 19132). For Java port 25565, you may have already done this; Bedrock requires a separate UDP rule.
  • Firewall: Make sure that your server machine's firewall (Windows Firewall or other) is not blocking the selected Bedrock port. Add a rule that allows UDP traffic on the port, or allow the Java program in general on private+public networks.
  • Test locally: After port forwarding, you can test from another network device (e.g., mobile on 4G or have a friend try from outside) to see if they can see your Bedrock server. You can also use online port check tools for UDP (if available) or run geyser connectiontest in the server console.

If you are hosting with a provider other than PineRiver, consult their documentation to open an additional port. Some hosts allow self-service of additional ports, while others (such as Aternos) automatically use the same port with UDP. Check with your provider.

Once all this is done, your server is ready—now let's connect with the game clients!

Connect to the server (Java & Bedrock)

Now comes the reward for your work: seeing both Java and Bedrock players join your server 🎉. Let's go over how to connect from each type of client:

Java Edition – how to connect

For Java players, it's just like any other server:

  1. Open Minecraft Java and go to Multiplayer in the menu.
  2. Click Add Server. Enter an optional server name in the "Server Name" field (e.g., My Geyser Server).
  3. In the "Server Address" field, enter the server's IP and port. The format is IP:port. Example: 51.81.22.8:25565.
    • If your server is running on the default port 25565, you can just enter the IP address (Minecraft will add :25565 implicitly).
    • Click Done to save.
  4. The server will now appear on your server list. Click on it and select Join Server to log in. 🎮

If everything is correct, you will now log in to your server with your Java Edition. You should be able to build, mine, and do all the usual things. Next step: Bedrock players.

Bedrock Edition – how to connect

For Bedrock players (Minecraft on Windows 10/11, mobile, tablet, Xbox, etc.), the process is slightly different, but quite simple:

  1. Open Minecraft Bedrock on your device and click Play on the main screen.
  2. Go to the Servers tab (on the far right of the top menu inside the "Play" screen). Here you will see a list of featured servers (Cubecraft, Mineplex, etc.). Scroll all the way to the bottom of the list.
  3. At the bottom, you will find the Add Server button. Click on it.
    Bedrock Edition will display the official server list. To add your own server via IP, scroll down and press the Add Server button (red arrow). This will open a menu where you can enter the server information.
  4. Enter server information: You will now be asked to enter details for the external server:
    • Server Name: This can be anything descriptive. For example, write "MyCrossServer" or the name of the server. (This is only for your own list; your friends can call it something else on their end).
    • Server Address: Enter the IP address of the server (without port). For example 51.81.22.8. If you have a domain name (such as minserver.pineriver.net), you can use that.
    • Port: Enter the Bedrock port you configured (default 19132, or the one PineRiver/other host gave you) (The Bedrock Add Server menu asks for name, address, and port – the port is 19132 unless otherwise specified by the server owner).
  5. Click Save or Play after entering the information. If you select Save, the server will be added to your "Servers" list so you can use it in the future. If you select Play, it will attempt to join immediately.
  6. Connect and play: Minecraft Bedrock will now attempt to connect to the server. If everything is set up correctly, you will log into the world – you are actually on your Java server, but with a Bedrock client! 🥳 You can move around, build, chat, etc. with any Java players online on the server. (GeyserMC translates all communication between the client and server behind the scenes.)

Note: Console players (Xbox, PlayStation, Switch) do not have the Add Server button by default. On Xbox, you can work around this using third-party apps (e.g., BedrockConnect DNS), and on Nintendo Switch/PS4/PS5, it is unfortunately only possible via fairly advanced workarounds. This guide focuses on platforms where you can enter the IP yourself (Windows 10, Android, iOS, etc.). Console players can still play on your cross-platform server if they use a middleman service—but that's a topic for another guide.

Now both Java and Bedrock players should be able to join your server. Mission accomplished!

Tips & Troubleshooting

Even though the setup is complete, minor issues can sometimes arise. Here is a list of tips and typical errors and solutions that may help:

  • Bedrock players cannot log in (Java works): If your friends on Bedrock cannot log in, double-check that you have installed the Floodgate plugin and changed auth-type to floodgate in Geyser. Without Floodgate, Geyser will deny Bedrock users on an online mode server (since they don't have a Java account to validate). Also, make sure the Bedrock port is set correctly and open.
  • Error message "Please set enforce-secure-profile to false": If a Bedrock player gets an error about setting secure profile to false, you have probably overlooked changing this setting. Solution: Set enforce-secure-profile=false in server.properties and restart. This is a known requirement for Bedrock clients to join Java 1.19+ servers.
  • Port issues (Bedrock cannot connect): Can Java players connect, but Bedrock players cannot find the server? This almost always indicates a port or firewall issue. Check that the Bedrock port (e.g., 19132) is open in the firewall and forwarded correctly. On PineRiver: if you haven't been given an extra port, use clone-remote-port or contact support to have a port opened for Bedrock. Home hosting: double-check your router settings (UDP!).
    Tip: Some ISPs block standard ports. If you have persistent problems, try an alternative port (set it in Geyser config and forward it).
  • Bedrock player names look strange: By default, Floodgate will give Bedrock players unique IDs/names on your server, often by adding an asterisk or period in front of their name, or a suffix such as _BD. This is to avoid name conflicts with Java account names. You can change that pattern in Floodgate's config, but it's mostly cosmetic. Just be aware that SuperGamer123 from Bedrock may appear as *SuperGamer123 on the server. This is normal.
  • Version discrepancies: GeyserMC usually handles differences between Minecraft versions quite well. However, if your Bedrock edition is very new (or beta) and your server is a different version, problems may arise. Make sure to run an updated Paper version. You can also install the ViaVersion plugin on the server to allow newer client versions to connect (this helps mostly for Java versions, while Geyser itself takes care of Bedrock protocols).
  • Performance and latency: Cross-platform gaming is a bit of a technical wizardry, so expect a bit more latency for Bedrock players and some features that may behave differently (e.g., Bedrock does not have all the same entity types or chat features as Java). The GeyserMC team is constantly working to minimize differences. If you experience errors, upgrading to the latest Geyser/Floodgate version can often solve the problem.
  • Anything else strange? Check the server's console log for errors from Geyser or Floodgate. If you see something like "[GeyserMC] ERROR" or similar, you can search for it online – chances are others have had the same issue. GeyserMC's official wiki has a Common Issues section with many known problems and solutions. In addition, there is an active Discord community (and PineRiver's support, of course).

Experiencing problems? Our support team is available 24/7 – even if you've just forgotten a file. 💬 (Don't hesitate to contact PineRiver's support team – they're happy to help with everything from plugin issues to port settings.)

Conclusion & Next Steps

Congratulations, you now have a fully functional cross-platform Minecraft server up and running! 🥳 Your friends on both Minecraft Bedrock (Pocket/Windows 10 Edition) and Java Edition can play together on your server – something that was previously impossible without special mods. You have built a bridge between the platforms using GeyserMC and Floodgate, so everyone can meet in the same world (creepers don't care if you're playing on mobile or PC – they'll explode regardless 😜).

Now that everything is up and running, it's time to enjoy the fruits of your labor. Build something cool together across platforms and impress your friends with a server that can do it all. Remember to maintain your plugins (keep an eye out for updates from GeyserMC, especially when Minecraft gets major updates). But otherwise – have fun!

Ready to try it yourself? Try PineRiver's hosting and experience how easy it is to start your own Minecraft server with full Bedrock/Java support and top-notch support along the way.

💡
Already have a server? Then hop over and read more of our guides for tips on how to make your server even better. We at PineRiver are always ready to help you realize your Minecraft dreams – enjoy and happy gaming across platforms!
Are you ready to begin?

Create Your Own ServerAre you ready to begin?

Start your server today and we'll give you a 25% discount on your first server. Use code NEW25 at checkout.