20 lines
883 B
Bash
Executable File
20 lines
883 B
Bash
Executable File
#!/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
|