In other languages: Deutsch 日本語 Polski Русский Türkçe 简体中文

Application directory: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
(→‎Locations: Updated information on Steam Cloud saves, and added instructions on how to transfer blueprint collections from a website install to a Steam install.)
 
(39 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
The application directory stores
== Overview ==
* the saves (every save is a zip-file)
Depending on your installation method and OS, you will have one or two directories that contain Factorio assets, and one that contains user data, such as saves and mods.
* the [[Mods]]
* scenarios
* configuration
* [[Log File]] (since v0.10.0).


The directory structure is self-explaining.
== User data directory ==
The user data directory is where personal files are stored:
* Save files <code>./saves</code>
* Mods <code>./mods</code>
* Script-output, e.g. from /screenshot <code>./script-output</code>
* Local [[scenario system|scenarios]] <code>./scenarios</code>
* Local settings <code>./config/config.ini</code>
* [[log file]]s <code>factorio-*.log</code>
* Crash dump files <code>factorio-dump-*.dmp</code>


You can delete for example the configuration-file; it will be generated new with the defaults.
=== Locations ===
Search your computer for the directory location, or type the path into your file manager address bar.


It is recommended to create backups from this directory, before you install a new version.
Windows:


== Windows ==
%appdata%\Factorio
=== Installation by Zip-package ===
Application directory is the same as the unpacked factorio directory.


For example, if you unpacked the zip to
:The <code>%appdata%</code> shorthand translates to your local version of <code>C:\Users\[user name]\AppData\Roaming</code>
C:\Factorio
Then your saves can be found in
C:\Factorio\saves
and mods in
C:\Factorio\mods


=== Installation via Installer ===
MacOSX:
The installation package will extract based on UAC (User Access Control) standards. In other words, the factorio directory will be wherever you installed it (Program files by default) and the user data folders (saves, player data etc) can be found in
C:\Users\<username>\AppData\Roaming\Factorio
For computers running Windows Vista or newer (with UAC active):
%appdata%\factorio


== MacOSx ==
~/Library/Application Support/factorio
The application should be by default installed in the Apps-folder.
 
Linux distributions:
 
~/.factorio
 
:When using the Flatpak version of steam, all paths start from <code>~/.var/app/com.valvesoftware.Steam/</code> instead.


Whereas the data is stored under
When using Steam on Windows, the config.ini, achievements.dat, modded-achievements.dat, player-data.json, and a compressed copy of blueprint-storage-2.dat(.zstd) can also be found in
/users/<replace with your username>/Library/Application Support/factorio


Which is equivalent to
C:\Program Files (x86)\Steam\userdata\[user number]\427520\remote
  ~/Library/Application Support/factorio
 
You can type in this into the Finder (press SHIFT-COMMAND-G for goto folder) and put in exactly this line.'
On Linux, the equivalent folder can be found in
Or you can use in Finder the 'Find a folder' and write '~/Library/Application Support' (See [http://www.factorioforums.com/forum/viewtopic.php?f=49&t=9345 Can't find Mods folder]).
 
  ~/.steam/steam/userdata/[user number]/427520/remote
 
Before copying blueprint-storage-2.dat from a website install of Factorio to a Steam install, disable Steam Cloud Save, and delete blueprint-storage-2.dat.zstd from "remote". Keep Steam Cloud Save disabled to avoid having your blueprints overwritten.
 
== Application directory ==
The application directory stores three things:
* Factorio executables <code>./bin</code>
* Data for vanilla Factorio <code>./data</code>
* API documentation <code>./doc-html</code>
 
=== Locations ===
 
Windows:
 
C:\Program Files (x86)\Steam\steamapps\common\Factorio
C:\Program Files\Factorio


The factorio internal application-data can be found (when you have installed it) in
MacOSX:


  /Applications/factorio.app/Contents/data
~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents
  /Applications/factorio.app/Contents


Same directory structure as in Application support.
Linux:


== Linux ==
~/.steam/steam/steamapps/common/Factorio
Data is stored under
  ~/.factorio
  __Game_Install_Directory__


==Changing the application directory==
== Changing the user data directory ==


You can create a file <code>config-path.config</code> to configure Factorio to any directory.
You can create a file <code>config-path.cfg</code> to configure Factorio to any directory.


'''[http://www.factorioforums.com/forum/viewtopic.php?f=49&t=12819&p=87281#p87281 Please see this discussion]''' (for MacOS, but should work on any other OS).
In order to change the user data directory, user must edit the location of the "write-data" entry in the file <code>(Game install directory)/config/config.ini</code>. This affects the location of mods, scenario and temp.


'''Windows''': there is also the [[Install_guide#Installer_or_Zip-Package|ZIP-Package]], that can be installed in any directory.
==== macOS ====


There are two ways to change the user data location on macOS. One is to change the contents of '''factorio.app''' in your Applications folder. It is simpler, but macOS will prevent the modified app from running in some cases. The other is to surround '''factorio.app''' with special configuration files, and then to run Factorio in a special way. It is more complex, but won't provoke macOS to cause you problems.


=== The following discussion applies to version 0.11.13. ===
As background, know that '''factorio.app''', although it looks like a single file, is in fact a "package", also known as an "app bundle". This is a special kind of directory. Using the right Finder command, you can open the package, and change the files and directories within. However, macOS has a [https://support.apple.com/en-ca/guide/security/sec5599b66df/web security system called Gatekeeper]. In certain situations, Gatekeeper will check that the app bundle is completely identical to its original contents. Gatekeeper will notice any modifications you make within the app bundle. It will cause macOS to refuse to run the app. When and how often Gatekeeper checks differs by macOS version. It is very likely to check when you first run an application. In newer versions of macOS, like macOS Sequoia 15, it will check more often, even after your first run.  


It is possible to change the application directory location for Factorio.
If you are willing to modify the Factorio app bundle, then create <code>factorio.app/config-path.cfg</code> with the following contents:


This can be done by editing the location of the "write-data" entry in the file <code>__Game_Install_directory/config/config.ini</code>. This affects the location of mods, scenario and temp.
config-path=__PATH__executable__/../config
use-system-read-write-data-directories=false


If you want to move only the location of your save files you can '''[[Application_Directory/Changing_the_save_directory|change the the save directory using symlinks]]''' but this still means that all users of the computer will share the same data, including settings.
Update <code>factorio.app/Contents/config/config.ini</code>
[path]
read-data=__PATH__executable__/../data
write-data=__PATH__executable__/..  


===Linux===
If you do not wish to modify the Factorio app bundle, follow the instructions in '''[http://www.factorioforums.com/forum/viewtopic.php?f=49&t=12819&p=87281#p87281 this forum discussion]'''.
 
==== Linux ====
Update <code>__Game_Install_directory/config-path.cfg</code>  
Update <code>__Game_Install_directory/config-path.cfg</code>  


Line 84: Line 106:


Note that if someone changes any options, in-game, those option changes will apply to everyone who plays on the same computer.
Note that if someone changes any options, in-game, those option changes will apply to everyone who plays on the same computer.
== Installation from Zip File ==
The unzipped Factorio directory.
A list of all things found here:
* Save games (as zip files)
* User-installed/created [[Mods]].
* User-installed/created scenarios.
* User configuration and settings storage
* [[Log file]] (factorio-*.log)
* Player data (player-data.json)
Note: Deleting the configuration file will result in a default replacement being generated upon the next Factorio launch.
It is recommended to create backups from this directory (of saves, config, etc) before installing a new version.


== See also ==
== See also ==
 
* [[Install guide]]
* [[Download and Installation]]
* [[Install Guide]]
* [[Mods]]
* [[Installing Mods]]
* [[Installing Mods]]
* [http://www.factorioforums.com/forum/viewtopic.php?f=34&t=3389 Forum discussion]
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=8294 Linux Version - Save games in $HOME somewhere]
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=8294 Linux Version - Save games in $HOME somewhere]
{{C|Main}}

Latest revision as of 06:48, 27 November 2024

Overview

Depending on your installation method and OS, you will have one or two directories that contain Factorio assets, and one that contains user data, such as saves and mods.

User data directory

The user data directory is where personal files are stored:

  • Save files ./saves
  • Mods ./mods
  • Script-output, e.g. from /screenshot ./script-output
  • Local scenarios ./scenarios
  • Local settings ./config/config.ini
  • log files factorio-*.log
  • Crash dump files factorio-dump-*.dmp

Locations

Search your computer for the directory location, or type the path into your file manager address bar.

Windows:

%appdata%\Factorio
The %appdata% shorthand translates to your local version of C:\Users\[user name]\AppData\Roaming

MacOSX:

~/Library/Application Support/factorio

Linux distributions:

~/.factorio
When using the Flatpak version of steam, all paths start from ~/.var/app/com.valvesoftware.Steam/ instead.

When using Steam on Windows, the config.ini, achievements.dat, modded-achievements.dat, player-data.json, and a compressed copy of blueprint-storage-2.dat(.zstd) can also be found in

C:\Program Files (x86)\Steam\userdata\[user number]\427520\remote

On Linux, the equivalent folder can be found in

~/.steam/steam/userdata/[user number]/427520/remote

Before copying blueprint-storage-2.dat from a website install of Factorio to a Steam install, disable Steam Cloud Save, and delete blueprint-storage-2.dat.zstd from "remote". Keep Steam Cloud Save disabled to avoid having your blueprints overwritten.

Application directory

The application directory stores three things:

  • Factorio executables ./bin
  • Data for vanilla Factorio ./data
  • API documentation ./doc-html

Locations

Windows:

C:\Program Files (x86)\Steam\steamapps\common\Factorio
C:\Program Files\Factorio

MacOSX:

~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents
/Applications/factorio.app/Contents

Linux:

~/.steam/steam/steamapps/common/Factorio
~/.factorio

Changing the user data directory

You can create a file config-path.cfg to configure Factorio to any directory.

In order to change the user data directory, user must edit the location of the "write-data" entry in the file (Game install directory)/config/config.ini. This affects the location of mods, scenario and temp.

macOS

There are two ways to change the user data location on macOS. One is to change the contents of factorio.app in your Applications folder. It is simpler, but macOS will prevent the modified app from running in some cases. The other is to surround factorio.app with special configuration files, and then to run Factorio in a special way. It is more complex, but won't provoke macOS to cause you problems.

As background, know that factorio.app, although it looks like a single file, is in fact a "package", also known as an "app bundle". This is a special kind of directory. Using the right Finder command, you can open the package, and change the files and directories within. However, macOS has a security system called Gatekeeper. In certain situations, Gatekeeper will check that the app bundle is completely identical to its original contents. Gatekeeper will notice any modifications you make within the app bundle. It will cause macOS to refuse to run the app. When and how often Gatekeeper checks differs by macOS version. It is very likely to check when you first run an application. In newer versions of macOS, like macOS Sequoia 15, it will check more often, even after your first run.

If you are willing to modify the Factorio app bundle, then create factorio.app/config-path.cfg with the following contents:

config-path=__PATH__executable__/../config
use-system-read-write-data-directories=false

Update factorio.app/Contents/config/config.ini

[path]
read-data=__PATH__executable__/../data
write-data=__PATH__executable__/.. 

If you do not wish to modify the Factorio app bundle, follow the instructions in this forum discussion.

Linux

Update __Game_Install_directory/config-path.cfg

use-system-read-write-data-directories=true

Update __Game_Install_directory/config/config.ini

[path]
read-data=__PATH__executable__/../../data
write-data=.local/share/factorio

You could set the write-data value to .factorio if you prefer.

Once you have done this, you can remove write permissions to the entire game installation directory except for config/config.ini, which must be writable by all people who wish to play the game.

Note that if someone changes any options, in-game, those option changes will apply to everyone who plays on the same computer.

Installation from Zip File

The unzipped Factorio directory.

A list of all things found here:

  • Save games (as zip files)
  • User-installed/created Mods.
  • User-installed/created scenarios.
  • User configuration and settings storage
  • Log file (factorio-*.log)
  • Player data (player-data.json)

Note: Deleting the configuration file will result in a default replacement being generated upon the next Factorio launch.

It is recommended to create backups from this directory (of saves, config, etc) before installing a new version.

See also