Skip to content
This repository has been archived by the owner on Nov 29, 2020. It is now read-only.

FMP File Format

Mathis Rech edited this page Sep 4, 2018 · 2 revisions

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.

Format specifications


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.

FMPA format


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.

Clone this wiki locally