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.
- Updates mods to the latest release based on mod-list.json
- Removes all old versions of mods which are being updated
- Limits releases to those compatible with the installed factorio version
- Installs all required dependencies for the latest release of the currently enabled mods
-
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
-
Download the latest release and you should be good to go.
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 server
Here'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