Skip to content

NetherNet Setup

verstach edited this page Oct 27, 2026 · 2 revisions

NetherNet Setup

Minecraft 26.60 removed RakNet from the client. Clients from 26.50 on join over NetherNet (WebRTC), older versions still use RakNet. AmberPM runs both at the same time.

NetherNet needs two things open:

Protocol Port Used for
TCP server-port (19132 by default) Signaling, the first handshake
UDP 20000-20127 (default) Game traffic

RakNet keeps using UDP server-port as before.

1. Install

  1. Download the PHP binaries r3 or newer from Amber-PM/PHP-Binaries. They include ext-rtc.
  2. Replace PocketMine-MP.phar with the latest AmberPM release.
  3. Start the server. NetherNet is on by default, even with an old pocketmine.yml.

On startup the console prints the ports to open:

NetherNet (26.60+) needs TCP 19132 and UDP 20000-20127 open, set advertised-address when behind NAT or in a container

2. Pick your case

VPS or dedicated server without a firewall

Nothing to do.

VPS with a firewall, or a home PC behind a router

Open TCP server-port and UDP 20000-20127. Nothing to change in pocketmine.yml.

Hosting panel with two ports (recommended)

Ask for a second port. Port P is your main one and P2 the extra one; both must be forwarded with the same number outside and inside.

network:
  raknet-port: 0                # RakNet on server-port, older versions
  nethernet:
    ice-udp-mux: true
    ice-port-range: [P2, P2]    # NetherNet game traffic
    advertised-address: 1.2.3.4 # your public IP

Every version joins on the same address IP:P.

Hosting panel with one port

network:
  raknet-port: -1               # RakNet and Query off, the UDP port goes to NetherNet
  nethernet:
    ice-udp-mux: true
    ice-port-range: [P, P]
    advertised-address: 1.2.3.4

Only 26.50+ clients can join in this mode. Older versions need RakNet, so use two ports if they matter.

Windows with ice-udp-mux

Also set ice-bind-address to the LAN IPv4 of the machine. Wildcard addresses are rejected.

Containers and panels

Instead of editing pocketmine.yml, you can set:

Variable Effect
AMBER_NETHERNET_PORT One UDP port for NetherNet, turns on ice-udp-mux
AMBER_NETHERNET_PUBLIC_IP Same as advertised-address

RakNet can be moved with --network.raknet-port=<port> on the command line.

Keep nethernet.key

The server creates nethernet.key on first start. Players trust this key. If it changes or gets deleted, every player sees the "trust this server" prompt again, so back it up and keep it across reinstalls.

Troubleshooting

Console message Cause
connect_timeout The UDP port is closed, or advertised-address is missing behind NAT
failed authentication The client could not verify the server identity
max-per-ip is reached Too many players from one IP, raise network.nethernet.max-per-ip
WebRTC runtime is missing Old PHP binaries, install r3 or newer

Players older than 26.50 that fail to join are on RakNet; check UDP server-port and raknet-port.

Easy Way

If you have an AI available, drop the 'NetherNet-AI-Guide.md' from 'docs/'

Clone this wiki locally