This module will automatically update all mods installed for a given instance of Factorio.
Note that this is primarily intended for headless dedicated Linux servers.
Ensure a python3 implementation is available via something like command -v python3
. If it's missing here's a few potential installation routes:
Ubuntu/Debian
sudo apt install python3 -y
RedHat Family (Fedora/CentOS/etc)
sudo yum install python36u -y
Gentoo
# Shouldn't be necessary since you'll have python for portage
emerge -vt python
Install requests as described in their documentation. Or, on gentoo:
emerge -vt dev-python/requests
Two modes are supported:
--list
- lists all mods described by mod-list.json, their current version, and the latest release--update
- performs an update of all mods for the current serverHere's a brief example of executing the command:
./mod_updater.py -s /opt/factorio/data/server-settings.json \
-m /opt/factorio/mods \
--fact-path /opt/factorio/bin/x64/factorio --update
A few notes about the code:
black
before submitting pull requests. You can install black with pip install black
and then run black mod_updater.py
in the repo to autoformat.flake8
and pylint
. You can also install these via pip and can run them with flake8 mod_updater.py
and pylint mod_updater.py
respectively.