mirror of
				https://github.com/factoriotools/factorio-docker.git
				synced 2025-11-04 02:39:06 +01:00 
			
		
		
		
	Fix duplicate mod error with Space Age DLC mods (#576)
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 <noreply@anthropic.com>
This commit is contained in:
		@@ -184,6 +184,8 @@ Copy mods into the mods folder and restart the server.
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
**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.
 | 
			
		||||
 | 
			
		||||
### Scenarios
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 
 | 
			
		||||
@@ -227,9 +227,12 @@ update_mod()
 | 
			
		||||
  return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Process all enabled mods from mod-list.json, but skip built-in mods
 | 
			
		||||
# The Space Age DLC includes built-in mods (elevated-rails, quality, space-age) that should not be downloaded
 | 
			
		||||
if [[ -f $MOD_DIR/mod-list.json ]]; then
 | 
			
		||||
  jq -r ".mods|map(select(.enabled))|.[].name" "$MOD_DIR/mod-list.json" | while read -r mod; do
 | 
			
		||||
    if [[ $mod != base ]]; then
 | 
			
		||||
    # Skip base mod and DLC built-in mods
 | 
			
		||||
    if [[ $mod != base ]] && [[ $mod != elevated-rails ]] && [[ $mod != quality ]] && [[ $mod != space-age ]]; then
 | 
			
		||||
      update_mod "$mod" || true
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user