NEW 📢 Limited launch offer: up to 70% off your first month on every game!See plans

How to host a Factorio server (2026)

FactorioUpdated Nov 5, 202612 min read

Short answer. You can host a Factorio server yourself for free: download the headless server from factorio.com, create a save with --create, start it with --start-server, and open UDP port 34197 (Factorio uses UDP only). Or rent a Factorio server and skip the networking and updates.

Players join with Multiplayer, then Connect to address, and enter your server's IP address (and port, if you changed it). Everyone needs exactly the same game version and the same mods.

Checked on 5 November 2026, accurate for Factorio 2.1.24, the headless version factorio.com lists for both the stable and experimental channels that day.

This guide uses Factorio's own wiki and download API, and what we run on our own Factorio servers. To go straight to the rental route, see Option 2.

What you need

  • Operating system: 64-bit Linux or Windows. On Linux, Factorio's wiki recommends the Headless package for servers: it has no graphics and is not linked against libraries a server may lack.
  • Network: UDP 34197 reachable from the internet. The port can be changed with --port.
  • A factorio.com account: only if you want the server in the public server browser. It needs your factorio.com username and an authentication token.
  • The game: every player needs the same Factorio version as the server, and the same mods. The headless server switches the expansion's mods on by default (Space Age, Quality, Elevated Rails and Recycler in mods/mod-list.json, checked with 2.1.24), so every player needs the Space Age DLC unless you switch all four off.

The headless server is free to download. You pay for the machine, power and bandwidth, not the software.

Option 1: host it yourself

This works on a spare PC, a home server or a cloud virtual machine. The steps follow Factorio's wiki pages on multiplayer and command line parameters.

Linux

  1. Download the headless server. The link below always gives the latest stable headless build. Replace stable with a version number such as 2.1.24 to pin one.
    sudo apt-get install curl xz-utils
    cd /tmp
    curl -L -o factorio.tar.xz https://www.factorio.com/get-download/stable/headless/linux64
  2. Create a user and unpack the server. The wiki asks you not to run the server as root.
    sudo useradd factorio
    cd /opt
    sudo tar -xJf /tmp/factorio.tar.xz
    sudo chown -R factorio:factorio /opt/factorio
    sudo -u factorio -s
  3. Create the settings file. The unpacked server ships example files in data/. Copy the one you need and edit the copy:
    cd /opt/factorio
    cp data/server-settings.example.json data/server-settings.json
    The example has visibility public set to true. Set it to false unless you also fill in your factorio.com username and token: without them the server still starts, but logs "Matching server connection failed" and is not listed.
  4. Create a save. The dedicated server needs a save file before it starts.
    ./bin/x64/factorio --create ./saves/my-save.zip
    To choose the map yourself, add --map-gen-settings and --map-settings files (examples are in data/), or --preset and --map-gen-seed.
  5. Start the server.
    ./bin/x64/factorio --start-server ./saves/my-save.zip --server-settings ./data/server-settings.json
    Add --port 34197 to set the port yourself. To load whatever save was written most recently, use --start-server-load-latest instead. Stopping the server saves the game.
  6. Open the port. Allow UDP 34197 on the machine's firewall (with ufw: sudo ufw allow 34197/udp) and forward it as UDP on your router. The wiki warns that some routers randomize the source port of outbound packets from 34197, which can break connections.
  7. Join. In Factorio, choose Multiplayer, then Connect to address, and enter your public IP address.

Windows

  1. Install Factorio. The wiki notes that any version of the game can run in headless mode.
  2. In the Factorio folder, copy data\server-settings.example.json to data\server-settings.json, and create a save with --create (the same option as on Linux).
  3. Start it with a .bat file in the Factorio folder. The wiki's example is: start /wait .\bin\x64\factorio.exe --start-server-load-latest --server-settings .\data\server-settings.json
  4. --start-server-load-latest loads the newest save in Factorio's user data folder, which for the installer version is %appdata%\Factorio, not the folder you ran --create in. To host the save you just made, use --start-server followed by its path instead.
  5. Allow UDP 34197 in Windows Firewall and forward it on your router.

Settings in server-settings.json

  • name and description: what the server is called.
  • max_players: 0 means no limit. Admins can join a full server.
  • game_password: the join password. Leave it empty and anyone with your address can join.
  • visibility: public lists the game on the official matching server and needs your factorio.com username and token (or password). lan broadcasts on your local network. With both off, players need your address.
  • require_user_verification: when true, only players with a valid factorio.com account can join.
  • autosave_interval (minutes), autosave_slots and afk_autokick_interval (minutes, 0 for never).
  • auto_pause: the game pauses while nobody is connected, unless you turn this off.

Admins

To make someone an admin, create server-adminlist.json in the same directory as factorio-current.log, containing a list such as [ "user1", "user2" ]. The wiki says the file is also created when you promote a player from the console.

Updating and mods

Factorio's multiplayer needs the same version on both sides, so when the game updates you have to update the server too: download the new headless build again and unpack it over the old one. Your saves and mods folders are not in the download. Mods go in mods/ as .zip files, and every player needs the same ones. See How to add mods to your Factorio server for how that works on PlayNHost.

Option 2: host it on PlayNHost

