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.
- In the panel, open the Bedrock / Geyser section of your server.
- 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. - 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
bedrockforbedrock.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:
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/txtRakNet 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-protocolin Geyser'sconfig.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, or0.0.0.0/0to 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 with25565, 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-protocolmatch, 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.