Skip to content

Commit 72c3590

Browse files
fankclaude
andauthored
Fix duplicate mod error with Space Age DLC mods (#576) (#577)
Skip downloading built-in DLC mods (elevated-rails, quality, space-age) when UPDATE_MODS_ON_START is enabled. These mods are included with the Space Age DLC and attempting to download them separately causes "Duplicate mod" errors. - Modified update-mods.sh to skip DLC built-in mods during updates - Added documentation note explaining the automatic handling of DLC mods 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <[email protected]>
1 parent 23942e3 commit 72c3590

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,8 @@ Copy mods into the mods folder and restart the server.
184184

185185
As of 0.17 a new environment variable was added ``UPDATE_MODS_ON_START`` which if set to ``true`` will cause the mods get to updated on server start. If set a valid [Factorio Username and Token](https://www.factorio.com/profile) must be supplied or else the server will not start. They can either be set as docker secrets, environment variables, or pulled from the server-settings.json file.
186186

187+
**Note:** When using the Space Age DLC, the built-in mods (`elevated-rails`, `quality`, and `space-age`) are automatically skipped during mod updates to prevent conflicts. These mods are included with the DLC and should not be downloaded separately.
188+
187189
### Scenarios
188190

189191
If you want to launch a scenario from a clean start (not from a saved map) you'll need to start the docker image from an alternate entrypoint. To do this, use the example entrypoint file stored in the /factorio/entrypoints directory in the volume, and launch the image with the following syntax. Note that this is the normal syntax with the addition of the --entrypoint setting AND the additional argument at the end, which is the name of the Scenario in the Scenarios folder.

docker/files/update-mods.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,9 +227,12 @@ update_mod()
227227
return 0
228228
}
229229

230+
# Process all enabled mods from mod-list.json, but skip built-in mods
231+
# The Space Age DLC includes built-in mods (elevated-rails, quality, space-age) that should not be downloaded
230232
if [[ -f $MOD_DIR/mod-list.json ]]; then
231233
jq -r ".mods|map(select(.enabled))|.[].name" "$MOD_DIR/mod-list.json" | while read -r mod; do
232-
if [[ $mod != base ]]; then
234+
# Skip base mod and DLC built-in mods
235+
if [[ $mod != base ]] && [[ $mod != elevated-rails ]] && [[ $mod != quality ]] && [[ $mod != space-age ]]; then
233236
update_mod "$mod" || true
234237
fi
235238
done

0 commit comments

Comments
 (0)