This guide was written for Bungeecord, but should work fine for Waterfall and Hexacord servers.
For the setup described below, it is necessary that all servers are on the same node.
Setting up the Network
The ideal setup for this involves a separated internal network with only one access point — the BungeeCord server —
which is an easy configuration with Pterodactyl. In order to create a Bungeecord network you'll first need to add an
allocation to your Node that makes your Bungeecord server publicly accessible. This allocation should be for your
public IP address and the default port you wish to use — generally
Adding Additional Servers
All other servers that are a part of the network should be created on local interfaces — meaning they are not publicly
accessible. Create new allocations on the localhost IP address
127.0.0.1 with some ports for the servers to use.
You can also enter a port range, e.g.
30000-30010 which will get you 11 ports.
Now create new servers and be sure to use your internal allocations —
127.0.0.1 — for each of them. To add the
servers to your network you'll use
172.18.0.1:<port> — or
127.0.0.1 which will automatically be resolved to your
Docker network interface IP — as the IP address in your configuration file.
- Only the proxy server (Bungeecord/Hexacord/Waterfall) should be attached to your publically accessible IP address.
- You should not make any modifications to IPTables.
- All of the servers behind the proxy are safe from direct external connections, assuming you bind them to
If you are using a
ufw firewall, it might be necessary to allow access to specific host ports. The following command
allows incoming requests to
172.18.0.1, which is the IP of the actual host server within the docker network. Replace
<LOCALHOST_PORT> with any port you want to be accessible. In this case use the port you assigned to the minecraft
server you want to add.
The ports you open with this command will be accessible by any server on the same node.
ufw allow in on pterodactyl0 to 172.18.0.1 port <LOCALHOST_PORT> proto tcp