Set up a Factorio server: saves, mods and Space Age

The Startup settings of a Torchlite Factorio server, how to upload your own save, how mods and Space Age work, and how to get into the public server list.

6 min readBy Torchlite teamUpdated

Set up a Factorio server: saves, mods and Space Age
On this page

A Factorio server on Torchlite runs the official headless server, the same one Wube publishes for dedicated hosting. It is ready to play as soon as it is built: the installer creates a map, and the server loads it on every start. This guide explains the settings you can change, how to bring your own factory, how mods work, and why Space Age starts switched off.

The Startup settings

Most settings are on the Startup page. The panel writes them into data/server-settings.json each time the server starts, so change them on Startup. An edit made directly in the file for one of these keys is overwritten at the next start.

VariableWhat it does
Server NameThe name players see in the server browser.
Server DescriptionThe text shown under the name in the listing.
Save NameThe save to load from saves/, without .zip. Default gamesave. Letters, numbers, - and _ only.
Server passwordPlayers need it to join. Leave it empty for no password.
Maximum SlotsPlayer limit. Set to 20 and locked.
AFK KickMinutes before an idle player is kicked. 0 turns it off.
Auto Save IntervalMinutes between autosaves. Default 10.
Auto Save SlotsHow many autosaves to keep. Default 5.
Factorio Versionlatest for the newest stable release, experimental, or a specific version number.
Server Username and Server TokenYour factorio.com login, for the public server list.
RCON Enabled?, RCON Password, RCON PortRemote console access, off by default.

The version is only downloaded when the server is installed. To change it, set Factorio Version and then use Reinstall Server under Settings. The installer keeps your saves, your settings files and your mod list, because it only creates those when they are missing, but download a copy of your save first anyway. Every player must run exactly the same version as the server.

RCON is only needed if you use an external admin tool, and its port must be one that belongs to your server on the Network page. For everyday admin work the panel console does the same job.

How a new map is made

Each time the server starts, it looks for saves/<Save Name>.zip. If the file exists, it loads it. If not, it first creates a new map with that name, using the settings in data/map-gen-settings.json and data/map-settings.json.

That gives you a simple way to start over without losing anything. Edit the map generation file if you want, for example to change resource settings or the seed, then type a new Save Name, such as second-map, and restart. The old save stays in saves/ and you can switch back by putting its name back.

Space Age is off for new maps

The headless server includes the Space Age expansion and would normally turn it on in every new save. A server with Space Age enabled only accepts players who own the DLC, so on Torchlite new maps start without it. The installer writes mods/mod-list.json with only the base game enabled:

json
{"mods":[
  {"name":"base","enabled":true},
  {"name":"elevated-rails","enabled":false},
  {"name":"quality","enabled":false},
  {"name":"space-age","enabled":false}
]}

If every player owns Space Age and you want it, stop the server, set enabled to true for elevated-rails, quality and space-age, and save the file. The cleanest result is a new map made with the expansion on, so set a new Save Name before you start. Leave the three entries off if even one of your players does not have the DLC.

Upload an existing save

A Factorio save is a single .zip file. On your own computer, saves are in %APPDATA%\Factorio\saves on Windows, ~/Library/Application Support/factorio/saves on macOS and ~/.factorio/saves on Linux.

  1. Stop the server.
  2. Upload the .zip into the saves folder, through Files or SFTP. Do not unpack it.
  3. If the file name has spaces or other characters Save Name does not accept, rename it, for example My Base.zip to my-base.zip.
  4. Set Save Name to the file name without .zip.
  5. If the save uses mods or Space Age, set those up first, as described in the next section.
  6. Start the server and read the console.

A save made with Space Age needs the three DLC entries enabled to load as it was, so turn them on before you start it. Keep the original file on your computer until you have checked that the factory loaded properly.

Mods

Server mods are .zip files in the mods folder, switched on and off in mods/mod-list.json. The easiest way to get the right files is to set up the mods in your own game first. Then upload the zips from your local mods folder, which sits next to your saves folder, together with mod-settings.dat if you changed any mod settings. Add each mod to the server's mod-list.json, or upload your own list, but check that it does not switch on Space Age by accident.

Every player needs the same mods in the same versions as the server. Factorio makes this painless for mods from the official mod portal: when a player joins a modded server, the game compares mod lists and offers to download and enable the missing ones, then restarts itself with the right set. Mods that are not on the portal have to be shared and installed by hand.

When you update a mod on the server, players get the same prompt the next time they join, so you do not need to tell everyone to update manually.

Show the server in the public list

Players can always join with the address and port from the panel, through Multiplayer and Connect to address in the game. To also appear in the public server browser, Factorio needs your factorio.com username and token.

  1. Sign in at factorio.com and open your profile. The token is shown there.
  2. On Startup, set Server Username to your factorio.com username and Server Token to the token.
  3. Stop the server, open data/server-settings.json and make sure "public": true is set inside visibility.
  4. Start the server.

Step 3 matters on Torchlite. While no token is set, the startup command switches the server to "public": false, so it does not fail trying to register itself. That change stays in the file after you add the token, so you have to set it back once.

Common problems

Players get a version mismatch

The game and the server must run the same version. Either the players update or downgrade their game, or you set Factorio Version to match them and reinstall.

Players cannot join because of mods

The game normally offers to sync mods from the portal. If it does not, the player is not signed in to factorio.com in the game, or one of the server's mods is not on the portal. Compare mod-list.json with the player's mod list.

The server is not in the public list

Check that Server Username and Server Token are filled in and that data/server-settings.json has "public": true. Read the console after starting; if the server could not register itself, it says so there.

My uploaded save did not load and a new map appeared

Save Name did not match the file name, so the server created a fresh map with that name. Fix the name and restart. Your uploaded save is still in saves/.

Players without Space Age cannot join

The DLC entries in mods/mod-list.json are enabled. If the map was made with Space Age, players without it cannot play that map at all. Turn the three entries off, set a new Save Name and start a fresh map they can join.

The server stopped by itself

Free servers need renewing while they run. Keep the panel open and press Renew when it asks; the renewal guide explains how often.

Stuck on a step?

Ask on the forum. Your question links back to this guide, so whoever answers knows where you are.

Ask about this guide

About the author

Torchlite team

The people who run Torchlite

We build and run the Torchlite panel and the nodes. Every guide is checked on our own servers before it goes up, and updated when the panel changes.

Found a mistake? Tell us on Discord

Related guides

All guides →