Networking
Make a server reachable with UPnP, a Playit tunnel, your own domain, dynamic DNS, crossplay or Velocity.
Updated Oct 30, 2026
The Networking page is where you make your server reachable from the internet, across five tabs: Port Forwarding, Tunnel, Custom Domain, Crossplay, and Network. The first three cover the ways to reach your server from outside, from simplest to most advanced: UPnP, a Playit tunnel, or your own domain, a Coalstack domain, or dynamic DNS. Crossplay and Network are described at the end of this section.
Port Forwarding with UPnP
UPnP (Universal Plug and Play) lets Coalstack ask your router to forward a port automatically. You pick a port number and protocol (TCP, UDP, or both), and the app discovers your router via SSDP, adds a port mapping, and offers to add a firewall rule. On Windows only that one step asks for permission (a UAC prompt), and Coalstack itself never restarts as administrator; on Linux a PolicyKit prompt does the same for ufw or firewalld. The status line shows whether the mapping is active.
Not all routers support UPnP, and some have it disabled by default. If discovery fails, you'll need to forward the port manually through your router's admin interface. To see what is already using a port on your PC, run one of these:
netstat -ano | findstr :25565sudo ss -lptn 'sport = :25565'Bedrock Ports
A Bedrock server needs more than one port: a TCP port (default 19132) for the connection handshake and a block of 32 UDP ports starting at that number for gameplay. On a Bedrock server the Port Forwarding tab forwards and opens the firewall for both in one click, and changing the port moves the whole block with it. If you run two Bedrock servers on one PC, give them ports at least 32 apart. The Playit tunnel isn't available for Bedrock servers.
Playit Tunnel
If UPnP isn't an option (CGNAT, a locked-down router, or a network you don't control), the Tunnel tab connects your server through Playit instead, giving you a public address without any router configuration at all. Click Connect and Coalstack handles the rest; the address is available to copy once the tunnel is up. Free on every tier.
Custom Domain
If you already own a domain and have pointed an A record at your public IP, you can enter it here. Coalstack will show yourdomain.com:port as the connect address on server cards instead of a raw IP.
Coalstack domains
A yourname.coalstack.org name gives players an easier address to type. It points at your server's public address while the server runs, so it does not hide your IP address: anyone who looks the name up can see where it leads, the same as with a domain of your own.
Dynamic DNS: DuckDNS
DuckDNS is a free dynamic DNS service. You create a subdomain (likemyserver.duckdns.org) on their website, get a token, and enter both into Coalstack. The app then pings DuckDNS's update API every 5 minutes with your current public IP, keeping the subdomain pointed at your machine even if your residential IP changes when your ISP re-leases it or your router reboots.
Dynamic DNS: Cloudflare
If you own a domain hosted on Cloudflare, Coalstack can update an A record automatically using a Cloudflare API token scoped to Zone:DNS:Edit. You provide the token, root domain (like example.com), and record name (like play.example.com). The app updates Cloudflare's DNS every 5 minutes with your current public IP, just like DuckDNS. After the first update you can check that the name resolves to your IP:
nslookup play.example.comCrossplay: Bedrock Players on a Java Server
The Crossplay tab lets Bedrock players (phones, consoles, Windows) join a Java server, without a Java account. It installs two plugins from GeyserMC: Geyser, which translates between the two editions, and Floodgate, which lets Bedrock players sign in with their own account. Each download is checked against the sha256 GeyserMC publishes, and rejected if it doesn't match. An existing Geyser or Floodgate jar, say one from the Marketplace, is reused rather than duplicated.
Crossplay works on Paper, Purpur and Spigot servers; the tab explains why on Vanilla and mod loaders. Coalstack also sets Geyser to use Floodgate sign-in. Geyser listens on UDP 19132 by default, and the tab can open that port (UPnP and firewall rule) for you. If a Bedrock server of yours already uses 19132, change Geyser's port. Floodgate puts a dot in front of Bedrock players' names, so allow-list and operator entries need the dotted name. Turn Crossplay off only while the server is stopped; the plugin data stays so linked accounts survive turning it back on.
Velocity Proxy Networks
A Velocity proxy puts several of your servers behind one address. Choose Velocity as the platform in the New Server wizard; it's an ordinary Coalstack server (start, stop, console) that uses stable Velocity releases. Then open its Network tab to link Paper or Purpur servers. Linking adds the server to the proxy, enables Velocity forwarding on it with the proxy's secret, turns its online-mode off (the proxy checks logins, and unlinking puts the old value back), and moves its port if it clashed with the proxy's. Restart both servers afterwards.
Known limits: only Paper and Purpur can be linked; a proxy Coalstack reattached after a restart can only be force-stopped; proxies can't be backed up; and a proxy's settings live in velocity.toml (edit it in Files) rather than Server Properties.
Address Display
On every server card, Coalstack shows the best available connect address: your custom domain if set, otherwise your DuckDNS or Cloudflare domain if active, otherwise your raw public IP. Each address is copyable with one click.

