#!/bin/bash set -euo pipefail # Build and package the Welcome Screen mod for Vintage Story # Usage: ./build.sh [--install] VERSION=$(grep -oP '"version":\s*"\K[^"]+' resources/modinfo.json) MODID="welcomescreen" OUTPUT="${MODID}_${VERSION}.zip" MODS_DIR="/opt/gameservers/vintage-story/server/shared/Mods" echo "Building ${MODID} v${VERSION}..." dotnet build -c Release echo "Packaging ${OUTPUT}..." TMPDIR=$(mktemp -d) cp bin/Release/WelcomeScreen.dll "$TMPDIR/" cp resources/modinfo.json "$TMPDIR/" cd "$TMPDIR" zip -j "/tmp/${OUTPUT}" WelcomeScreen.dll modinfo.json rm -rf "$TMPDIR" cd - > /dev/null echo "Built: /tmp/${OUTPUT}" if [[ "${1:-}" == "--install" ]]; then echo "Installing to ${MODS_DIR}..." rm -f "${MODS_DIR}/${MODID}_"*.zip cp "/tmp/${OUTPUT}" "${MODS_DIR}/" chown 1000:1000 "${MODS_DIR}/${OUTPUT}" echo "Installed. Restart the VS server to apply." fi