#!/bin/bash set -euo pipefail mkdir -p /factorio/config /factorio/upgrade-backups # A startup snapshot preserves the pre-upgrade saves. Keep the last five starts. if compgen -G '/factorio/saves/*.zip' >/dev/null; then backup="/factorio/upgrade-backups/$(date -u +%Y%m%dT%H%M%S)" mkdir -p "$backup" cp -a /factorio/saves/*.zip "$backup/" mapfile -t old < <(find /factorio/upgrade-backups -mindepth 1 -maxdepth 1 -type d | sort -r | tail -n +6) for path in "${old[@]}"; do rm -rf -- "$path"; done fi cp /settings/server-settings.json /factorio/config/server-settings.json cp /settings/server-adminlist.json /factorio/config/server-adminlist.json cp /credentials/rcon-password /factorio/config/rconpw chmod 600 /factorio/config/rconpw # Upstream uses bash xtrace, which would otherwise log the RCON password. exec 3>/dev/null export BASH_XTRACEFD=3 exec /docker-entrypoint.sh