Windows version: host the server from your own PC

setup.cmd installs the same DM/GunGame server natively on Windows 10/11
(no Docker or Python) into Documents\cs16, then helps set up how friends
join (LAN, playit.gg, port forwarding, VPN). cs.cmd is the menu.

Also: setup falls back to backup copies of the freely licensed mod
downloads on this Gitea when a main site is down (tools/make-mirror.sh
fills them), and the README is rewritten as a plain guide.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
esefandClaude Opus 5.5 committed 2026-10-15 20:55:00 +03:00
1 parent 7e9cbee14d
commit 4b7fdcaa23
16 files changed
+1412 -72

No files matched your search

+6 -1
View File
@@ -17,10 +17,15 @@ sha() { sha256sum < "$1" | cut -c1-64; }
step "downloads (pinned, checked against tools/versions.txt)"
mkdir -p $DL/gg $DL/snd $DL/spawns
MIRROR=$(sed -n 's/^#mirror //p' $R/tools/versions.txt | tr -d '\r')
grep -v '^#' $R/tools/versions.txt | while read -r f sum url; do
[ -n "$f" ] || continue
[ -f "$DL/$f" ] && [ "$(sha "$DL/$f")" = "$sum" ] && continue
curl -fsSL --retry 3 -o "$DL/$f.part" "$url" || die "download failed: $url"
# main site first; if that fails, the backup copy on the project's Gitea (same checksum check)
curl -fsSL --retry 3 -o "$DL/$f.part" "$url" ||
{ [ -n "$MIRROR" ] && echo " $f: main site failed, trying the backup copy" &&
curl -fsSL --retry 2 -o "$DL/$f.part" "$MIRROR${f##*/}"; } ||
die "download failed: $url"
got=$(sha "$DL/$f.part")
[ "$got" = "$sum" ] || { rm -f "$DL/$f.part"; die "checksum mismatch for $f: expected $sum, got $got"; }
mv "$DL/$f.part" "$DL/$f"