Setup
- Host Provider
- Self Host
Paper / Spigot Fabric
NeoForge
Velocity BungeeCord
ViaProxy
Standalone
Checking your server version
If your server is not running 26.2, you will need to install ViaVersion. See also this page on supported versions.
Installing Geyser
- Download the plugin from the download page.
- Place the Geyser-Spigot.jar in the
pluginsfolder. - Restart the server.
Configuring Geyser
Now open the file
/plugins/Geyser-Spigot/config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
/plugins/Geyser-Spigot/config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
/plugins/Geyser-Spigot/config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart the server.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP, so it cannot be the Java server's port. Important: Other services/plugins that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168..Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. Our port forwarding guide explains how to do this in detail. After doing this, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
Geyser-Fabric runs only on a 26.2 server, and only works alongside server-side mods. Mods that players also need to install on their client will not work. See this page for more details.
Installing Geyser
- Download Geyser-Fabric from the download page.
- Place the Geyser-Fabric.jar in the
modsfolder. - Download Fabric API and place it in the
modsfolder as well, if it is not installed already. - Restart the server.
Configuring Geyser
Now open the file
/config/Geyser-Fabric/config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
/config/Geyser-Fabric/config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
/config/Geyser-Fabric/config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart the server.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP, so it cannot be the Java server's port. Important: Other services/mods that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168..Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. Our port forwarding guide explains how to do this in detail. Then, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
Geyser-NeoForge runs only on a 26.2 server, and only works alongside server-side mods. Mods that players also need to install on their client will not work. See this page for more details.
Installing Geyser
- Download Geyser-NeoForge from the download page.
- Place the Geyser-NeoForge.jar in the
modsfolder. - Restart the server.
Configuring Geyser
Now open the file
/config/Geyser-NeoForge/config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
/config/Geyser-NeoForge/config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
/config/Geyser-NeoForge/config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart the server.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP, so it cannot be the Java server's port. Important: Other services/mods that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168..Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. Our port forwarding guide explains how to do this in detail. Then, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
Install Geyser only on the Velocity server! You can install Floodgate on all servers for better skin support & network-wide Floodgate API availability for other plugins.
Checking your server version
All servers on the network must accept 26.2 Java clients, as Geyser imitates one.
Installing Geyser
- Download Geyser-Velocity.jar from the download page.
- Place the Geyser-Velocity.jar in the
pluginsfolder. - Restart the server.
Configuring Geyser
Now open the file
/plugins/Geyser-Velocity/config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
/plugins/Geyser-Velocity/config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
/plugins/Geyser-Velocity/config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart the server.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP, so it cannot be the Velocity server's port. Important: Other services/plugins that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168..Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. Our port forwarding guide explains how to do this in detail. Then, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
Install Geyser only on the BungeeCord server! You can install Floodgate on all servers for better skin support & network-wide Floodgate API availability for other plugins.
Checking your server version
All servers on the network must accept 26.2 Java clients, as Geyser imitates one.
Installing Geyser
- Download Geyser-BungeeCord.jar from the download page.
- Place the Geyser-BungeeCord.jar in the
pluginsfolder. - Restart the server.
Configuring Geyser
Now open the file
/plugins/Geyser-BungeeCord/config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
/plugins/Geyser-BungeeCord/config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
/plugins/Geyser-BungeeCord/config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart the server.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP, so it cannot be the BungeeCord server's port. Important: Other services/plugins that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168..Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. Our port forwarding guide explains how to do this in detail. Then, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
ViaProxy is a standalone program that runs separately from your Minecraft server. Do not put the ViaProxy jar into your server's plugins or mods folder.
To run Geyser as a plugin or mod on your server instead, pick your server software in the tabs above.
Installing Geyser
- Setup ViaProxy.
- Download the plugin from the download page.
- Place the Geyser-ViaProxy.jar in the
pluginsfolder. - Restart ViaProxy.
Configuring Geyser
Now open the file
/plugins/Geyser/config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
/plugins/Geyser/config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
/plugins/Geyser/config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart the server.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP, so it cannot be the ViaProxy port. Important: Other services/plugins that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
If you use the ViaProxy GUI you can use its account management system to join online mode servers with Bedrock Edition. If you use the ViaProxy CLI and want to allow Bedrock players to join your online mode server you have to install and set up Floodgate.
NOTE: The value of the
auth-typefield is ignored and managed by ViaProxy automatically.Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168..Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. Our port forwarding guide explains how to do this in detail. After doing this, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
You need to have Java 21 or higher installed to run Geyser. To run Geyser Standalone on Android, see the bottom of this page.
Geyser-Standalone is NOT a plugin or mod! It is a standalone Java program that you would run separately to your Java Edition server.
General Setup & Configuration
Installing Geyser
- Download Geyser Standalone from here.
- Create a new folder for Geyser, and drop the jar in there.
- Start Geyser Standalone:
- GUI (Recommended):
Double-click the jar file and all the necessary files for Geyser will be created. - Or use the console setup:
Create a new bat or startup script, similar to the one you'd use for a Spigot/Paper server, and take a look at this page for what to put into it. Run the startup script/bat, and all the necessary files for Geyser will be created.
- GUI (Recommended):
Configuring Geyser
Now open the file
config.yml. Find the part that starts withbedrock:, and change the lines shown below.- NetherNet
- NetherNet and RakNet
NetherNet is supported fully by 26.50+. If you'd like to also have working MOTD and player count for older versions, you will need to set up both NetherNet and Raknet.
config.ymlbedrock:
port: 19132
transport: nethernetAlso accepts RakNet, for additional compatibility: some Bedrock versions, such as 26.40, fetch the server's MOTD and player count over RakNet. This option needs a separate UDP port for NetherNet.
config.ymlbedrock:
port: 19132
webrtc-port: UDP_PORT
transport: bothReplace this With this UDP_PORTA free UDP port for NetherNet, other than port. Open it for UDP.Restart Geyser.
Since you are self-hosting, you can choose the port freely - the default port is 19132. Geyser uses it over both TCP and UDP. Important: Other programs that rely on UDP ports, such as Voice Chats or Query, cannot share the port with Geyser.
To configure which Java Edition server Geyser Standalone will send players to, find the remote section:
java:
# The IP address of the Java Edition server.
address: 127.0.0.1
# The port of the Java Edition server.
port: 25565
# What type of authentication Bedrock players will be checked against when logging into the Java server.
# Can be "floodgate" (see https://wiki.geysermc.org/floodgate/), "online", or "offline".
auth-type: onlineHere, change
addressto the Java server's address, or leave it as-is if the server is on the same machine as Geyser-Standalone. Then, changeportto the Java server's port. If you have set up Floodgate on the remote Java server, you can set auth-type to "floodgate" - otherwise, set it to eitheronlinefor an online mode server, orofflinefor an offline mode server. To install and set up Floodgate with a Standalone server, see here.Connecting on Bedrock
Connecting locally in the same network
On the same device as the server, you can connect usinglocalhost, or127.0.0.1as the address. Other devices in the same local network can use your local IPv4 to connect - it starts with10.or192.168.. Alternatively, open Minecraft: Bedrock edition, and join the LAN-Server in the Friends tab.Connecting from a different network
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.cautionThe Geyser port has to be forwarded for both TCP and UDP. Before NetherNet, forwarding UDP was enough. Now, players use TCP to find your server, and UDP to play on it, so without TCP your server will not show up. If you use the "NetherNet and RakNet" option, also forward the
webrtc-portfor UDP.To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) for both TCP and UDP in your router/modem, and in the Windows/Linux firewall. After doing this, players can connect with your public IPv4 + port to your server. See here for a helpful guide.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our playit.gg guide.
With NetherNet, the tunnel has to carry both TCP and UDP, and its public address has to be listed under
advertise-addressesin thebuiltinpart of thesignalingsection. Ngrok will not work since it does not support UDP.
Recommended: Set up HTTPS for signaling
Geyser's built-in signaling server uses plain HTTP by default, so Minecraft shows players a "Trust on First Use?" prompt the first time they join. To avoid this prompt, serve signaling over HTTPS, as explained in HTTPS for NetherNet. Some external signaling services, such as Warden, provide HTTPS as well.
Running Geyser-Standalone on Android
Applications such as Termux on Android are capable of running Geyser, but this largely depends on how powerful your Android device is. Please do so at your own risk.
Termux (Android)
- Download and install Termux
- Run
pkg install openjdk-21 - Run
wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/standalone - Run
java -jar Geyser-Standalone.jar
OR
We have an automated setup script for clean Termux installs, which might not work for all users. If the manual guide above does not work, try this. Run this to start the download/install:
curl https://gist.githubusercontent.com/rtm516/e3e07d6595ee41e05a38b03c0f4d7a80/raw/install.sh | bash