peace on earth
This commit is contained in:
@@ -17,6 +17,7 @@ RUN apt-get update && apt-get install -y \
|
||||
libtinfo5 \
|
||||
libcurl3-gnutls \
|
||||
unzip \
|
||||
bzip2 \
|
||||
rcon \
|
||||
neovim \
|
||||
tmux \
|
||||
|
||||
@@ -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
@@ -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
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user