Page 1 of 1

Git-like version control mod for Factorio

Posted: Wed Feb 18, 2026 8:06 pm
by undercouves
Hello, I was thinking of developing a mod that gave the user the power to control a portion of the factory using git-like version control.
My main motivation is to use this is multiplayer to keep track of what your friends fucked up did during your absence.

Here's a (digital!) pencil sketch of what the UI would look like inside Factorio:
Untitled.jpg
Untitled.jpg (250.98 KiB) Viewed 173 times
To make use of the mod, the user would:
  • Select a region on the factory to track;
  • Add desired entities;
  • Commit (using the UI);
  • Any subsequent changes could be highlighted using a diff view that would color entities based on their status (untracked, modified, deleted);
  • Optionally synchronize it with an external service and use usual VCS features (push, pull, branches, etc.).
However, I am facing a few technical issues:
  1. No network access for mods means it cannot create a shared repository;
  2. Would have to implement some (basic) version control system myself, since I haven't found any library in Lua to help me out.
I can still implement this mod without remote storage, of course, but each repository would be constrained to a single map and all users had to share the same state.
Any chance to overcome the issues and/or suggestions to implement this on a mod?

Re: Git-like version control mod for Factorio

Posted: Thu Feb 19, 2026 12:33 am
by eugenekay
Blueprint strings are compressed/base64-encoded JSON strings; they can be version-controlled fairly easily.

Blueprints can be exported from a running game by writing to script-output using write_file. You can also use send_udp and recv_udp for arbitrary data import/export to a local helper service. Use the special value "0" for player_index to run only on the Multiplayer Server instance. These functions can be run inside of a savegame's control.lua without requiring the usage of a Mod by all players connected to the Multiplayer server.

Good Luck!