mirror of
https://github.com/factoriotools/factorio-docker.git
synced 2025-02-23 12:53:58 +01:00
Compare commits
No commits in common. "e37bcf1ed0e134985640788fed950be3ffd253c8" and "d137f32c2fc05d813b5a04f313d8513314838cb1" have entirely different histories.
e37bcf1ed0
...
d137f32c2f
28
README.md
28
README.md
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<!-- start autogeneration tags -->
|
<!-- start autogeneration tags -->
|
||||||
* `2.0.9`, `latest`
|
* `2.0.9`, `latest`
|
||||||
* `2`, `2.0`, `2.0.8`, `stable`, `stable-2.0.8`
|
* `2`, `2.0`, `2.0.8`, `stable-2.0.8`
|
||||||
* `1`, `1.1`, `1.1.110`, `stable-1.1.110`
|
* `1`, `1.1`, `1.1.110`, `stable-1.1.110`
|
||||||
* `1.0`, `1.0.0`
|
* `1.0`, `1.0.0`
|
||||||
* `0.17`, `0.17.79`
|
* `0.17`, `0.17.79`
|
||||||
@ -261,20 +261,18 @@ The `server-settings.json` file may then contain the variable references like th
|
|||||||
|
|
||||||
These are the environment variables which can be specified at container run time.
|
These are the environment variables which can be specified at container run time.
|
||||||
|
|
||||||
| Variable Name | Description | Default | Available in |
|
| Variable Name | Description | Default | Available in |
|
||||||
|----------------------|----------------------------------------------------------------------|----------------|--------------|
|
| - | - | - | - |
|
||||||
| GENERATE_NEW_SAVE | Generate a new save if one does not exist before starting the server | false | 0.17+ |
|
| GENERATE_NEW_SAVE | Generate a new save if one does not exist before starting the server | false | 0.17+ |
|
||||||
| LOAD_LATEST_SAVE | Load latest when true. Otherwise load SAVE_NAME | true | 0.17+ |
|
| LOAD_LATEST_SAVE | Load latest when true. Otherwise load SAVE_NAME | true | 0.17+ |
|
||||||
| PORT | UDP port the server listens on | 34197 | 0.15+ |
|
| PORT | UDP port the server listens on | 34197 | 0.15+ |
|
||||||
| BIND | IP address (v4 or v6) the server listens on (IP\[:PORT]) | | 0.15+ |
|
| BIND | IP address (v4 or v6) the server listens on (IP\[:PORT]) | | 0.15+ |
|
||||||
| RCON_PORT | TCP port the rcon server listens on | 27015 | 0.15+ |
|
| RCON_PORT | TCP port the rcon server listens on | 27015 | 0.15+ |
|
||||||
| SAVE_NAME | Name to use for the save file | _autosave1 | 0.17+ |
|
| SAVE_NAME | Name to use for the save file | _autosave1 | 0.17+ |
|
||||||
| TOKEN | factorio.com token | | 0.17+ |
|
| TOKEN | factorio.com token | | 0.17+ |
|
||||||
| UPDATE_MODS_ON_START | If mods should be updated before starting the server | | 0.17+ |
|
| UPDATE_MODS_ON_START | If mods should be updated before starting the server | | 0.17+ |
|
||||||
| USERNAME | factorio.com username | | 0.17+ |
|
| USERNAME | factorio.com username | | 0.17+ | |
|
||||||
| CONSOLE_LOG_LOCATION | Saves the console log to the specifies location | | |
|
| CONSOLE_LOG_LOCATION | Saves the console log to the specifies location | |
|
||||||
| DLC_SPACE_AGE | Enables or disables the mods for DLC Space Age in mod-list.json | true | 2.0.8+ |
|
|
||||||
| MODS | Mod directory to use | /factorio/mods | 2.0.10+ |
|
|
||||||
|
|
||||||
**Note:** All environment variables are compared as strings
|
**Note:** All environment variables are compared as strings
|
||||||
|
|
||||||
|
@ -60,7 +60,6 @@
|
|||||||
"2.0.8": {
|
"2.0.8": {
|
||||||
"sha256": "d9594c4d552a3e4f965b188a4774da8c8b010fc23ddb0efc63b1d94818dde1ca",
|
"sha256": "d9594c4d552a3e4f965b188a4774da8c8b010fc23ddb0efc63b1d94818dde1ca",
|
||||||
"tags": [
|
"tags": [
|
||||||
"stable",
|
|
||||||
"stable-2.0.8",
|
"stable-2.0.8",
|
||||||
"2",
|
"2",
|
||||||
"2.0",
|
"2.0",
|
||||||
|
@ -28,8 +28,7 @@ ENV PORT=34197 \
|
|||||||
SCENARIOS=/factorio/scenarios \
|
SCENARIOS=/factorio/scenarios \
|
||||||
SCRIPTOUTPUT=/factorio/script-output \
|
SCRIPTOUTPUT=/factorio/script-output \
|
||||||
PUID="$PUID" \
|
PUID="$PUID" \
|
||||||
PGID="$PGID" \
|
PGID="$PGID"
|
||||||
DLC_SPACE_AGE="true"
|
|
||||||
|
|
||||||
SHELL ["/bin/bash", "-eo", "pipefail", "-c"]
|
SHELL ["/bin/bash", "-eo", "pipefail", "-c"]
|
||||||
|
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -eou pipefail
|
|
||||||
|
|
||||||
# Path to the mod-list.json file
|
|
||||||
MOD_LIST_FILE="$MODS/mod-list.json"
|
|
||||||
|
|
||||||
if [[ ! -f "$MOD_LIST_FILE" ]]; then
|
|
||||||
# Create the mod-list.json file if it doesn't exist
|
|
||||||
echo '{"mods":[{"name":"base","enabled":true}]}' > "$MOD_LIST_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
enable_mod()
|
|
||||||
{
|
|
||||||
echo "Enable mod $1 for DLC"
|
|
||||||
jq --arg mod_name "$1" 'if .mods | map(.name) | index($mod_name) then .mods |= map(if .name == $mod_name and .enabled == false then .enabled = true else . end) else . end' "$MOD_LIST_FILE" > "$MOD_LIST_FILE.tmp"
|
|
||||||
mv "$MOD_LIST_FILE.tmp" "$MOD_LIST_FILE"
|
|
||||||
}
|
|
||||||
|
|
||||||
disable_mod()
|
|
||||||
{
|
|
||||||
echo "Disable mod $1 for DLC"
|
|
||||||
jq --arg mod_name "$1" 'if .mods | map(.name) | index($mod_name) then .mods |= map(if .name == $mod_name and .enabled == true then .enabled = false else . end) else .mods += [{"name": $mod_name, "enabled": false}] end' "$MOD_LIST_FILE" > "$MOD_LIST_FILE.tmp"
|
|
||||||
mv "$MOD_LIST_FILE.tmp" "$MOD_LIST_FILE"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Enable or disable DLCs if configured
|
|
||||||
if [[ ${DLC_SPACE_AGE:-} == "true" ]]; then
|
|
||||||
# Define the DLC mods
|
|
||||||
DLC_MODS=("elevated-rails" "quality" "space-age")
|
|
||||||
|
|
||||||
# Iterate over each DLC mod
|
|
||||||
for MOD in "${DLC_MODS[@]}"; do
|
|
||||||
enable_mod "$MOD"
|
|
||||||
done
|
|
||||||
else
|
|
||||||
# Define the DLC mods
|
|
||||||
DLC_MODS=("elevated-rails" "quality" "space-age")
|
|
||||||
|
|
||||||
# Iterate over each DLC mod
|
|
||||||
for MOD in "${DLC_MODS[@]}"; do
|
|
||||||
disable_mod "$MOD"
|
|
||||||
done
|
|
||||||
fi
|
|
@ -43,10 +43,8 @@ if [[ ${UPDATE_MODS_ON_START:-} == "true" ]]; then
|
|||||||
./docker-update-mods.sh
|
./docker-update-mods.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
./docker-dlc.sh
|
|
||||||
|
|
||||||
EXEC=""
|
EXEC=""
|
||||||
if [[ $(id -u) == 0 ]]; then
|
if [[ $(id -u) = 0 ]]; then
|
||||||
# Update the User and Group ID based on the PUID/PGID variables
|
# Update the User and Group ID based on the PUID/PGID variables
|
||||||
usermod -o -u "$PUID" factorio
|
usermod -o -u "$PUID" factorio
|
||||||
groupmod -o -g "$PGID" factorio
|
groupmod -o -g "$PGID" factorio
|
||||||
@ -102,7 +100,6 @@ FLAGS=(\
|
|||||||
--server-adminlist "$CONFIG/server-adminlist.json" \
|
--server-adminlist "$CONFIG/server-adminlist.json" \
|
||||||
--rcon-password "$(cat "$CONFIG/rconpw")" \
|
--rcon-password "$(cat "$CONFIG/rconpw")" \
|
||||||
--server-id /factorio/config/server-id.json \
|
--server-id /factorio/config/server-id.json \
|
||||||
--mod-directory "$MODS" \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ -n "$CONSOLE_LOG_LOCATION" ]; then
|
if [ -n "$CONSOLE_LOG_LOCATION" ]; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user