Renting removes the firewall, port forwarding and update routine. The port, the save and the settings file are set up for you.

  1. Pick a plan. Open the Factorio server hosting page and compare the plans (STONE FURNACE, STEEL FURNACE and ELECTRIC FURNACE at the time of writing, for 4, 9 and 20 players). Press Create Server on STONE FURNACE or STEEL FURNACE, or Customize Plan on ELECTRIC FURNACE, and finish the order. Prices change, so check them on that page.
  2. Wait for the install. You get a "server ready" email and the server appears at panel.playnhost.com. On the Console tab, the panel counts the server as running when the log shows Hosting game at.
  3. Set a password first. Open Settings, then Game Settings. Server password starts empty, so anyone with the address can join until you fill it in.
  4. Review the other fields in the same place:
    • Server Name and Server Description: what the game shows.
    • Save Name: the world file, gamesave by default.
    • Space Age: on by default. When it is on, every player needs the Space Age DLC. Switching it off turns off Space Age, Quality and Elevated Rails, but not Recycler, a fourth expansion mod that Factorio 2.1 added, so a player without the DLC is not guaranteed to get in. Keep it on for a world made with Space Age: in our test, a Space Age world started with it off loaded without the expansion and was saved that way.
    • Map Preset and Map Seed: used when a new world is created.
    • Server Username and Server Token: your factorio.com account name and API token (from your profile page at factorio.com, not your password). Set both together to list the server in the public browser, or leave both empty. Without them players can still connect with the address.
    • Auto Save Interval and AFK Kick.
    Factorio Version is in the same list, and Auto-update server sits under Show advanced.
  5. Restart so the changes take effect, and wait for Hosting game at in the Console.
  6. Join. In Factorio choose Multiplayer, then Connect to address, and enter your server's address and port. Use the password you set. See How to join your Factorio server if it does not connect.

What our setup does for you

  • Settings written at every start. Each time the server starts, the panel writes name, description, username, token, autosave_interval, autosave_slots, afk_autokick_interval and game_password into data/server-settings.json from Game Settings, and max_players from your plan. Hand edits to those keys are replaced, so change them in Game Settings. Other keys in the file are left alone.
  • A save is created for you. Unless a scenario is set, if the file saves/<Save Name>.zip does not exist at start, the server creates it with your Map Preset and Map Seed, then starts it.
  • Updates on every start. With Auto-update server on and Factorio Version on latest, a boot script asks factorio.com for the current stable headless version and downloads it if it differs from what is installed. The script follows the stable channel because that is what the Factorio game updates to, so your players can still connect. A pinned version number is never updated. Saves and mods are never touched.
  • Space Age switch. The headless server switches the expansion's mods on in mods/mod-list.json by default. At every start the panel sets the Space Age, Quality and Elevated Rails entries to match Space Age and leaves every other mod line alone, including Recycler.
  • Saves, mods and RCON. The panel has a Saves page for choosing, uploading, downloading and snapshotting saves. Mods can be dropped in as .zip files under Files, or installed from the Factorio Mod Portal once your factorio.com username and token are set. RCON can be switched on with RCON Enabled?.

Self-hosting or renting: an honest comparison

  • Cost. Self-hosted: the server software is free, and you pay for hardware, power and bandwidth, or a cloud virtual machine. Rented: a monthly fee set by plan. See the current plans.
  • Availability. Self-hosted: as reliable as your machine and home internet, and it has to stay on when your friends play. Rented: runs on the host's hardware, not your PC.
  • Network exposure. Self-hosted: players connect to your public IP and you look after the firewall and router, including routers that randomize source ports. Rented: your home IP is not involved.
  • Skill needed. Self-hosted: command line, port forwarding and JSON editing. Very doable, and a good way to learn. Rented: a web panel with form fields.
  • Updates. Self-hosted: download and unpack the new headless build whenever the game updates, or players cannot join. Rented: Auto-update server checks on every start.

Self-hosting suits you if a machine already runs all day and you are comfortable with networking. Renting suits you if you would rather not look after hardware.

Common problems and fixes

Players cannot connect

Cause: UDP 34197 is not reachable, a firewall or anti-virus blocks UDP, or the router randomizes the source port.

Fix: allow and forward UDP 34197 (not TCP), and check that your router does not randomize the source port of packets leaving 34197. See Factorio ports and firewall explained.

The server refuses to start after going back to an older version

Cause: unpacking a build over another adds files but never deletes any, so it can leave behind a built-in mod from the version you left. In our test, going from experimental 2.1.20 (which ships a built-in recycler mod) back to stable 2.0.77 left data/recycler on disk, and the server stopped with "Incompatible Factorio version (current: 2.0, required: 2.1)".

Fix: if you self-host, delete bin/ and the built-in mod folders under data/ before you unpack an older build over a newer one, and leave saves/ and mods/ alone. On PlayNHost, our installer and boot updater already do this before every new build. Your own data/server-settings.json is a file, not a folder, so it stays.

A player without the DLC cannot join

Cause: Space Age is on, and with it Quality, Elevated Rails and Recycler.

Fix: for a new world, turn Space Age off in Game Settings and restart. On Factorio 2.1 the switch does not turn Recycler off yet, so if the player is still refused, open a ticket and we will check the server's mod list with you. Keep Space Age on for a world made with it. See How to turn Space Age on or off on your Factorio server.

FAQ

Can I host a Factorio server for free?

Yes. The headless server is a free download from factorio.com. You still pay for the machine, power and internet, and it must stay on while people play.

Which port does a Factorio server use?

UDP 34197 by default. Factorio uses UDP only, and the port can be changed.

How many players can join?

Set max_players in server-settings.json; 0 means no limit. Factorio's wiki gives 65,535 as the hard limit and says the practical limit is much lower. Our plans are 4, 9 and 20 players.

Does the server need a factorio.com account?

Only to appear in the public server browser, which needs a username and token. Players can still connect by address without it.

Can players join without the same mods?

No. All game instances need exactly the same game version and mods.

Ready to skip the setup? See the Factorio server plans.

Already hosting it somewhere else? Move your server to us

OUR LATEST BLOGS