No description
Find a file
2026-07-03 17:12:01 +03:00
.forgejo/workflows fix artifact uplaod action ver 2026-07-03 17:12:01 +03:00
.github/workflows Delete dependabot.yml 2023-02-14 01:14:22 +03:00
src mtzip 4.0.0 2024-11-27 05:41:46 +03:00
.gitignore Initial commit 2020-09-02 12:29:37 +03:00
Cargo.lock Rust 2024 edition 2025-02-28 14:09:50 +03:00
Cargo.toml Rust 2024 edition 2025-02-28 14:09:50 +03:00
LICENSE docs(license): update copyright year(s) 2025-01-01 03:20:15 +00:00
README.md Section about rayon support 2024-05-04 14:48:28 +03:00

Rust Factorio Mod Packer

Idea behind this project was to create a compiled and fast replacement to my shell script that packed factorio mods (very useful in my Factorio mod development pipeline). This program packs all files in current direcory (excluding unix-style hidden directories to ignore git stuff) into a properly-formatted mod and puts it into mods folder ($HOME/.factorio/mods on Linux or %AppData%\Factorio\mods on Windows). Works on Linux and Windows, builds are included on Releases page. MacOS support isn't planned.

All versions are available on GitHub releases page.

Mod File Structure Example

<mod_name> and <mod_version> are "name" and "version" values from mod's info.json file.

  • <mod_name>_<mod_version>.zip
    • <mod_name>_<mod_version>
      • info.json
      • data.lua
      • control.lua
      • etc

Speed

This program manages to outperform (i.e. do the job faster) my 7zip-based build script on my machine (Ryzen 5 3600). This is achieved by using library mtzip (also made by me). It splits the file compression jobs into tasks that can be run concurrently.

Rayon support

rayon is supported as an alternative to mtzip's thread management. It can be enabled with rayon feature, replaces the default behavior. From my personal testing, it results in a lightly lower performance in extreme situations, but nothing that can be noticed without timing the execution time.