Skip to content

RakNet Setup ​

RakNet is the old way Bedrock Edition connects to servers. Bedrock Edition is replacing it with NetherNet, but players on older Bedrock versions still use it. This guide covers everything that is specific to RakNet. For the overall setup, start with the Bedrock / Geyser setup guide.

WARNING

Mojang is deprecating RakNet in favor of NetherNet with Bedrock Edition 26.60.

Why RakNet needs a Bedrock frontend ​

When a player connects over RakNet, the game does not send the domain name it connected to. Game Shield therefore cannot recognize your server by its domain, the way it does for Java and NetherNet.

Instead, your server gets its own Bedrock frontend: a protected address and port that belongs to your server alone. Everything that reaches that address and port goes to your Bedrock backends.

There are two kinds of frontends:

  • Random port: A shared protected address with a port of its own, such as us-be.gameshield.neoprotect.ovh:19145. Players have to enter this port when they add your server.
  • Default port: A dedicated IP address on port 19132, the default port in Bedrock Edition, so players do not have to enter a port. This requires at least the Neo plan.

1. Request a Bedrock frontend ​

You need a Bedrock backend before you can request a frontend. If you have not added one yet, follow the Bedrock / Geyser setup guide first.

  1. In the panel, open the Bedrock / Geyser section of your server.
  2. Turn on the Bedrock / Geyser switch to get a frontend with a random port, or click Request Default Port to get one on port 19132.
  3. Copy the protected CNAME and the port shown there with the copy buttons.

2. Create a Bedrock subdomain record ​

Sign in to your DNS provider and add this record. We use Cloudflare in this example.

  • Record type: CNAME
  • Name: the subdomain you want, such as bedrock for bedrock.example.com.
  • Target: the protected CNAME of your Bedrock frontend.
  • TTL: 1–2 minutes (set to auto on Cloudflare).
  • Proxy: turn the Cloudflare proxy off (gray cloud, not orange).

Your provider can take a few minutes to apply the record. Players then join with bedrock.example.com and the port of your frontend.

You do not need to add this subdomain in the panel's Domains section for RakNet. Your frontend also accepts NetherNet, though, both on its own port and on port 19132. So with transport: both, this one address and port works for all Bedrock players. If you want players on iOS/iPadOS to join through it as well, add it in the Domains section and request a certificate for it.

WARNING

Use a separate subdomain for your Bedrock frontend. The subdomain points at the frontend, so it cannot be used for e.g. a website at the same time.

3. Configure Geyser ​

For transport: both, use the config from the Bedrock / Geyser setup guide. To accept RakNet only, set these options in Geyser's config.yml:

yaml
bedrock:
  address: 0.0.0.0
  port: 19132
  transport: raknet

advanced:
  bedrock:
    # Must match the "Proxy Protocol" switch of your Bedrock backend group (Recommended)
    use-haproxy-protocol: true
    haproxy-protocol-whitelisted-ips:
      - https://api.neoprotect.net/v2/public/servers/txt

RakNet uses UDP on Geyser's port. Make sure it is open for NeoProtect's IP addresses, then restart your server.

Proxy Protocol ​

For RakNet, Game Shield passes the player's real IP to Geyser with Proxy Protocol. Two settings have to match:

  • the Proxy Protocol switch of your Bedrock backend group in the panel, and
  • use-haproxy-protocol in Geyser's config.yml.

If only one side has Proxy Protocol enabled, players cannot connect.

haproxy-protocol-whitelisted-ips limits who may send Proxy Protocol to Geyser. For RakNet, an empty list means "anyone". Do not leave it empty anyway, because NetherNet treats an empty list as "no one". See The HAProxy whitelist and NetherNet. Fill it with either:

  • https://api.neoprotect.net/v2/public/servers/txt (recommended) to only trust NeoProtect's addresses, or
  • 0.0.0.0/0 to keep trusting every address, as the empty list did.

Geyser loads the IP list once at startup. If NeoProtect's IP addresses change, restart Geyser. If Geyser cannot download the list when it starts, it accepts no RakNet players until the next restart.

Troubleshooting ​

The server shows as offline in the server list ​

  • Check that the backend IP and port in the panel are Geyser's address and port. The Real Port field is pre-filled with 25565, the Java port.
  • Check that UDP on that port is open for NeoProtect's IP addresses.
  • Check that the Proxy Protocol switch and use-haproxy-protocol match, as described above.
  • Geyser has to answer pings within 5 seconds.

See also "Server is offline" for the general checklist.


NOTE

Stuck on any step? Contact support and we will help.