Repository navigation
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.
- Download the PHP binaries r3 or newer from Amber-PM/PHP-Binaries. They include
ext-rtc. - Replace
PocketMine-MP.pharwith the latest AmberPM release. - 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
Nothing to do.
Open TCP server-port and UDP 20000-20127. Nothing to change in pocketmine.yml.
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 IPEvery version joins on the same address IP:P.
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.4Only 26.50+ clients can join in this mode. Older versions need RakNet, so use two ports if they matter.
Also set ice-bind-address to the LAN IPv4 of the machine. Wildcard addresses are rejected.
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.
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.
| 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.
If you have an AI available, drop the 'NetherNet-AI-Guide.md' from 'docs/'