The fix: join through the Server Manager
Satisfactory has two separate routes into a game. The Join Game menu is for sessions hosted by another player, which you find through friends, invites and session IDs. A dedicated server belongs in the Server Manager, and the official wiki's FAQ is direct about it: players who see this error should add the server there and should not use the Join Game option.
Every player needs the server in their own Server Manager, not just the admin. The server's owner shares two things: the public IP address, and the standard port if it differs from 7777. Nobody has to type the reliable messaging port, because the game passes that to the client by itself.
The server creates its own self-signed certificate, so a certificate warning on the first connection is expected. Accepting it is the normal step for a Satisfactory server.
- Open Satisfactory and choose Server Manager from the main menu
- Add the server with its public IP address and standard port
- Accept the certificate warning for the server's self-signed certificate
- Enter the player password if the owner has set one
- Join the game from the server's page in the Server Manager
Why the same error comes back
A likely reason is the wording on the buttons. A player report on Coffee Stain's Q&A site shows the direct connection failing with this error, while the same server joined fine through Server Manager, then Connect to my server, then Join Game. So the Server Manager has a join step of its own. That one is correct. The route to avoid is the Join Game menu reached from the main menu, which is separate from the Server Manager.
The log line from that report reads No EncryptionToken specified, disconnecting. A Steam Community thread from the 1.0 launch shows the same line with Result=EncryptionTokenMissing. If you run the server and see either one when a player fails to join, ask which menu they used before you change any settings.
The wiki gives the fix and leaves out the internal reason. Its history page records that Patch 1.0 introduced TLS end-to-end encryption for server and game traffic, and it has no entry about the token itself. The practical answer stays the same either way, and no launch option or config file is part of the wiki's fix.
If the Server Manager cannot reach the server
Adding the server only works if the game can reach it, and that takes the right ports. The wiki's port table has applied since Patch 1.1.0.0: the standard port on both TCP and UDP, and a reliable messaging port on TCP. Port 7777 on TCP carries the HTTPS API, which is the part the Server Manager uses, so a rule that forwards only UDP leaves the Server Manager without a path to the server. In the Steam thread, players who saw Failed to connect to server API reported clearing it by forwarding TCP as well as UDP.
Much of the advice for this error dates from the 1.0 launch and tells you to forward 7777, 15000 and 15777. The wiki says plainly that 15000 and 15777 have not been used since Patch 1.0, so opening them achieves nothing. One entry on the wiki's own troubleshooting list also still mentions three UDP ports. Follow the port table, which is the section written for Patch 1.1.0.0. Our Satisfactory setup guide explains each port and the launch options that change them.
The standard port also has to keep the same number outside and inside, because the wiki says port redirection is not supported for it. Forwarding outside 7778 to inside 7777 will not work. The reliable port can be remapped with -ExternalReliablePort=.
- 7777 TCP: server traffic and the HTTPS API
- 7777 UDP: game traffic and the Lightweight Query API
- 8888 TCP: reliable messaging
- 15000 and 15777: not used since Patch 1.0, so remove any old rules
- Raw IPv6 address: the wiki reports this as a cause of Failed to Connect to the Server API, and suggests putting brackets around the address
Check the server step by step
The wiki calls networking the most common cause of connection trouble and offers a set of diagnostic questions. Work through them in this order, because the first one that fails tells you which layer to fix.
Start with the process itself. It is also worth checking for a second copy of the server, since a port already in use makes the server take the next higher one. Your players would then be aiming at the wrong port.
Then test the HTTPS API. Open https://ip:port/ in a browser, using the server's LAN IP and port. The https:// part is required. You should see a certificate warning and, after accepting it, the error errors.com.epicgames.httpserver.route_handler_not_found. That error is the healthy result, because it proves the server is up and answering. On a machine without a browser, curl -k https://ip:port returns the same code in JSON. On Windows, run it from Command Prompt rather than PowerShell.
Finally, test from the inside out. Connect through the Server Manager from the same network. If that works, the server and its firewall are fine. Then have someone outside the network connect using the public IP. If the first test passes and the second fails, look at the router's port forwarding, and at the line itself if you host at home.
- Running on Linux: pgrep -f FactoryServer.sh returns a process ID, and more than one number means several copies
- Running on Windows: tasklist | find "FactoryServer.exe"
- Listening on Linux: ss -plnut | grep FactoryServer
- Bound address: *, 0.0.0.0 or :: means all interfaces, and a specific LAN IP means only that address works
- Firewall: the server machine allows the ports in the table above
Certificate errors and the clock
A close relative of this error reads Certificate Verify Result: certificate is not yet valid. It comes from wrong time settings rather than ports. The wiki says to check the local time and timezone, or UTC time, on the player's computer first, and to correct them and try again.
If the server's clock was the wrong one, the wiki adds extra steps. Correct the time, stop the server, delete the ServerSettings.PORT.sav file, with your own port number in the name, and start the server again.
Deleting that file also resets the server name, the player password, the auto-load session name and the certificate. The server then has to be claimed again, so have the name and passwords ready. On Linux the file is at ~/.config/Epic/FactoryGame/Saved/SaveGames/ServerSettings.PORT.sav, and for a Windows server running under a user account it is in %LocalAppData%\FactoryGame\Saved\SaveGames\.
Other join problems that look similar
Once the Server Manager route works, a different failure means a different cause. These are worth ruling out next.
A version mismatch is the first thing to check after a patch. The Multiplayer page's troubleshooting tips say everyone should be on the same version and version number, and that covers the choice of branch too, since Experimental and the normal release are separate. Update the server after each game patch and check that nobody has switched branch.
Console players are a separate case: the wiki lists dedicated servers as PC only, so no setting will connect them.
- Stuck on the loading screen: the reliable messaging port, TCP 8888 by default, is not forwarded correctly
- Timing out on an older machine or a weaker connection: the default timeout is 30 seconds, and InitialConnectTimeout and ConnectionTimeout in Engine.ini raise it
- Server unreachable after you leave the game: the wiki lists this as a known issue when the server runs on the same machine you play on
- Connecting with the wrong number: the standard port can move upward if 7777 was in use, so confirm it from the listening check