Factorio Field guide

Factorio missing from the server browser: authentication and listing

Separate Factorio server listing, account verification and game UDP reachability.

Factorio missing from the server browser: authentication and listing

Try a direct connection from outside the server's network before changing its public-list settings. A successful join narrows the investigation to discovery and credentials. A failed join leaves the network path, account verification and compatibility in scope. The browser entry alone does not tell you which of those works.

This guide is for an existing Factorio 2.x dedicated server. Have its startup configuration, active settings file and recent server log available. Use a client with the same game version and mods, and ask someone on another internet connection to help with the public-address test.

A browser listing, a working network path and player admission are independent checks.

First separate a missing listing from a failed connection#

In Factorio, choose Multiplayer → Connect to address and enter the server's actual address and port. The default game port is 34197 over UDP; use the configured port if it differs. Test the LAN address from the LAN and the public address from an outside network. A router may not support a LAN client reaching its own public address, so that single test cannot establish whether outsiders are blocked.

Write down the result rather than only “offline.” Did the connection time out, report an account error, report a version mismatch, or finish loading the map? Each answer points to a different next check.

A Factorio community thread illustrates the distinction: the server appeared publicly, but testing its public address from inside the LAN failed. The author later reported that outside players could connect. That is a useful diagnostic example, not a reason to assume every missing connection is a router loopback problem.

Four settings have four different jobs#

The Wube settings template separates these controls:

  • visibility.public advertises the game through Factorio's public matching service. visibility.lan controls LAN advertising.
  • username and token identify the account used for a public listing. A token can replace the account password in this file.
  • game_password is the password players enter to join this game. It is not the owner's Factorio account password.
  • require_user_verification requires connecting clients to have a valid Factorio.com account. It checks joining identities rather than enabling the browser entry.

A server can be deliberately unlisted and still accept direct connections. Conversely, publishing its name does not prove that a player can reach the game port. Disabling require_user_verification is not a repair for a listing-credential error; it changes the access policy and should not be used as an experiment here.

Check the file the process actually loads#

Read the launch command or service configuration and find its --server-settings argument. Make a private backup of that file. Copy missing options from the example shipped with the installed build rather than replacing the whole configuration with a web snippet.

For a public server, the relevant portion can look like this. It is a fragment to merge into the existing JSON, not a complete replacement:

json
{
  "visibility": {
    "public": true,
    "lan": false
  },
  "username": "YOUR_FACTORIO_USERNAME",
  "password": "",
  "token": "YOUR_PRIVATE_FACTORIO_TOKEN",
  "game_password": "YOUR_SEPARATE_GAME_PASSWORD",
  "require_user_verification": true
}

Obtain the username and token through your signed-in Factorio account, then replace the placeholders locally. Never give players the account token as their joining password. Limit settings-file access to the service account and administrators; redact tokens and passwords before sharing configuration, screenshots or logs. If a token has been exposed, address the account credential first rather than merely deleting the public copy.

Save valid JSON, schedule a normal server restart, and check that the same settings path is still used. If a panel generates this file on startup, change its corresponding configuration source or the next launch may overwrite your edit.

Follow the first error after startup#

Inspect the new startup log for JSON parsing, settings-path, authentication or matching-service failures. A credential error calls for checking the account name/token pair. A timeout contacting the service calls for checking outbound connectivity and name resolution. Neither is evidence that the save needs replacing.

If the server reports no listing error, refresh Browse public games, search the exact configured name and review the client's active filters. Keep client and server versions aligned before interpreting an absent or incompatible entry. Test with one known client so a second player's different mod set does not obscure the result.

For a private group that does not need discovery, leave public visibility disabled and distribute the address securely. Keep the game password and identity-verification policy intentional; hiding an entry is not an access-control mechanism.

Verify reachability and retain the result#

When direct joining fails, inspect the actual UDP listener, host firewall, container UDP mapping if used, router forwarding and upstream NAT in order. A successful TCP port check does not test Factorio's game transport. Do not publish the entire settings file to prove that a port is open.

If you manage several instances on your own machine or VPS, a server-management workflow can help keep the selected instance and its configuration together. Still record the actual endpoint and the first failing layer before changing it.

Finish with an outside-network game join, not only a browser screenshot: confirm the expected world loads and the player remains connected. Retain the date, versions, address/port, loaded settings path and redacted error or success result. That gives the next administrator a usable baseline when the listing disappears again.

Sources#