id = "factorio" name = "Factorio" homepage = "https://www.factorio.com" description = "Factorio is a game in which you build and maintain factories." executables = ["factorio"] [dotfiles] # https://wiki.factorio.com/Application_directory names the user data # directory per platform: "%appdata%\Factorio" on Windows, # "~/Library/Application Support/factorio" on macOS and "~/.factorio" on # Linux. Those are three genuinely different places rather than one place # under three names — Linux uses a dotted home directory, not the XDG config # directory — so each is written out. # # The same page lists what lives there: "Local settings (./config/config.ini)" # beside saves, mods, script output and logs. config.ini is the settings file: # graphics, sound, controls, interface and the other options the game writes # from its own settings menus. paths = [ "~/Library/Application Support/factorio/config/config.ini", "~/.factorio/config/config.ini", "%APPDATA%/Factorio/config/config.ini", ] exclude = [] # https://wiki.factorio.com/Multiplayer, on the credentials a public server # needs: "User credentials using a username and password or authentication # token (found on the factorio website or in the player-data.json)". The file # is the account's login state, so it is carried as a credential rather than # as content. The player's key bindings and options are in config.ini, which # is above and syncs normally. secret = [ "~/Library/Application Support/factorio/player-data.json", "~/.factorio/player-data.json", "%APPDATA%/Factorio/player-data.json", ] # No machine_lines: config.ini's [path] section is written with Factorio's own # placeholders (__PATH__executable__, __PATH__system-write-data__) rather than # absolute paths, and everything else in the file — resolution, keybindings, # volumes, graphics quality — is a preference the player wants carried over.