The reliable way to make a Factorio server is to install the package that matches your players, create or copy a save, configure server-settings.json, forward UDP port 34197, and launch Factorio with --start-server or --start-server-load-latest. Linux users can download Wube’s free headless package; Windows can run the normal game package without displaying graphics. Every player must use exactly the same Factorio version and mod set as the server.
This guide covers a home-hosted server from first download through networking, permissions, backups, restarts, and connection troubleshooting. The current stable release listed by Wube is Factorio 2.1.23 (2026), but check the official download page before installing because versions change.
What do I need before creating a Factorio server?
You need a computer that can stay online, a Factorio installation, at least one save file, permission to receive incoming traffic on your network, and matching game files for every participant. A dedicated server does not generate a world by itself: Factorio requires a save file before it can start.
Hardware and operating-system requirements
- Wube lists 4 GB of RAM as the minimum for the game and 8 GB as the recommended amount. Treat those figures as game requirements, not a promise that every large modded world will perform identically.
- A Linux headless installation does not initialize graphics or audio, so a dedicated machine does not need a gaming GPU. The desktop purchase page’s graphics requirement should not be applied to the headless package.
- Use a separate, non-root account on Linux. The account must be able to read the Factorio installation and write saves, configuration, mods, and logs.
- Windows can run the normal Windows package in headless mode. Linux has a dedicated download without graphics and audio, which is usually the smallest and simplest choice for a server-only machine.
Choose a host you can maintain
A home computer is inexpensive and gives you complete access to files, mods, and settings, but it must remain powered on and reachable. A spare mini-PC or virtual machine can separate the server from your daily workstation. If your internet provider uses carrier-grade NAT, you may be unable to accept incoming connections even with correct router settings; in that case, a managed host or a network service that provides an addressable endpoint may be necessary.
Which Factorio package should I install?
Use the same stable release and mod collection on the server and every client. The current download page lists stable Factorio 2.1.23 and a Linux headless package that includes Space Age content.
| Host situation | Package | What it does | Important detail |
|---|---|---|---|
| Linux server with no desktop | Linux headless package | Runs without graphics and audio and starts directly from a save. | Best fit for an always-on dedicated machine. |
| Windows computer | Normal Windows game package | Can be launched with server arguments without opening the game’s graphical interface. | Keep the executable and data directories writable by the account that runs it. |
| Linux desktop or test machine | Normal Linux package or headless package | Either can host a server when started with the server command-line options. | Use one installation consistently so its executable, mods, and saves stay together. |
Download Factorio directly from the official Factorio website. Do not mix executables from one release with data or mods from another release.
Where should I install Factorio and find its server files?
Extract or install the files in a directory that the server account can read and write. Keeping the installation in a dedicated directory makes upgrades, backups, and service scripts easier.
Important directories
Factorio’s user-data locations are:
- Windows:
%appdata%Factorio - Linux:
~/.factorio - macOS:
~/Library/Application Support/factorio
Within the user-data area, saves are in ./saves, mods are in ./mods, logs use names such as factorio-*.log, and configuration is in ./config/config.ini. A portable installation can also use paths relative to the Factorio directory; check the log location after the first launch to confirm which data directory is active.
Set ownership on Linux
Create a dedicated account, extract Factorio into its home or another restricted directory, and make that account the owner of the installation and data directories. Do not run a public server as root. If a service manager starts the process, use the same account for the service, save files, mods, and logs so a restart does not create files owned by a different user.
How do I create a Factorio save for the server?
Use Factorio’s command line to create a new world before starting the server. From the installation directory on Linux, run:
./bin/x64/factorio --create ./saves/my-save.zip
The command writes my-save.zip in the saves directory. The server can also use a save made in the normal game: copy the save archive into the host’s saves directory and make sure the service account can read it.
Customize map generation
For a custom world, provide map-generation and map-settings JSON files with the create command. Keep those files with your server configuration so the world can be reproduced or audited later. A typical pattern is:
./bin/x64/factorio --create ./saves/my-save.zip --map-gen-settings ./config/map-gen-settings.json --map-settings ./config/map-settings.json
Map generation settings affect the new world only. Changing a JSON file after the save exists does not retroactively reshape terrain or resources in that save.
How do I configure server-settings.json?
Copy Factorio’s example server settings file from the installation’s data directory to a writable location, then edit the copy. Keeping a separate copy prevents an upgrade from overwriting your server’s choices.
Settings worth changing first
- Name and description: Tell players which world and rules they are joining.
- Tags: Add searchable labels such as the language, play style, or mod theme.
- Visibility: Choose public listing, LAN visibility, or hidden access by address.
- Game password: Protect a private world. Anyone who can read the settings file can potentially read this password, so restrict file permissions.
- Player limit: Set a practical cap for your hardware and connection rather than relying on the protocol maximum.
- Pause behavior: Decide whether the simulation should pause when nobody is connected.
A minimal settings file can look like this; retain any additional fields from the version-specific example supplied with your installation:
{
"name": "My Factorio Server",
"description": "Cooperative factory world",
"tags": ["co-op", "vanilla"],
"visibility": {
"public": false,
"lan": true
},
"game_password": "choose-a-private-password",
"max_players": 8,
"auto_pause": true
}
Use the example file shipped with your exact Factorio release as the authority for available keys. A malformed comma, missing brace, or unsupported key can stop startup; inspect the log immediately if the process exits.
What port does a Factorio server use?
Factorio uses UDP only. The default port is 34197/UDP; TCP forwarding is not a substitute.
Configure the router
- Give the host a stable local address, either with a static address or a DHCP reservation.
- Open your router’s port-forwarding page.
- Create a rule for external UDP port 34197 to the host’s local IP address and UDP port 34197.
- Save the rule and confirm that the router is not randomizing the source port.
Configure the host firewall
Allow inbound UDP 34197 in the operating-system firewall. On Windows, create an inbound rule for the Factorio executable or for UDP 34197. On Linux, add an equivalent UDP rule to the firewall system you use. Antivirus or endpoint-security software can also discard packets; temporarily review its network log when friends cannot connect, then create a narrow exception rather than disabling protection permanently.
Port tests designed only for TCP often report a closed port even when Factorio is configured correctly. Test from outside your home network with a real Factorio client, and verify the server log while the attempt is made.
How do I start the Factorio server?
Run the executable from the Factorio installation directory and pass a save plus the settings file. On Linux:
./bin/x64/factorio --start-server ./saves/my-save.zip --server-settings ./data/server-settings.json
On Windows, use the Windows executable and the same arguments, replacing the slash style and executable name as appropriate for your installation. Keep the settings file path writable and readable by the account launching the process.
Start the newest autosave after a restart
Once the server has created autosaves, you can avoid hard-coding a particular archive:
./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
This option selects the newest available save. Keep old archives until you have verified that the newest one loads correctly; a damaged or incomplete file should not be your only recovery point.
Run it as a service
For an always-on Linux host, create a service that runs under the dedicated Factorio account, starts after the network is available, writes logs to a known directory, and restarts only after a clean failure. Test the command interactively first. A service that points to a relative path, an unreadable save, or the wrong working directory will often exit immediately.
On any platform, stop the process cleanly when possible. Factorio saves on exit and continues normal autosaves while running, so a graceful shutdown gives the next launch the most recent consistent state.
How do players connect to the server?
Choose the visibility that matches your audience.
- LAN: Suitable for players on the same local network. The server can advertise locally without being listed publicly.
- Public: Lists the server for discovery. Public listing requires the appropriate Factorio account credentials.
- Hidden: Keeps the server out of listings. Players join by entering the server’s address and port.
For an internet connection, give players your public address and port 34197, or have them select the server from the public list. Never publish the game password in a public chat. If your public address changes, update players or use an address service you trust; Factorio itself does not remove the need for a reachable address.
Protect a shared server
Set a game password and use the administrator, whitelist, and ban-list files when the server is open to more than a small group. Store credentials and list files with restrictive permissions. Give administrator access only to people who need to change settings or moderate players.
Why does Factorio pause when nobody is connected?
Headless mode normally pauses the simulation while no players are connected. This conserves processing time and means factories do not advance during an empty period. If you want research, production, or timed events to continue while the server is empty, disable automatic pausing with the no-auto-pause setting in the server configuration. Explain that choice to players because it changes resource consumption and the state they find when they return.
Headless mode has no in-game character and begins immediately with the supplied save. It still performs normal autosaves and saves on exit.
How do I keep versions and mods synchronized?
Every client and the server must use exactly the same Factorio version and mod set. A player with a different version or a missing, extra, or differently versioned mod will be rejected during join.
- Choose a target Factorio release before updating.
- Update the server executable and its mods together.
- Have every player update to that exact release and mod collection.
- Restart the server and inspect the log before announcing that it is ready.
Treat an update as a coordinated maintenance event. Keep a backup of the save and the previous executable or installation so you can roll back if a mod or release prevents the world from loading.
How should I back up and monitor a Factorio server?
Back up the save archives, server-settings file, map settings used to create the world, and the mod directory. A practical backup plan keeps several generations rather than overwriting one copy. Store at least one copy outside the host so a failed disk or accidental deletion does not remove both the live world and its backup.
Watch the factorio-*.log files for startup errors, save failures, authentication messages, and connection attempts. Record the Factorio version and mod list with each backup. When moving a world to another machine, copy the save archive and the matching mods, then verify ownership and paths before launching.
Should I self-host Factorio or use managed hosting?
Self-hosting is the better fit when you want direct control and already have a reachable machine. Managed hosting trades some file-level control for convenience and availability when your own PC is off.
| Decision factor | Self-hosting | Managed hosting |
|---|---|---|
| Files and mods | Full access to saves, settings, logs, and mods. | Access depends on the provider’s panel and policies. |
| Recurring cost | No hosting fee beyond your electricity, hardware, and internet service. | Usually a recurring service charge. |
| Port forwarding | You configure UDP 34197, firewall rules, and a reachable address. | The provider normally handles the public network endpoint. |
| Availability | Server is unavailable when the host is powered off or disconnected. | Designed to remain online independently of your personal PC. |
| Backups | You are responsible for schedules, retention, and off-site copies. | Backup tools may be included, but retention and restoration terms vary. |
| Settings changes | Edit the JSON and files directly. | Changes may be limited to the provider’s control panel or support process. |
Wube’s terms state that the free Factorio headless server may be used to operate a commercial service providing servers to players. That permission does not guarantee any particular host’s pricing, backup policy, or availability, so read current service terms before committing.
Why does my Factorio server exit immediately?
- Missing save: Confirm the archive exists at the exact path passed to
--start-server, or that at least one valid save exists when using--start-server-load-latest. - Unreadable files: Check ownership and permissions for the executable, save, settings file, and data directory.
- Bad JSON: Restore the release’s example settings file and add changes gradually, checking commas and braces.
- Wrong working directory: Use absolute paths while diagnosing a service, then switch to relative paths only after confirming the service’s working directory.
- Version mismatch: Make sure the executable, save, and mods belong to the same Factorio release.
Open the newest Factorio log after each failed launch. It normally identifies whether the problem occurred while parsing settings, opening the save, loading a mod, or binding the network port.
Why can’t my friends join my Factorio server?
- Confirm the server is running and listening on UDP 34197.
- Verify the router forwards UDP, not only TCP, to the host’s current local address.
- Check the host firewall and antivirus network-filtering rules.
- Ask the router manufacturer whether source-port randomization is enabled and disable that behavior for the forwarding rule if necessary.
- Test from a device outside the host’s local network; a local test can succeed even when internet forwarding is broken.
- If the server is hidden, give players the correct public address and port. If it is public, confirm the account credentials required for listing.
- Compare the exact Factorio version and complete mod set on every machine if the join is rejected after the server is found.
Carrier-grade NAT or a second router can prevent inbound traffic even when the local rule is correct. Ask your internet provider whether your connection has a public IPv4 address, or place the forwarding rule on the outermost router in a multi-router setup.
What should I check when the world appears frozen?
First check whether anyone is connected. Automatic pausing while empty is normal. If continuous simulation is intentional, change the no-auto-pause setting and restart with the edited configuration. If players are connected and the simulation still stops, inspect the log for a save error, mod failure, or process crash, then restore the most recent known-good save if necessary.
Where are my saves, mods, and logs if files seem missing?
Look in the platform-specific user-data directory rather than only beside the executable: %appdata%Factorio on Windows, ~/.factorio on Linux, and ~/Library/Application Support/factorio on macOS. The saves, mods, and factorio-*.log locations there reveal which installation the process is actually using. A service account can have a different home directory from your interactive account, so check its environment and permissions.
How many players can a Factorio server support?
Factorio documents a protocol ceiling of 65,535 players, while its FAQ describes support for up to 500 players in one game. Those figures are not equivalent: the first is a hard protocol limit, and the second is the practical support statement. Your hardware, simulation complexity, mods, and network conditions determine a sensible player limit, so set max_players conservatively and increase it only after observing the world under load.
Frequently Asked Questions
Can I run a Factorio server on a computer without a graphics card?
Yes. The Linux headless package is designed for machines without graphics and audio, and headless mode skips graphics initialization. Windows can also launch the normal game package with server command-line options without opening the graphical game.
How do I change the server name or password later?
Stop the server cleanly, edit the writable copy of server-settings.json, save the file, and start the server again with the same settings-file argument. Existing players will need the new password on their next connection.
Can I move an active world to another computer?
Copy the save archive, matching mods, and server settings to the new installation, then verify that the new service account can read and write them. Start with the specific save path first; switch to --start-server-load-latest only after the new host has created its own autosave history.
What is the difference between the 500-player and 65,535-player figures?
The larger number is Factorio’s documented protocol ceiling, not a performance recommendation. The 500-player figure is the FAQ’s practical support statement, while real capacity depends on the world, mods, hardware, and network.