factorio-docker/0.17/files/docker-entrypoint.sh

57 lines
1.5 KiB
Bash
Raw Normal View History

2019-02-26 20:11:21 +01:00
#!/bin/sh -x
set -e
id
2019-02-26 20:55:45 +01:00
#
2019-02-26 20:44:26 +01:00
FACTORIO_VOL=/factorio
mkdir -p $FACTORIO_VOL
2019-02-26 20:11:21 +01:00
mkdir -p $SAVES
mkdir -p $CONFIG
mkdir -p $MODS
mkdir -p $SCENARIOS
mkdir -p $SCRIPTOUTPUT
if [ ! -f $CONFIG/rconpw ]; then
echo $(pwgen 15 1) > $CONFIG/rconpw
fi
if [ ! -f $CONFIG/server-settings.json ]; then
cp /opt/factorio/data/server-settings.example.json $CONFIG/server-settings.json
fi
if [ ! -f $CONFIG/map-gen-settings.json ]; then
2019-02-26 22:12:51 +01:00
# cp /opt/factorio/data/map-gen-settings.example.json $CONFIG/map-gen-settings.json
echo "{}" > $CONFIG/map-gen-settings.json
2019-02-26 20:11:21 +01:00
fi
if [ ! -f $CONFIG/map-settings.json ]; then
cp /opt/factorio/data/map-settings.example.json $CONFIG/map-settings.json
fi
if find -L $SAVES -iname \*.tmp.zip -mindepth 1 -print | grep -q .; then
rm -f $SAVES/*.tmp.zip
fi
if ! find -L $SAVES -iname \*.zip -mindepth 1 -print | grep -q .; then
/opt/factorio/bin/x64/factorio \
--create $SAVES/_autosave1.zip \
--map-gen-settings $CONFIG/map-gen-settings.json \
--map-settings $CONFIG/map-settings.json
fi
2019-02-26 20:44:26 +01:00
if [ "$(id -u)" = '0' ]; then
chown -R factorio:factorio $FACTORIO_VOL
fi
exec su-exec factorio /opt/factorio/bin/x64/factorio \
2019-02-26 20:11:21 +01:00
--port $PORT \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--server-banlist $CONFIG/server-banlist.json \
--rcon-port $RCON_PORT \
2019-02-26 22:12:51 +01:00
--server-whitelist $CONFIG/server-whitelist.json \
--use-server-whitelist \
2019-02-26 20:11:21 +01:00
--rcon-password "$(cat $CONFIG/rconpw)" \
--server-id /factorio/config/server-id.json \
$@