Skip to content

TremeschinArchive/MiniFae

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

Currently, only Linux is supported • Pull requests are welcome!

MiniFae

Micro Implementation of Factorio Achievements Enabler in Rust

🦀 Rust pattern matching is great, let's use it!

A simple program that enables achievements in modded Factorio by patching the game's binary, mostly inverting conditional checks on jump instructions. In other words, rewrites the following in machine code:

# From
if not modded:
    steam.unlock(trophy)

# Into
if modded:
    steam.unlock(trophy)

Note: As such, playing without mods naturally disables achievements • Verify game files to revert changes.

Compared to alternatives, this one is:

  • Tiny: 100 lines of code, easier to audit.
  • Fast: 500ms to patch the game.
  • Smart: Auto detect Steam version.

📦 Installation

Warning

Do not ever submit crash reports with a patched binary!

  • This is a non-official modification ≠ "mods".
  • Use at your own risk of data loss.

Important

Always patch the game after updates, as they revert changes.

Install Git and Rust language, then run:

  • git clone https://github.com/Tremeschin/MiniFae
  • cd MiniFae && cargo run --release

By default, it'll look for the Steam version of Factorio in the home directory.

  • Use cargo run --release -- /path/to/factorio to patch a custom file.

To revert changes, either verify the files on Steam, re-download or restore a backup.

♻️ Credits

About

⚙️ A Micro Implementation of Factorio Achievements Enabler I did not end up using, written in Rust

Resources

License

Stars

Watchers

Forks

Contributors

Languages