62 lines
5.2 KiB
Markdown
62 lines
5.2 KiB
Markdown
---
|
|
layout: page
|
|
title: Floodgate Setup
|
|
permalink: /floodgate/setup/
|
|
---
|
|
|
|
## Downloads:
|
|
|
|
Download Geyser and Floodgate from the [Geyser download page](https://geysermc.org/download).
|
|
|
|
## Prerequisites
|
|
|
|
- You must own/manage the server in order to add Floodgate. *If you do not own the server, Floodgate does not allow you to bypass logging into Java servers that require a Mojang Java account*.
|
|
- You must either be running Geyser as a [plugin](/geyser/setup/), or be running [Geyser Standalone](/geyser/standalone/). Floodgate does not replace Geyser.
|
|
- `floodgate-spigot.jar` cannot be installed on CraftBukkit/Bukkit servers.
|
|
|
|
## Setting Up
|
|
*Any reference to Spigot here also refers to any compatible server software such as Paper. For the proxy setup, backend server implies all the servers that are behind the proxy.*
|
|
|
|
For BungeeCord/Velocity setups: you only are required to install Floodgate on the BungeeCord or Velocity proxy unless you want to use the Floodgate API on the backend servers - see [below](#installing-floodgate-also-on-spigot-servers-behind-bungeecord-or-velocity) for the installation process.
|
|
*Note:* Installing Floodgate on the backend servers will allow Bedrock player skins to display without the Bedrock player having to switch backend servers.
|
|
|
|
- Download the Floodgate plugin and add it to your plugins folder on your frontend server.
|
|
- Select your platform on the download page linked above and click "Download Floodgate"
|
|
- If you are using Floodgate on Fabric, you will need to download the [Fabric API](https://www.curseforge.com/minecraft/mc-mods/fabric-api).
|
|
- Change the `auth-type` in the Geyser config to `floodgate`.
|
|
- Restart/start up the server.
|
|
|
|
**ONLY do this step if using Geyser Standalone:**
|
|
- *Copy* the `key.pem` file in the Floodgate config folder to the same directory as Geyser Standalone. **DO NOT DISTRIBUTE THIS KEY TO ANYBODY!** This key is what allows for Bedrock accounts to bypass the Java Edition authentication, and if anyone gets ahold of this, they can wreak havoc on your server.
|
|
|
|
### Installing Floodgate also on Spigot servers behind BungeeCord or Velocity
|
|
|
|
This is only needed when you want to use the Floodgate API on your backend server(s) behind a proxy.
|
|
|
|
- Install Floodgate on the proxy and on *all* backend servers as per the [previous instructions](/floodgate/setup/)
|
|
- Enable `ip_forward` in your BungeeCord `config.yml` if using BungeeCord. For Velocity, set up "player-info-forwarding".
|
|
- Set `bungeecord` to `true` in your `spigot.yml`. When using Velocity, see their [guide](https://docs.papermc.io/velocity/player-information-forwarding), as they have multiple options that require different setups.
|
|
- Start the proxy server.
|
|
- Edit the Floodgate config on your proxy server and set `send-floodgate-data` to `true`.
|
|
- *Copy* the `key.pem` file in the proxy Floodgate config folder to all backend servers' Floodgate config folder. **DO NOT DISTRIBUTE THIS KEY TO ANYBODY!** This key is what allows for Bedrock accounts to bypass the Java Edition authentication, and if anyone gets ahold of this, they can wreak havoc on your server.
|
|
- Restart the backend servers and proxy server.
|
|
|
|
## Changing/disabling the prefix
|
|
|
|
***Please note: we do not recommend removing the prefix unless you are certain that no one will share a username between a Java and Bedrock player. Duplicated usernames will cause weird situations, like being unable to teleport to one of the players.***
|
|
|
|
In your Floodgate config, change `username-prefix` to whichever prefix you desire - you can set it to `""` and there will be no prefix.
|
|
|
|
On some older Paper servers (or any forks that use them), you may need to also shut down your server and delete your `usercache.json` file located in the same folder as your server jar to prevent users who already joined from having the old prefix. See [this issue](/floodgate/issues/#prefix-is-not-changing-on-the-server-after-changing-it-in-the-config) for more information.
|
|
|
|
## Obtaining UUIDs for Floodgate players
|
|
Check your server logs, or use [this](https://uuid.kejona.dev/) page. If this doesn't work, then try this method:
|
|
|
|
First, you'll need to get the XUID of the player. There are several third-party websites to find this, for example, [this one](https://www.cxkes.me/xbox/xuid) (unaffiliated with Geyser). Make sure to choose "Hexidecimal." You'll need to enter the player's Xbox Gamertag, and, once submitted, and it should display the XUID in the format of `xxxxxxxxxxxxxxxx`. To turn the XUID into a UUID that Java Edition can recognize, you need to put the XUID in this format: `00000000-0000-0000-xxxx-xxxxxxxxxxxx`. If formatted right, Java Edition should accept it as a UUID.
|
|
|
|
## Using PlaceholderAPI
|
|
If you're using the Spigot version of Floodgate, download the Placeholder plugin [here](https://github.com/rtm516/FloodgatePlaceholders/). Using the placeholders shouldn't require additional setup other than having [PlaceholderAPI](https://www.spigotmc.org/resources/6245/) installed. See the section above on installing Floodgate on backend servers if you wish to use this on BungeeCord.
|
|
|
|
## Using Skript
|
|
If you're using the Spigot version of Floodgate, there is an unofficial plugin that adds Skript support [here](https://github.com/Camotoy/floodgate-skript).
|