Manage server ports
Add, remove and label your server's ports, choose its primary address and publish a port on a floating IP.
In the dashboard
Every server has a primary port: the address players join. You can add more ports for a voice plugin, a map viewer, or a query or RCON listener. The server's Ports tab, under More on its page, lists them, adds and releases them, and chooses which one is primary. With a floating IP attached, you can also open ports on that address and publish a port on the game's default port, so players join with the address alone.
Before you begin
Section titled Before you begin- The plan sets how many ports the server can hold, including the primary one. Most plans allow 5. The Port slots used figure on the tab shows how many you have used, such as
2 of 5, and Port slots on the Size and add-ons card of the Billing tab shows the limit. Managed ports, ports the software needs and ports on a floating IP use no slot. When every port is in use, the tab offers theExtra Portadd-on, which raises the limit by one. A server a brand's Medal quest has boosted can have more: a level on the brand's paid ladder can add ports on top of the plan's and the add-on's. - Only the ports on the tab are reachable from outside the server. A plugin or a second listener with a port of its own, such as Geyser on its own port, Dynmap, a voice chat plugin or a query port, needs a port added here.
- Extra ports on the machine's shared address come from the range 10000–40000. Set the plugin to listen on
0.0.0.0and that port's number, not on the server's IP address. - Adding or releasing a port on a running server takes effect when the server restarts.
- On a server someone shared with you, you need the
allocationpermissions. The dashboard's permission list has no option for them, so the owner can grant them only through the API.
Read the Ports tab
Section titled Read the Ports tabThe three figures at the top show the Port slots used against the plan's limit, the Managed ports that a feature such as Bedrock crossplay, or the player slots of a Bedrock Dedicated Server, added, which use no slot, and the Primary address with a button to copy it.
The table lists every port:
- Address
- The address players or apps connect to, with a button to copy it. When a floating IP changes how the port is reached, the address on the machine's own IP shows under it as
direct. An IPv6 address shows in brackets, such as[2001:db8::10]:25570, so the port stands apart from the address. The ports you add are on IPv4. Only our staff can add a port on IPv6. - Purpose
- A Primary badge marks the primary port, Managed marks a port the platform added for a feature (such as Bedrock crossplay, or the
Bedrock UDP windowof a Bedrock Dedicated Server), and Floating IP marks a port on the server's floating IP. Other ports show what they are for, such asExtra,QueryorRCON.Required by the softwaremarks a port the server's software listens on besides the primary one, such as Rust's query and RCON ports or a Bedrock server's IPv6 port, and its note says which. - Published on
- The game's default port this port answers on, if you published it.
- Notes
- The note you gave the port.
- Added
- When the port was added.
A Bedrock Dedicated Server also holds a run of managed UDP ports, one for each Bedrock player who can be connected at once. The Software tab shows their number as Player slots (Run a Bedrock Dedicated Server).
Managed ports use no slot, and you cannot release them. Turning off the feature that added a port, such as Bedrock crossplay, releases it. The Bedrock UDP window rows have no switch: they stay while the server runs Bedrock Dedicated Server software, and we release them when you change the server to other software or delete it. Ports the software needs use no slot either. You can release one, but the listener on it then stops being reachable.
A Bedrock server's IPv6 port is the port Bedrock players use for the server over IPv6. Bedrock Dedicated Server keeps it apart from the primary port, as server-portv6 in server.properties, so we give it a port of its own. On our game edge, the IPv6 port is the same as the IPv4 one, 19132. Players reach a server over IPv6 through its join address, while the server's own address and the ports you add stay IPv4.
Add a port
Section titled Add a port- In the dashboard, go to App Deployment and open the server, then the Ports tab.
- Select Add port…. A page opens with the heading Add a port.
- Under Which port, choose where the port comes from:
- Lowest free port takes the next free port in the machine's range.
- Choose a port lets you pick one from the Free port list.
- On the floating IP opens a port on the server's floating IP. Enter a Port from 1024 to 65535, or leave it empty for the first free one. The field's hint lists the ports the host itself uses, which you cannot open.
- Optional: enter a Note, such as
voiceordynmap, so you remember what the port is for. It can be up to 64 characters. - Select Add port. The page returns to the list. If we cannot add the port, the page keeps what you entered and says why under the form.
Set the plugin to listen on 0.0.0.0 and the new port's number. A running server opens the port when it next restarts, so the tab says Port 25581 opens when the server restarts and offers Restart server. Restarting disconnects everyone playing, so restart once the plugin is set up. Ports on the floating IP do not count against the plan's limit, and a server can hold up to 16 of them.
Request a port
Section titled Request a portOn some servers, staff add the extra ports. There, the tab shows Request port… in place of Add port…, and a request you sent shows as open until staff add the port or reply.
- Select Request port…. A page opens with the heading Request a port.
- Under What the port is for, say what needs it, such as
A voice plugin on UDP. - Select Send request.
A message confirms Port request sent. Staff add the port or reply by email.
Connect a proxy to its servers
Section titled Connect a proxy to its serversA proxy such as Velocity or BungeeCord reaches each backend server at the backend's address on its Ports tab, such as 51.89.6.162:25580, even when both run on the same machine. 127.0.0.1 and localhost reach only the proxy's own server. Put that address in the proxy's server list, such as velocity.toml or BungeeCord's config.yml.
Add a port at the limit
Section titled Add a port at the limitWhen the server holds every port its plan allows, the Ports card says so, such as All 5 ports on this server are in use. Release one to add another., and a card above it offers the Extra Port add-on with its monthly price.
- Select Add… on the
Extra Portcard. - Choose the Quantity, check the price under Your order, and select the button at the foot of it. It reads Pay and the amount, then and add.
- When the page asks you to pay the invoice, pay it (Pay an invoice). The limit rises once the invoice is paid.
The add-on renews with the server, and the first invoice charges the rest of the current billing period. The Size and add-ons card on the server's Billing tab sells the same add-on and removes it. On a server someone shared with you, only its owner can add it.
Make another port primary
Section titled Make another port primary- Open the menu at the end of the port's row and select Make primary….
- Select Make primary.
The server's main listener moves to that port, and it becomes the address the dashboard shows. If the server is running, we restart it so it listens on the new port. The menu does not offer this for managed ports.
Publish a port on the default game port
Section titled Publish a port on the default game portWith a floating IP attached, a port can answer on the game's default port, so players type the floating IP without a port number.
- Open the menu at the end of the port's row and select Publish on the default port….
- A page opens with the heading Publish port and the port's number. Under Publish on, choose Java (25565) or Bedrock (19132).
- Select Publish port.
We move the port onto that number and restart the server if it is running. Only one port can hold each default port at a time. To undo it, open the menu, select Change the published port…, then select Stop publishing on the page that opens. A managed port, or a port that is already on the floating IP, cannot be published.
Release a port
Section titled Release a port- Open the menu at the end of the port's row and select Release port….
- Select Release port.
- If the server is running, the dialog then asks
Release port 25580 and restart?, because the running server keeps the port until it restarts. Select Release and restart to release it and restart the server now, which disconnects everyone playing. To choose the moment yourself, select Cancel, stop the server, and release the port then.
Anything listening on the port stops being reachable. A port on the shared address goes back into the pool, and we may give it to another server. You cannot release the primary port or a managed port. While a floating IP is attached, the server keeps at least one port on the shared address, because it falls back to that port if the floating IP is detached.
Give the server a web address
Section titled Give the server a web addressThe Web address card at the bottom of the tab puts a hostname in front of the primary port, with an HTTPS certificate and our edge's filtering. Use it for a web map, a panel or an API.
- Enter a Hostname, such as
map.example.com. The field suggests a name when your account holds a Coritan domain. - Leave Request an HTTPS certificate selected unless you do not want one.
- Select the button under the form to give the server a web address.
When we host the domain's DNS, we write the record for you. Otherwise, point the name at our edge yourself. The card then lists the address, and Manage route opens it in Game Shield.
Result
Section titled ResultA message confirms each change, such as Port 25567 added., Port 25567 released. or 25567 is now the primary port. The table updates straight away. On a running server, the message adds It opens when the server restarts. after an add, and The server restart is queued. after Release and restart.
Troubleshooting
Section titled Troubleshooting- A plugin's port does not answer
- Check that the port is on the Ports tab, that the plugin listens on
0.0.0.0rather than the server's IP address, and that the server has restarted since you added the port. - A proxy cannot reach a server on the same machine
- Use the server's address from its Ports tab, not
127.0.0.1orlocalhost(Connect a proxy to its servers). - Add port… is greyed out
- Every port the plan allows is in use, and the server has no floating IP with room. Release a port, or add the
Extra Portadd-on (Add a port at the limit). Allocation limit reached (5). Cannot add more ports to this server.- The server holds every port its plan allows. Release a port or add the
Extra Portadd-on first. The number in the message is the server's limit. Port must be between 10000 and 40000- Ports on the shared address come from that range. Use On the floating IP for any other port.
Port 25565 is reserved on the node main IP (gameproxy / platform services)- Our own services use that port on the shared address. Choose another port.
Port 25567 is already in use on this node- Another server has that port. Choose another one from the Free port list.
Cannot release the primary allocation- Make another port primary first, then release this one.
This port is managed by the platform (…). Turn the feature that uses it off to release it.- A feature such as Bedrock crossplay uses the port. Turn the feature off to release it. The message names
Bedrock UDP windowfor a Bedrock Dedicated Server's player slots, which have no switch: they go when you change the software or delete the server. The server is running, and it keeps this port until it restarts. Remove the port and restart the server, or stop the server first.- The API answers this with
409to a release withoutrestart=true. Release the port with?restart=true, or stop the server first (With the API). Keep at least one shared node port: it is what this server falls back to if the floating IP is detached.- Keep this port while the floating IP is attached.
Attach a floating IP first; …- Opening a port on a floating IP, or publishing on a default port, needs a floating IP attached to the server. See Floating IPs.
Another port on this server already publishes on 25565- Stop publishing the other port first.
Related
Section titled RelatedWith the API
Section titled With the APIGET /api/v1/client/servers/{uuid}/allocations lists the server's ports. Each has id, ip, port, is_primary, purpose, label, managed, limit_exempt, dedicated (on the floating IP), notes, publish_port and created_at, and endpoint, the host:port players use, with an IPv6 address in brackets. limit_exempt is true for a port that uses no slot: a managed port, or one with the purpose software, which the software needs and you can release.
GET /api/v1/client/servers/{uuid}/allocations/rules returns the limits: allocation_limit (with any ports a boost level adds, which allocation_boost counts) and allocation_used (without limit_exempt ports) for the shared range, publish_ip (the floating IP, or null), and dedicated_ip with the floating IP's address, port_min, port_max, reserved_ports, limit and used, or null without one. game names the server's game and its default_port.
GET /api/v1/client/servers/{uuid}/allocations/available-ports returns up to limit free ports in the shared range (1 to 200, default 50) as ports.
Add a port. Leave out port for the lowest free one, and set on_dedicated_ip to true to open it on the floating IP:
curl -X POST https://api.coritan.com/api/v1/client/servers/$SERVER/allocations \
-H "Authorization: Bearer $CORITAN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"port": 25567, "notes": "voice"}'
The response is 201 with the new port and restart_required. When it is true, the server is running and opens the port only after its next start. We do not restart it for you. Send POST /api/v1/client/servers/{uuid}/power with {"signal": "restart"} when it suits you.
| Request | What it does |
|---|---|
DELETE /allocations/{allocation_id} |
Releases the port and answers restart (not_needed when the server did not need one). On a running server that keeps the port until it restarts, it answers 409 with detail.error set to restart_required and keeps the port. |
DELETE /allocations/{allocation_id}?restart=true |
Releases the port and restarts a running server that needs it, which disconnects its players. restart is scheduled, or pending when a restart was already queued. |
POST /allocations/{allocation_id}/primary |
Makes the port primary. The response adds a publish object. |
POST /allocations/{allocation_id}/publish-port |
Publishes the port on {"port": 25565} or {"port": 19132}, or stops with {"port": null}. Returns allocation and publish. |
The paths are relative to /api/v1/client/servers/{uuid}. In publish, restart is scheduled when we restart the server to rebind it. Every other refusal answers 400 with the reason in detail.
The Extra Port add-on goes on the server's service with POST /api/v1/services/{service_id}/addons, as Add-ons shows. allocation_limit in allocations/rules counts it once it is paid.
GET /api/v1/client/servers/{uuid}/allocations/request answers {"required": false, "open_request": null} on a Coritan server, because you add ports yourself. It is there for storefronts whose free servers ask their staff for ports instead. POST to the same path, with note (3 to 500 characters), answers 403 with Extra ports on this server are added from the Ports tab, not requested.
On a server shared with you, listing and reading allocations/request need allocation.read, adding needs allocation.create, releasing needs allocation.delete, and making a port primary or publishing it needs allocation.update.
API operations on this page
| Method | Path | What it does |
|---|---|---|
GET | /api/v1/client/servers/{uuid}/allocations | List primary + extra ports for this server |
POST | /api/v1/client/servers/{uuid}/allocations | Create server allocation |
GET | /api/v1/client/servers/{uuid}/allocations/available-ports | Free ports on this server's node (node-wide, not shared across servers) |
GET | /api/v1/client/servers/{uuid}/allocations/request | Get port request |
POST | /api/v1/client/servers/{uuid}/allocations/request | Ask staff for an extra port, where the rule above requires it |
GET | /api/v1/client/servers/{uuid}/allocations/rules | Allocation rules |
DELETE | /api/v1/client/servers/{uuid}/allocations/{allocation_id} | Release an extra port |
POST | /api/v1/client/servers/{uuid}/allocations/{allocation_id}/primary | Mark an existing port as the primary allocation |
POST | /api/v1/client/servers/{uuid}/allocations/{allocation_id}/publish-port | Set allocation publish port |