---
title: Geyser Self-Hosted Modded Setup
description: Learn how to set up Geyser on your self-hosted Fabric or NeoForge server.
hide_title: true
---

import { Versions } from '@site/src/components/Versions'

:::caution
Geyser-Fabric and Geyser-NeoForge run  **only** on a <Versions platform="java"/> server.
See [this page](/wiki/geyser/supported-versions#fabric-neoforge-servers) for more details.
:::

:::info
Geyser only works with **server-side** mods. Mods that require a client-side install will not work!
:::

1. Download the mod from [the download page](/download).
2. Place the Geyser mod jar in the `mods` folder, and restart the server. **For Fabric, you will also need [FabricAPI](https://modrinth.com/mod/fabric-api).**
3. Open your Geyser config, located in `/config/Geyser-Fabric/config.yml` (or `/config/Geyser-NeoForge/config.yml`), and find the following: 

    ```yaml
    bedrock:
      # The IP address that will listen for connections.
      # Generally, you should only change this if you want to limit what IPs can connect to your server.
      address: 0.0.0.0

      # The port that will Geyser will listen on for incoming Bedrock connections.
      # Since Minecraft: Bedrock Edition uses UDP, this port must allow UDP traffic.
      port: 19132

      # Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
      # This option makes the Bedrock port the same as the Java port every time you start the server.
      clone-remote-port: false
    ```
   The vital part is the port. This is the port that Bedrock players will use to connect to your server!
   If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
   Since you are self-hosting, you can choose the port freely - the default port is 19132.   
   **Important**: Other services/mods that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.

4. Connecting to your server
        
   **Connecting locally in the same network**   
   On the same device as the server, you can connect using `localhost`, or `127.0.0.1` as the address.
   Do note: When hosting and playing on the same Windows device, you will need the [loopback fix](/wiki/geyser/fixing-unable-to-connect-to-world#using-geyser-on-the-same-computer).
   Other devices in the same local network can use your local IPv4 to connect - it starts with `10.` or `192.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.
   To achieve that, you have two options:   

    - Port forwarding: Open the Geyser port (e.g. 19132) on the UDP protocol in your router/modem, and in the Windows/Linux firewall.
      [Our port forwarding guide](/wiki/geyser/port-forwarding) 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](/wiki/geyser/playit-gg).
      Ngrok will not work since it is TCP-only.   

5. Verify whether connections from other networks are possible by running `geyser connectiontest <ip> <port>` in the console.

:::info
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use <a href="/wiki/floodgate/setup/">Floodgate</a>.
:::