Connect and share your server
The connect line sits at the top of every server page — it isn't a tab, so there's nothing to click into. It always shows your Java address (the server's hostname, port 25565) with a copy button; a friend joins by putting that address straight into Minecraft's multiplayer server list. A second line for Bedrock only appears once Bedrock crossplay is actually enabled. Everything else below — extra ports, Bedrock crossplay, external backend — lives under Settings, not here.
One case where the address shown here doesn't actually work for a direct join: a server that's a private member of a server network (see the network badge near its name) doesn't accept joins on its own hostname at all — it's only reachable through the network's proxy address. The connect line doesn't detect or adjust for this; if your server shows "In a network · private," hand out the proxy's address instead of this one.
Extra ports
Settings → Extra ports opens additional network ports on your server — the most common use is voice chat (Simple Voice Chat and similar), or a web map. It needs a paid plan; free servers don't get it. Adding one is: a label, a protocol (TCP or UDP), and the container port the plugin itself listens on inside the server — presets exist for three common cases (Geyser, 19132/UDP; Voice, 24454/UDP; Web-map, 8100/TCP). The Geyser preset specifically is hidden on the metered plan — traffic on it can't wake a sleeping server, the same reason Bedrock crossplay below is flat-only. You can still add that port manually on metered, and you can still get Geyser itself onto a Paper/Purpur server the ordinary way — search and install it from the plugin catalog, or upload the jar, same as any other plugin — the one-click bundle just isn't the only path to it. There's a limit of 10 extra ports per server; past that, adding another is refused until you remove one.
The number the panel gives out publicly — the one you put in the other end of a plugin's config, or hand to a friend — is a different number: the host port, shown next to your hostname in the port list (e.g. yourserver.truetick.gg:27600). Docker maps that public host port to the plugin's own container port; they are not the same number, and mixing them up is the single most common way a voice-chat setup goes silent. Set the plugin's own port to the container port you entered when adding it; put the host address (hostname + host port) wherever the plugin asks for the address other people connect to.
A port only answers while the server is actually running — the "server running" label next to each port describes the server's overall state, not a live check of that specific port, so it can't confirm the port itself is actually bound and listening. And on a metered plan, traffic on an extra port can't wake a sleeping server by itself — join in Java first, then the extra service is reachable.
Don't trust a plugin's own success message as proof the port itself works, either: a voice-chat plugin's initial handshake typically rides over the same TCP connection as the game itself, so you can see it succeed in the plugin's log while the actual audio (UDP) never gets through. Adding the port and seeing "server running" is not the same as confirming voice actually works — test with a second person and listen for real audio before assuming it's fixed.
Adding or removing a port takes effect on the next server restart, not immediately — Docker can't add a port binding to a container that's already running.
Bedrock crossplay
Settings → Bedrock crossplay is two separate conditions, and they're enforced two different ways. Whether the tab itself shows up at all depends only on the core: a plain Paper or Purpur server with no modpack attached gets it; Vanilla, Fabric, Forge, NeoForge, and any modpack — including a Paper- or Purpur-based one — don't, regardless of plan. That's not a bug: it mirrors exactly what the platform is able to install (Geyser + Floodgate), so the tab never offers something it can't actually deliver.
The flat-plan requirement is a second, separate gate, and it does not hide the tab — a metered plain-Paper server still sees "Bedrock crossplay" in the list, opens it, and finds a blocked message instead of a toggle: "Crossplay requires the flat plan — Bedrock joins can't wake a sleeping server," with a link to switch plans. It's flat-only because Bedrock/Geyser traffic can't wake a sleeping server, so crossplay isn't offered where the server is expected to sleep.
Enabling it (flat plan, eligible core) is one click: it installs Geyser and Floodgate and opens the Bedrock port (19132/UDP) together, and gives you a second address to hand to Bedrock players (phones, consoles) — same hostname, different port. Disabling it removes both the plugins and the port. Changes here need a restart to take effect, same as any other extra port.
External backend
Settings → External backend is a different, narrower feature: it opens a dedicated public port that lets a Velocity or BungeeCord proxy running on another host you control dial straight into this server, bypassing normal hostname routing — useful if you're running your own proxy elsewhere and want this server as one of its backends. It needs the same flat-plan-plus-plain-Paper/Purpur eligibility as Bedrock crossplay, but the tab itself behaves the opposite way: it's always shown, on every core and plan, never hidden. When you're not eligible there's no control at all — just a line of text naming what's missing (plan, core, or both) — instead of the tab disappearing the way Bedrock crossplay's does for an ineligible core. Once enabled, the panel shows the address your external proxy dials; if the node hasn't reported its public IP yet, it says so plainly rather than showing a blank or a stale value. This opens a real public port — the only thing keeping a stranger out is your proxy's own forwarding secret, so keep that private.
Troubleshooting
No Bedrock crossplay tab at all. That's the core/modpack condition — see "Bedrock crossplay" above. It needs a plain Paper or Purpur server with no modpack; nothing else brings the tab back, whatever plan you're on.
Bedrock crossplay tab is there, but I can't turn it on. That's the plan condition — the tab shows up for any eligible core regardless of plan, but enabling requires flat. The pane itself says so and links to the plan switch.
Voice chat (or another extra-port service) looks added but doesn't work. Check that the plugin's own port setting is the container port you entered when adding it, not the public host port shown in the panel's list — see "Extra ports" above. Then confirm the change went out with a restart, and actually test the feature (a second person, real audio) rather than trusting a "connected" message in the plugin's own log.
"extra port limit reached (10)." You're at 10 ports for this server — remove one before adding another.
External backend shows no dial address. The node hasn't reported its public IP yet; this resolves on its own once it does; the panel is telling you this honestly rather than showing a stale or fabricated address.
Extra ports tab says it needs a paid plan. The tab itself is always there — only the content inside it refuses. Free plan; extra ports need metered or flat, no core restriction. External backend's tab is the same story (never hidden — see above): if it shows a reason instead of a control, that reason is either plan (needs flat) or core (needs plain Paper/Purpur, no modpack), and it names which.
In the panel: Server page → Connect (top of every page) · Settings → Extra ports / Bedrock crossplay / External backend