stardew-multiplayer-docker/docker/docker-entrypoint-gog.sh
norimicry 115e79f240 Refactor Docker configuration and update README.md
Docker-related files have been renamed and updated to better suit the GOG and Steam versions of the game. The README.md has been significantly expanded, improving explanation of server setup and usage details for each version.
2024-05-01 10:50:26 -04:00

41 lines
1.1 KiB
Bash

#!/bin/bash
export HOME=/config
for modPath in /data/Stardew/game/Mods/*/
do
mod=$(basename "$modPath")
# Normalize mod name ot uppercase and only characters, eg. "Always On Server" => ENABLE_ALWAYSONSERVER_MOD
var="ENABLE_$(echo "${mod^^}" | tr -cd '[A-Z]')_MOD"
# Remove the mod if it's not enabled
if [ "${!var}" != "true" ]; then
echo "Removing ${modPath} (${var}=${!var})"
rm -rf "$modPath"
continue
fi
if [ -f "${modPath}/config.json.template" ]; then
echo "Configuring ${modPath}config.json"
# Seed the config.json only if one isn't manually mounted in (or is empty)
if [ "$(cat "${modPath}config.json" 2> /dev/null)" == "" ]; then
envsubst < "${modPath}config.json.template" > "${modPath}config.json"
fi
fi
done
# Run extra steps for certain mods
/opt/configure-remotecontrol-mod.sh
/opt/tail-smapi-log.sh &
# Ready to start!
export XAUTHORITY=~/.Xauthority
sed -i 's/env TERM=xterm $LAUNCHER "$@"/env SHELL=\/bin\/bash TERM=xterm xterm -e "\/bin\/bash -c $LAUNCHER \"$@\""/' /data/Stardew/game/Stardew\ Valley
bash -c "/data/Stardew/start.sh"
sleep 233333333333333