-
Notifications
You must be signed in to change notification settings - Fork 21
FMP File Format
FMP File Format
Format specifications
FMPA format
The FMP (Factorio Modpack) file format is used to share Modpacks.
So far there have been two revisions of the format. This article will only focus on revision 2, which is supported starting from ModMyFactory version 1.6 onwards. Revision 1 is deemed obsolete and can only still be imported for compatibility reasons but no longer exported.
An FMP file is a simple JSON file that is readable from any common JSON serializer. I am using Json.NET.
At the top level is an object of type ExportTemplate. The version has to be 2
to be a valid FMP file. A version of 1
or unspecified is deprecated (revision 1) and any other value is invalid.
The FMPA (Factorio Modpack Archive) file format is an extension to the FMP format that allows packing mod files together with the exported modpack configuration.
An FMPA file is a ZIP archive that can be extracted by any common archiving software like 7Zip and WinRAR.
An FMPA file is required to contain a pack.json
file at the top level which is formatted like a normal FMP file.
In addition the archive can also contain a number of mod files at the top level. Mod files are named in a <uid>+<name>
fashion, where <uid>
is the unique ID of the mod as specified in the pack.json
file and <name>
is the name of the mod file as it would reside inside the Factorio mod directory. For example a valid name would be 0+rso-mod_3.7.8
.
Mods that have the Included flag set are expected to have a matching file inside the archive. If the file is missing the FMPA file is considered invalid.
Mods that do not have the flag set but still have a matching file do not invalidate the FMPA file, but the included file is ignored.