en-us/about_FactorioProfiles.help.txt
TOPIC
about_FactorioProfiles SHORT DESCRIPTION Explains how the FactorioProfiles module can be used to manage multiple Factorio profiles. OVERVIEW == This module manages multiple Factorio profiles. A Factorio profile can be described as a set of configuration files, mods, saves, and other items which the game loads in at runtime, and which contain user-created content. An example use of this module would be to have a separate profile for 'vanilla', 'a multiplayer game with certain mods', and a 'modded save'. These three profiles can share the config file, so that the keybinds and game settings remain the same across all profiles. However, they have separate mod and save folders since the profiles are incompatible with each other. == This module has custom-defined formatting outputs for: ------- ----- Cmdlet Alias ------- ----- Format-List fl Format-Table ft Format-Custom fc Format-Wide fw The 'Format-Custom' & 'Format-List' views contain the largest amount of information regarding the symlink. == The module has the following default settings New profiles default being created at: '%APPDATA%\Powershell\FactorioProfiles\Profiles' New profiles don't share anything globally. These settings can be modified with the 'Set-FactorioProfileOption' cmdlet. HOW IT WORKS == A Steam or standalone installation of the game stores it's data in the '%APPDATA%\Factorio' folder. What this module does is store the data in separate folders elsewhere on the filesystem, and then creating a symbolic link pointing to these folders. Example: %APPDATA%\Factorio -> D:\my\modded\factorio\profile The creation of this symbolic link is done through the 'Switch-FactorioProfile' cmdlet, which will link to the given profile. == Whilst most of the sharing is done through symbolic links, the blueprint file isn't. Because of an apparent limitation of factorio this method does not work since factorio seems to completely delete and re-create the 'blueprint-storage.dat' file every time it is modified. Therefore, to "share" this file between multiple profiles, it must be copied between the profiles rather than linked. [!]Because of this limitation, if a profile is sharing blueprint data, you must run the 'Sync-FactorioProfiles' cmdlet once you exit out of the game. This will perform the copying for you and make it "seamless". CREATING A PROFILE == To create a new profile, run: PS C:\> New-FactorioProfile -Name "modded" This command will create a new profile with the name "modded", and it will be created in the default profile location. -Name Specifies the name of the profile; must be unique. OPTIONAL PARAMETERS -Path Specifies the path at which to create the profile folder, overriding the default path. If any parent folders don't exist, they will be created during the execution. -ShareConfig (Accepted values: "true", "false") Specifies that this profile will share it's configuration file globally. -ShareMods (Accepted values: "true", "false") Specifies that this profile will share it's mods folder content globally. -ShareSaves (Accepted values: "true", "false") Specifies that this profile will share it's save folder content globally. -ShareScenarios (Accepted values: "true", "false") Specifies that this profile will share it's scenarios folder content globally. -ShareBlueprints (Accepted values: "true", "false") Specifies that this profile will share it's blueprint data file globally. RETRIEVING A PROFILE == To retrieve the details of a profile, run: PS C:\> Get-FactorioProfile -Name "modded" This command will retrieve the details of the profile named "modded", and print the information to the screen. -Names Specifies the name(s) of the profiles to retrieve. Leaving this value blank will retrieve *all* profiles. [!]This parameter has tab-completion support. RETRIEVING THE MODULE SETTINGS == To retrieve the global settings for this module, run: PS C:\> Get-FactorioProfileSettings This command will retrieve the module settings, and print them to the screen. CHANGING THE OPTIONS OF A PROFILE == To modify a profile, run: PS C:\> Set-FactorioProfileOption -Profile "modded" -... This command will modify the "modded" profile. -Profile Specifies the name of the profile to modify. [!]This parameter has tab-completion support. OPTIONAL PARAMETERS -NewName Specifies the new name of the profile; must be unique. [!]Renaming the profile will rename the profile folder as well. -NewPath Specifies the new location of the profile; location must not be taken. -ShareConfig (Accepted values: "true", "false") Specifies that this profile will share it's configuration file globally. -ShareMods (Accepted values: "true", "false") Specifies that this profile will share it's mods folder content globally. -ShareSaves (Accepted values: "true", "false") Specifies that this profile will share it's save folder content globally. -ShareScenarios (Accepted values: "true", "false") Specifies that this profile will share it's scenarios folder content globally. -ShareBlueprints (Accepted values: "true", "false") Specifies that this profile will share it's blueprint data file globally. [!]Changing any of the "sharing" options will perform the following action: - If the profile is current not sharing but will now share, The current profile item *will be deleted*, and then the item will be shared. - If the profile is current sharing but will now not share, The item will stop being shared, and a new empty item will be created. == To modify the global settings for this module, run: PS C:\> Set-FactorioProfileOption -Module -... -Module Specifies that the cmdlet will modify the global settings. OPTIONAL PARAMETERS -DefaultPathForNewProfiles Specifies the path at which, by default, new profiles will be created. -ShareConfigByDefault (Accepted values: "true", "false") Specifies that by default, a new profile will share it's configuration file globally. -ShareModsByDefault (Accepted values: "true", "false") Specifies that by default, a new profile will share it's mods folder content globally. -ShareSavesByDefault (Accepted values: "true", "false") Specifies that by default, a new profile will share it's save folder content globally. -ShareScenariosByDefault (Accepted values: "true", "false") Specifies that by default, a new profile will share it's scenarios folder content globally. -ShareBlueprintsByDefault (Accepted values: "true", "false") Specifies that by default, a new profile will share it's blueprint data file globally. SWITCHING TO A PROFILE == To switch Factorio to a profile, run: PS C:\> Switch-FactorioProfile -Name "modded" This command will make the profile named "modded" become the currently active Factorio profile. Once this command has finished execution, you can start Factorio up, whether through Steam or otherwise. -Name Specifies the name of the profile to switch to. [!]This parameter has tab-completion support. SYNCING ALL PROFILES == To sync a given profiles blueprint data, run: PS C:\> Sync-FactorioProfiles This command will, if sharing blueprint data, sync this data with the "global" profile. This is a workaround to the limitations of Factorio. OPENING A PROFILE FOLDER == To open the folder of a profile in the file explorer, run: PS C:\> Open-FactorioProfileFolder -Name "modded" This command will open explorer.exe at the location of the profile folder for the "modded" profile. -Name Specifies the name of the profile to open. [!]This parameter has tab-completion support. REMOVING A PROFILE == To retrieve the details of a profile, run: PS C:\> Remove-FactorioProfile -Name "modded" This command will remove the profile named "modded", including deleting the profile folder from disk. -Name Specifies the name of the profile to remove. [!]This parameter has tab-completion support. OTHER == This module stores all data in the '%APPDATA%\Powershell\FactorioProfiles' folder. It is advised to **not** manually modify the database file as it could have unintended consequences. KEYWORDS Game Factorio Management |