Configuring Public, LAN, and Hidden Server Visibility
How to control whether your Factorio server appears on public matchmaking, the LAN browser, or is accessible by direct IP only.
Overview
Factorio server visibility is controlled by the visibility object in server-settings.json. Three modes are available: public matchmaking, LAN broadcast, and hidden (direct IP only).
Visibility Configuration
{
"visibility": {
"public": true,
"lan": true
}
}
public: true— Lists the server on factorio.com matchmaking. Players can find and join from the in-game server browser.lan: true— Broadcasts the server on the local network. Players on the same subnet see it in the LAN tab.- Both
false— Hidden server. Players can only join by entering the IP and port directly.
These can be combined: "public": true, "lan": false for public-only, "public": false, "lan": true for LAN-only.
Requirements for Public Listing
For public: true to work, all of the following must be met:
require_user_verification: truemust be set inserver-settings.json. Public listing requires account verification.- UDP port
34197must be reachable from the internet. Check your firewall and port forwarding. See Port Configuration and Firewall Setup. - The server must be running and connected to the Factorio.com API. Matchmaking registration happens at startup.
If the server starts but does not appear in the browser, check the startup log for lines like:
Info ServerMultiplayerManager.cpp: ... registered server on matchmaking server
If that line is absent or followed by an error, the server could not reach the matchmaking API.
Matchmaking Update Interval
The server updates its listing on factorio.com approximately every 5 minutes. After changing visibility settings and restarting, wait up to 5 minutes before confirming the listing is visible or absent.
Hidden Server (Direct IP)
For a private server accessible only to invited players:
{
"visibility": {
"public": false,
"lan": false
},
"game_password": "yourpassword"
}
Players join via Connect to address in the multiplayer menu, entering your.server.ip:34197. Adding a game_password adds a second layer of access control. For strict whitelisting, see Restricting Access with a Server Whitelist.
Changing Visibility
Edit server-settings.json and restart the server. Changes to visibility are not applied at runtime.