From 8e4b4eeab62030edd136cd5b1cbe5903fcd672c4 Mon Sep 17 00:00:00 2001 From: MSpreckels Date: Fri, 9 Feb 2024 16:14:49 +0100 Subject: [PATCH] Add env to toggle to automatically generate palworldsettings --- README.md | 1 + scripts/start.sh | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5c1f1d019..ce9fc6455 100644 --- a/README.md +++ b/README.md @@ -200,6 +200,7 @@ It is highly recommended you set the following environment values before startin | DISCORD_PRE_START_MESSAGE | Discord message sent when server begins to start | Server is started! | "string" | | DISCORD_PRE_SHUTDOWN_MESSAGE | Discord message sent when server begins to shutdown | Server is shutting down... | "string" | | DISCORD_POST_SHUTDOWN_MESSAGE | Discord message sent when server has stopped | Server is stopped! | "string" | +| DISABLE_GENERATE_SETTINGS | Whether to automatically generate the PalWorldSettings.ini | false | true/false | *highly recommended to set diff --git a/scripts/start.sh b/scripts/start.sh index 5b07f5421..1582b6c62 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -54,9 +54,30 @@ dirExists "/palworld" || exit isWritable "/palworld" || exit isExecutable "/palworld" || exit -printf "\e[0;32m*****GENERATING CONFIGS*****\e[0m\n" -./compile-settings.sh +if [ "${DISABLE_GENERATE_SETTINGS,,}" = false ]; then + printf "\e[0;32m*****GENERATING CONFIGS*****\e[0m\n" + ./compile-settings.sh +else + printf "\e[0;32m%s\e[0m\n" "*****CHECKING FOR EXISTING CONFIG*****" + + # shellcheck disable=SC2143 + if [ ! "$(grep -s '[^[:space:]]' /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini)" ]; then + + printf "\e[0;32m%s\e[0m\n" "*****GENERATING CONFIG*****" + + # Server will generate all ini files after first run. + if [ "$architecture" == "arm64" ]; then + timeout --preserve-status 15s ./PalServer-arm64.sh 1> /dev/null + else + timeout --preserve-status 15s ./PalServer.sh 1> /dev/null + fi + + # Wait for shutdown + sleep 5 + cp /palworld/DefaultPalWorldSettings.ini /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini + fi +fi cd /palworld || exit