Port forwarding
Players need to reach a server’s ports. Exposure providers open them automatically on a router or cloud firewall while the server exists, and close them when it’s deleted.
The node’s network
Section titled “The node’s network”On the node’s page, Network shows the host’s addresses as the agent detected them. Port forwards point to is the address your router forwards to; the panel picks the first LAN address. Only IPv4 addresses: port forwarding is NAT, IPv6 has none (open the ports in the router’s firewall instead).
Add a provider
Section titled “Add a provider”Port forwarding on the node’s page lists its providers. Each one is added switched off:
- Test checks the login.
- Preview shows what enabling would add and remove.
- Enable applies it.
While a provider is enabled:
- every port a server uses is forwarded, with the protocol its game needs (UDP only for DayZ, even on a TCP + UDP port)
- deleting the server closes its ports
- every 15 minutes, rules changed or deleted on the device are repaired
The panel only touches rules named server-panel: …. Disabling or removing a provider removes those rules again.
SFTP port: usually forwarded once when the node is set up, so it’s off by default. Tick Also forward the SFTP port if the provider should do it.
Providers
Section titled “Providers”| Provider | For | Settings |
|---|---|---|
| UniFi | Cloud Gateway, Dream Machine, self-hosted Network application | console URL, a local admin account (or API key), site, WAN. The console’s self-signed certificate is accepted unless you enable verification. |
| Hetzner Cloud Firewall | nodes on Hetzner Cloud | API token (Read & Write), firewall ID. The firewall must be applied to the node’s server. Consecutive ports become one range rule. |
| Webhook | anything else: Home Assistant, n8n, a script on the router | URL and signing secret |
Webhook provider
Section titled “Webhook provider”It receives the changes as a signed POST, signed like the panel’s webhooks:
{ "event": "exposure.changed", "add": [ { "externalPort": 2302, "protocol": "udp", "targetIp": "192.168.1.20", "targetPort": 2302, "description": "DayZ (game)" } ], "remove": [], "rules": []}add and remove are the changes; rules is everything that should be open now, in the same shape.
More providers
Section titled “More providers”A provider is a module (src/Modules/Exposure.* in the panel’s repository) implementing IExposureProvider. It describes its settings, and the panel builds the form from that.