# Satisfactory Server Ports (and the Reliable Messaging Port Fix) (/docs/satisfactory/ports)



import { Step, Steps } from 'fumadocs-ui/components/steps';

Since Patch 1.1, a Satisfactory dedicated server needs **two** ports. If your server shows up but players **time out the instant they try to join**, it's almost always the second port — the **Reliable Messaging Port** — that isn't reachable.

The Two Ports [#the-two-ports]

| Port     | Protocol        | Purpose                                  |
| -------- | --------------- | ---------------------------------------- |
| **7777** | UDP **and** TCP | Game traffic (UDP) + the HTTPS API (TCP) |
| **8888** | TCP             | Reliable Messaging Port                  |

Legacy ports **15000** and **15777** are no longer used (removed in Patch 1.0).

> ⚠️ **Port redirection is not supported.** The external and internal port numbers must match — you cannot forward external `7000` to internal `7777`.

Why Join Timeouts Happen [#why-join-timeouts-happen]

Your server's startup line runs with both ports:

```
FactoryGame -Port=7777 -ReliablePort=8888 -ExternalReliablePort=8888
```

The game port (7777) is what shows your server in the browser and lets it be found. But the actual gameplay session is established over the **Reliable Messaging Port (8888)**. If only 7777 is allocated, players see the server, click join, and **time out immediately** because 8888 has nowhere to go.

On XGamingServer your primary allocation covers the game port. The reliable port needs its **own allocation**, and the `RELIABLE_PORT` startup variable must point at it.

Fix: Add the Reliable Port Allocation [#fix-add-the-reliable-port-allocation]

<Steps>
  <Step>
    In the [XGamingServer Panel](https://panel.xgamingserver.com), open your server and go to the **Network** (Allocations) area — or ask support to add an allocation if you can't self-serve.
  </Step>

  <Step>
    Add a **second allocation** on the same IP for the reliable port (for example `8888`). It must be a real, forwarded port on your server's IP.
  </Step>

  <Step>
    Go to the **Startup** tab and set the **`RELIABLE_PORT`** variable to that port number (e.g. `8888`). This feeds both `-ReliablePort` and `-ExternalReliablePort`.
  </Step>

  <Step>
    **Restart** the server. Players should now connect without the instant timeout.
  </Step>
</Steps>

> The default `RELIABLE_PORT` is `8888`, but on a multi-server node yours may differ — always match the variable to the port you actually allocated.

Verifying [#verifying]

* The server console should start cleanly. If the reliable port is unavailable, the server **fails to initialize** and logs a bind error — a clear sign the port isn't free/allocated.
* From a client, use **Server Manager** (not "Join Game") to connect. A successful claim/join confirms both ports are reachable. See [How to Join](/docs/satisfactory/join-server).

Related Guides [#related-guides]

* [How to Join Your Server](/docs/satisfactory/join-server)
* [Server Configuration](/docs/satisfactory/server-config)
* [Troubleshooting](/docs/satisfactory/fix-issues)
