From da2439f98b735d76775342c9ed9ca7ef5cbb729f Mon Sep 17 00:00:00 2001 From: fithwum Date: Tue, 10 Jun 2025 14:51:12 -0700 Subject: [PATCH] updates --- vanilla/Dockerfile | 4 +++- vanilla/install_script.sh | 41 +++++++++++++++++++++++++++------------ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/vanilla/Dockerfile b/vanilla/Dockerfile index 30e4a63..9bc611c 100644 --- a/vanilla/Dockerfile +++ b/vanilla/Dockerfile @@ -2,7 +2,9 @@ FROM fithwum/base-image:debian-bookworm LABEL maintainer "fithwum" # Environment Variables +ENV VS_CHANNEL="stable" ENV VS_VERSION="" +ENV USERNAME="vintagestory" # URL's for files ARG INSTALL_SCRIPT=https://gitlab.fithwum.tech/fithwum/vintage-story/-/raw/master/vanilla/install_script.sh @@ -12,7 +14,7 @@ RUN apt-get -y update && apt-get autoclean && apt-get autoremove \ && wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ - && apt-get -y update && apt-get install dotnet-sdk-9.0 bzip2 jq wget pcregrep screen -y \ + && apt-get -y update && apt-get install dotnet-sdk-7.0 bzip2 jq wget pcregrep screen -y \ && useradd vintagestory -s /sbin/nologin -m \ && apt-get -y --fix-broken install \ && rm -rf /var/lib/apt/lists/* \ diff --git a/vanilla/install_script.sh b/vanilla/install_script.sh index 89f0c6f..8af6801 100644 --- a/vanilla/install_script.sh +++ b/vanilla/install_script.sh @@ -2,49 +2,66 @@ # Copyright (c) 2022 fithwum # All rights reserved -VS_SERVER_FILE=https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_$VS_VERSION.tar.gz +CUR_V="$(find /VSserver/server -name server-* | cut -d '-' -f2-)" +if [ ! -z "${VS_VERSION}" ] && [ "${CUR_V}" != "${VS_VERSION}" ]; then + echo "---Static version: ${VS_VERSION} set!---" + DL_URL="$(wget -qO- http://api.vintagestory.at/${VS_CHANNEL}.json | jq -r --arg version "${VS_VERSION}" '.[$version].linuxserver.urls.cdn')" + LAT_V="${VS_VERSION}" +elif [ ! -z "${VS_VERSION}" ] && [ ! -z "${CUR_V}" ] && [ "${CUR_V}" == "${VS_VERSION}" ]; then + echo "---Static version: ${VS_VERSION} locally found!---" + LAT_V="${CUR_V}" + DL_URL="local" +else + JSON="$(wget -qO- http://api.vintagestory.at/${VS_CHANNEL}.json)" + LAT_V="$(echo "${JSON}" | jq -r 'keys_unsorted[]' | head -1)" + DL_URL="$(echo "${JSON}" | jq -r --arg version "${LAT_V}" '.[$version].linuxserver.urls.cdn')" +fi + +VS_SERVER_FILE=https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_$CUR_V.tar.gz # Main install (Debian). # Check for server files and download if needed. -if [ -e /VSserver/server-$VS_VERSION.sh ] +if [ -e /VSserver/server-$CUR_V.sh ] then echo " " - echo "INFO ! server-$VS_VERSION.sh found starting now." + echo "INFO ! server-$CUR_V.sh found starting now." else echo " " - echo "WARNING ! server-$VS_VERSION.sh is out of date/missing ... will download now." + echo "WARNING ! server-$CUR_V.sh is out of date/missing ... will download now." echo " " echo "INFO ! Cleaning old files." mkdir /VSserver/old-server-versions/ mv /VSserver/server/. /VSserver/old-server-versions/server/ mv /VSserver/server-*.sh /VSserver/old-server-versions/ - wget --no-cache --show-progress --progress=bar:force:noscroll $VS_SERVER_FILE -O /VStemp/vs_server_linux-x64_$MC_VERSION.tar.gz - tar -xzf /VStemp/vs_server_linux-x64_$MC_VERSION.tar.gz -C /VStemp/files + wget --no-cache --show-progress --progress=bar:force:noscroll $VS_SERVER_FILE -O /VStemp/vs_server_linux-x64_$CUR_V.tar.gz + tar -xzf /VStemp/vs_server_linux-x64_$CUR_V.tar.gz -C /VStemp/files rm -fr /VStemp/vs_server_linux-x64_*.*.*.tar.gz cp -uR /VStemp/files/. /VSserver/server/ rm -fr /VStemp/files/ - mv /VSserver/server/server.sh /VSserver/server/server-$VS_VERSION.sh + mv /VSserver/server/server.sh /VSserver/server/server-$CUR_V.sh fi sleep 1 echo "INFO ! Setting server path." -sed -i '/VSPATH='*'/c\VSPATH='/VSserver/server'' /VSserver/server/server-$VS_VERSION.sh +sed -i '/VSPATH='*'/c\VSPATH='/VSserver/server'' /VSserver/server/server-$CUR_V.sh echo "INFO ! Setting data path." -sed -i '/DATAPATH='*'/c\DATAPATH='/VSserver/data'' /VSserver/server/server-$VS_VERSION.sh +sed -i '/DATAPATH='*'/c\DATAPATH='/VSserver/data'' /VSserver/server/server-$CUR_V.sh +echo "INFO ! Setting username." +sed -i '/USERNAME='*'/c\USERNAME='$USERNAME'' /VSserver/server/server-$CUR_V.sh sleep 1 # Set permissions. chown 99:100 -R /VSserver chmod 777 -R /VSserver -chmod +x /VSserver/server/server-$VS_VERSION.sh +chmod +x /VSserver/server/server-$CUR_V.sh sleep 1 # Run vintage-story server. echo " " -echo "INFO ! Starting vintage-story Server $VS_VERSION" -exec /VSserver/server/server-$VS_VERSION.sh +echo "INFO ! Starting vintage-story Server $CUR_V" +exec /VSserver/server/server-$CUR_V.sh exit \ No newline at end of file