peace on earth

This commit is contained in:
Nathan Rashleigh
2026-02-10 13:11:31 +11:00
parent 1528f0a2b0
commit 0d2260f983
6 changed files with 43 additions and 35 deletions
+1
View File
@@ -17,6 +17,7 @@ RUN apt-get update && apt-get install -y \
libtinfo5 \
libcurl3-gnutls \
unzip \
bzip2 \
rcon \
neovim \
tmux \
+18
View File
@@ -0,0 +1,18 @@
<html>
<body style="background:#0a0a0a;color:#00ff88;font-family:monospace;padding:20px;">
<pre style="font-size:6px;line-height:1.1;">
███╗ ███╗███████╗ ██████╗ █████╗ ███████╗████████╗██████╗ ██╗ ██╗ ██████╗████████╗██╗ ██╗██████╗ ███████╗
████╗ ████║██╔════╝██╔════╝ ██╔══██╗██╔════╝╚══██╔══╝██╔══██╗██║ ██║██╔════╝╚══██╔══╝██║ ██║██╔══██╗██╔════╝
██╔████╔██║█████╗ ██║ ███╗███████║███████╗ ██║ ██████╔╝██║ ██║██║ ██║ ██║ ██║██████╔╝█████╗
██║╚██╔╝██║██╔══╝ ██║ ██║██╔══██║╚════██║ ██║ ██╔══██╗██║ ██║██║ ██║ ██║ ██║██╔══██╗██╔══╝
██║ ╚═╝ ██║███████╗╚██████╔╝██║ ██║███████║ ██║ ██║ ██║╚██████╔╝╚██████╗ ██║ ╚██████╔╝██║ ██║███████╗
╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
███████╗██╗ ██╗██████╗ ███████╗
██╔════╝██║ ██║██╔══██╗██╔════╝
███████╗██║ ██║██████╔╝█████╗
╚════██║██║ ██║██╔══██╗██╔══╝
███████║╚██████╔╝██║ ██║██║
╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝
</pre>
</body>
</html>
+4 -17
View File
@@ -69,21 +69,6 @@ install_surf() {
echo "Installed SourceMod $SOURCEMOD_VERSION"
echo "--------------------------------------------------------------"
fi
# Install sm-json (required for JSON zone loading - pure SourcePawn library)
if [ ! -f "$CSTRIKE/addons/sourcemod/scripting/include/json.inc" ]; then
cd /tmp
wget "https://github.com/clugg/sm-json/archive/refs/tags/v5.0.1.zip" -O sm-json-v5.0.1.zip
unzip -o sm-json-v5.0.1.zip
cp -r sm-json-5.0.1/addons/* "$CSTRIKE/addons/" 2>/dev/null || true
rm -rf sm-json-v5.0.1.zip sm-json-5.0.1/
echo "--------------------------------------------------------------"
echo "Installed sm-json v5.0.1"
echo "--------------------------------------------------------------"
else
echo "--------------------------------------------------------------"
echo "sm-json already installed"
echo "--------------------------------------------------------------"
fi
# Install sm_closestpos (required for ghost/replay functionality)
if [ ! -f "$CSTRIKE/addons/sourcemod/extensions/closestpos.ext.so" ]; then
@@ -211,8 +196,8 @@ install_surf() {
cd /tmp
wget "https://github.com/jason-e/rngfix/releases/download/v1.1.3/rngfix_1.1.3.zip"
unzip -o "rngfix_1.1.3.zip"
cp -r addons/* "$CSTRIKE/addons/" 2>/dev/null || true
rm -rf "rngfix_1.1.3.zip" addons/
cp -r rngfix_1.1.3/* "$CSTRIKE/addons/sourcemod/" 2>/dev/null || true
rm -rf "rngfix_1.1.3.zip" rngfix_1.1.3/
echo "--------------------------------------------------------------"
echo "Installed RNGFix v1.1.3"
echo "--------------------------------------------------------------"
@@ -451,6 +436,7 @@ EOF
cfg() {
cd
cp src/cfg/server.cfg cssds/cstrike/cfg/
cp src/cfg/motd.txt cssds/cstrike/
cp cfg/mapcycle.txt cssds/cstrike/cfg/
sed -i "s|sv_downloadurl .*|sv_downloadurl \"${FASTDL_URL:-}/cstrike/\"|" "$CSTRIKE/cfg/server.cfg"
}
@@ -513,6 +499,7 @@ run_cssds() {
./srcds_run -game cstrike \
-port "${SRCDS_PORT}" \
+sv_setsteamaccount "${SRCDS_TOKEN}" \
+maxplayers "${SRCDS_MAXPLAYERS}" \
+map "$startmap" \
-ip "${SRCDS_IP}"
+10 -1
View File
@@ -7,8 +7,17 @@ import {
downloadAndExtractMaps,
} from "./common.ts";
function loadMapList(): string[] {
const listFile = Deno.env.get("MAPS_LIST_FILE");
if (listFile) {
const text = Deno.readTextFileSync(listFile);
return text.split("\n").map(s => s.replace(/\/\/.*/, "").trim()).filter(Boolean);
}
return (Deno.env.get("MAPS_WISHLIST") || "").split("\n").map(s => s.trim()).filter(Boolean);
}
const CONFIG = {
maps: (Deno.env.get("MAPS_WISHLIST") || "").split("\n").map(s => s.trim()).filter(Boolean),
maps: loadMapList(),
mapsDir: Deno.env.get("MAPS_DIR") || "/home/ntr/surf_megastructure/data/cssds/cstrike/maps",
tempDir: Deno.env.get("TEMP_DIR") || "/tmp/mapsdl",
serviceAccountPath: Deno.env.get("GOOGLE_APPLICATION_CREDENTIALS") || "./credentials/service-account.json",