mirror of
https://github.com/factoriotools/factorio-docker.git
synced 2024-12-27 19:38:22 +01:00
Add support for --preset options provided by vanilla and popular mods (#482)
* Add support for --preset options provided by vanilla and popular mods * Add support for --preset in scenario.sh * Replace SU_EXEC with EXEC
This commit is contained in:
parent
bc28f4a917
commit
4ab4c889f4
9
docker/Dockerfile
Normal file → Executable file
9
docker/Dockerfile
Normal file → Executable file
@ -8,6 +8,14 @@ ARG PUID=845
|
||||
ARG PGID=845
|
||||
ARG BOX64_VERSION=v0.2.4
|
||||
|
||||
# optionally utilize a built-in map-gen-preset (see data/base/prototypes/map-gen-presets
|
||||
# if this is used, the preset will be used over any .json files supplied
|
||||
# vanilla factorio provides the following presets:
|
||||
# rich-resources, marathon, death-world, death-world-marathon, rail-world, ribbon-world, island
|
||||
# a modded factorio example for using this:
|
||||
# space-exploration
|
||||
ARG PRESET
|
||||
|
||||
# version checksum of the archive to download
|
||||
ARG VERSION
|
||||
ARG SHA256
|
||||
@ -20,6 +28,7 @@ ENV PORT=34197 \
|
||||
VERSION=${VERSION} \
|
||||
SHA256=${SHA256} \
|
||||
SAVES=/factorio/saves \
|
||||
PRESET="$PRESET" \
|
||||
CONFIG=/factorio/config \
|
||||
MODS=/factorio/mods \
|
||||
SCENARIOS=/factorio/scenarios \
|
||||
|
@ -20,4 +20,5 @@ services:
|
||||
# - USERNAME=FactorioUsername
|
||||
# - TOKEN=FactorioToken
|
||||
# - PORT=34198
|
||||
# - PRESET=deathworld
|
||||
# - ADDR=::1
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -eoux pipefail
|
||||
|
||||
FACTORIO_VOL=/factorio
|
||||
LOAD_LATEST_SAVE="${LOAD_LATEST_SAVE:-true}"
|
||||
GENERATE_NEW_SAVE="${GENERATE_NEW_SAVE:-false}"
|
||||
PRESET="${PRESET:-""}"
|
||||
SAVE_NAME="${SAVE_NAME:-""}"
|
||||
BIND="${BIND:-""}"
|
||||
CONSOLE_LOG_LOCATION="${CONSOLE_LOG_LOCATION:-""}"
|
||||
@ -75,10 +75,18 @@ if [[ $GENERATE_NEW_SAVE == true ]]; then
|
||||
if [[ -f "$SAVES/$SAVE_NAME.zip" ]]; then
|
||||
echo "Map $SAVES/$SAVE_NAME.zip already exists, skipping map generation"
|
||||
else
|
||||
$EXEC /opt/factorio/bin/x64/factorio \
|
||||
--create "$SAVES/$SAVE_NAME.zip" \
|
||||
--map-gen-settings "$CONFIG/map-gen-settings.json" \
|
||||
--map-settings "$CONFIG/map-settings.json"
|
||||
if [[ ! -z "$PRESET" ]]; then
|
||||
$EXEC /opt/factorio/bin/x64/factorio \
|
||||
--create "$SAVES/$SAVE_NAME.zip" \
|
||||
--preset "$PRESET" \
|
||||
--map-gen-settings "$CONFIG/map-gen-settings.json" \
|
||||
--map-settings "$CONFIG/map-settings.json"
|
||||
else
|
||||
$EXEC /opt/factorio/bin/x64/factorio \
|
||||
--create "$SAVES/$SAVE_NAME.zip" \
|
||||
--map-gen-settings "$CONFIG/map-gen-settings.json" \
|
||||
--map-settings "$CONFIG/map-settings.json"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -6,6 +6,8 @@ if [[ -z ${1:-} ]]; then
|
||||
fi
|
||||
|
||||
SERVER_SCENARIO="$1"
|
||||
PRESET="${PRESET:-""}"
|
||||
|
||||
mkdir -p "$SAVES"
|
||||
mkdir -p "$CONFIG"
|
||||
mkdir -p "$MODS"
|
||||
@ -32,6 +34,7 @@ fi
|
||||
exec /opt/factorio/bin/x64/factorio \
|
||||
--port "$PORT" \
|
||||
--start-server-load-scenario "$SERVER_SCENARIO" \
|
||||
--preset "$PRESET" \
|
||||
--map-gen-settings "$CONFIG/map-gen-settings.json" \
|
||||
--map-settings "$CONFIG/map-settings.json" \
|
||||
--server-settings "$CONFIG/server-settings.json" \
|
||||
|
Loading…
Reference in New Issue
Block a user