From cbfc2113932b6f93b96458d2ee4fce4840e561bd Mon Sep 17 00:00:00 2001 From: "Alex Pooley (@zuedev)" Date: Thu, 16 Apr 2026 19:13:06 +0100 Subject: initial commit --- entrypoint.bash | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 entrypoint.bash (limited to 'entrypoint.bash') diff --git a/entrypoint.bash b/entrypoint.bash new file mode 100644 index 0000000..3616629 --- /dev/null +++ b/entrypoint.bash @@ -0,0 +1,34 @@ +#!/bin/bash + +# do we have a username and password? +if [ "$STEAM_USERNAME" = "anonymous" ]; then + echo "Using anonymous login. No password needed." + STEAM_PASSWORD="" +elif [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then + echo "Please set STEAM_USERNAME and STEAM_PASSWORD environment variables." + echo "If you want to use anonymous login, set STEAM_USERNAME to 'anonymous' and leave STEAM_PASSWORD empty." + exit 1 +fi + +# install game server via steamcmd +steamcmd +login "$STEAM_USERNAME" "$STEAM_PASSWORD" +force_install_dir /app +app_update 3930080 validate +quit + +# handle configuration file changes +CONFIG_FIELDS=( + "ServerName" + "MaxPlayers" + "Password" +) + +CONFIG_PATH="/app/DedicatedServerConfig.json" + +for FIELD in "${CONFIG_FIELDS[@]}"; do + ENV_VAR="CONFIG_${FIELD^^}" + if [ -n "${!ENV_VAR}" ]; then + echo "Setting $FIELD to ${!ENV_VAR} in config file." + jq --arg value "${!ENV_VAR}" ".${FIELD} = \$value" "$CONFIG_PATH" > tmp.$$.json && mv tmp.$$.json "$CONFIG_PATH" + fi +done + +# run the server +sh /app/RunServer.sh \ No newline at end of file -- cgit v1.2.3