feat: v4.1.0 -- workshop-ready (logo, path discovery, docs)

Players install from Steam Workshop instead of install.sh, which failed on
Windows (bash) and a Manjaro box (hard-coded Mods globs). Adds Logo +
logo.png the uploader ships, tools/steam_paths.py reading Steam's
libraryfolders.vdf (Flatpak/Snap/second disk/Windows), and README install
tiers plus in-game publishing steps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014TkQMhvEyoFqKzeCC69N6o
This commit is contained in:
2026-08-29 17:10:22 +02:00
co-authored by Claude Fable 5
parent 68af02fb3f
commit 1001abf57a
7 changed files with 344 additions and 45 deletions
+11 -24
View File
@@ -2,10 +2,12 @@
# ABOUT ME
# Installs the Auto Radiator mod into Cosmoteer's user Mods folder.
#
# Why it exists: Cosmoteer loads mods from the user profile directory, which on
# a Proton install lives deep inside the Steam compatdata prefix and is awkward
# to find by hand. This script locates it, validates the mod against the
# installed game data first, and copies only the files the game needs.
# Why it exists: this is the author's dev loop. Cosmoteer loads user mods from
# the profile directory, which on a Proton install lives deep inside the Steam
# compatdata prefix. This script locates it, validates the mod against the
# installed game data first, and copies only the files the game needs -- the
# exact set that "Upload to Steam Workshop" later ships. Players install from
# the Workshop instead; see README.md.
#
# Usage: ./install.sh install (validates first)
# ./install.sh --uninstall remove the installed copy
@@ -15,25 +17,10 @@ set -euo pipefail
MOD_ID="auto_radiator"
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
find_mods_dir() {
# A Cosmoteer profile folder is named after the Steam ID, so glob for it.
local candidates=(
"$HOME"/.local/share/Steam/steamapps/compatdata/799600/pfx/drive_c/users/steamuser/"Saved Games"/Cosmoteer/*/Mods
/mnt/*/SteamLibrary/steamapps/compatdata/799600/pfx/drive_c/users/steamuser/"Saved Games"/Cosmoteer/*/Mods
"$HOME"/"Saved Games"/Cosmoteer/*/Mods
"$HOME"/Documents/"My Games"/Cosmoteer/*/Mods
)
for path in "${candidates[@]}"; do
[ -d "$path" ] && printf '%s\n' "$path" && return 0
done
return 1
}
MODS_DIR="${COSMOTEER_MODS_DIR:-$(find_mods_dir || true)}"
if [ -z "$MODS_DIR" ]; then
echo "Could not find the Cosmoteer Mods folder." >&2
echo "Set COSMOTEER_MODS_DIR to it and run again." >&2
# Discovery reads Steam's own library list, so a second disk, Flatpak, Snap
# or the Debian package all work. See tools/steam_paths.py.
if ! MODS_DIR="$(python3 "$SOURCE_DIR/tools/steam_paths.py" --mods)"; then
echo "Set COSMOTEER_MODS_DIR to the Mods folder and run again." >&2
exit 1
fi
@@ -52,7 +39,7 @@ echo
echo "Installing to $TARGET"
rm -rf "$TARGET"
mkdir -p "$TARGET"
cp "$SOURCE_DIR/mod.rules" "$TARGET/"
cp "$SOURCE_DIR/mod.rules" "$SOURCE_DIR/logo.png" "$TARGET/"
cp -r "$SOURCE_DIR/components" "$TARGET/"
echo "Done. Enable \"Auto Radiator\" in the game's Mods menu."