Factorio Updated April 27, 2026

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.

FactoriovisibilitymatchmakingLANpublic server

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:

  1. require_user_verification: true must be set in server-settings.json. Public listing requires account verification.
  2. UDP port 34197 must be reachable from the internet. Check your firewall and port forwarding. See Port Configuration and Firewall Setup.
  3. 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.