├── .gitattributes ├── Batch ├── BM Start Client and Join Local.renametodotbat ├── BMCoopAutoInstall.renametodotbat ├── CSSDSAuto.renametodotbat ├── InstallSourceMods.bat ├── JalopyRadarFix.bat ├── LFEDedicatedServerInstall.renametodotbat ├── SynCLinstall.bat ├── Syndsinstall27015.renametodotbat ├── Syndsinstallsimplified.renametodotbat └── halocustomeditionrotation.renametodotbat ├── PS ├── cptxt.ps1 ├── linkdirs.ps1 ├── lsrename.ps1 ├── makethebz2s.ps1 ├── makethecooptemplateedt.ps1 ├── makethedmtemplateedt.ps1 ├── makethevmts.ps1 └── reversebz2s.ps1 ├── README.md ├── synotherfilefixes ├── 7-Zip.zip ├── DownFall.dat ├── EntropyZero.dat ├── addons │ └── sourcemod │ │ ├── extensions │ │ └── dhooks.ext.so │ │ └── plugins │ │ └── updater.smx ├── bmscripts.zip ├── lfe │ ├── gameinfo.txt │ └── gamemounting.txt ├── libcurl.so.7z ├── portalscenes.7z ├── scripts │ ├── talker │ │ └── player │ │ │ └── humans.txt │ └── vehicles │ │ └── jeep_elite.txt ├── w_physics.phy └── yearlongalarm.dat └── unix ├── bulkrename.sh ├── lfcedsinstall.sh ├── synclwine.sh ├── syndsauto.sh ├── syndsinstall.sh └── syndswine.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto-detect text files and perform LF normalization 2 | * text=auto 3 | 4 | *.sh text eol=lf 5 | -------------------------------------------------------------------------------- /Batch/BM Start Client and Join Local.renametodotbat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | rem //////////////////////////////If you are viewing this on GitHub, right click Raw above and click: 4 | rem //////////////////////////////Save Target As, or Save Linked Content As to download this script. 5 | rem //////////////////////////////Save the script as ending in .bat and run it. 6 | title BMCL 7 | set skipindex=1 8 | set cldir="" 9 | set cldrive="" 10 | for /f "skip=2 tokens=1,2* delims== " %%i in ('reg QUERY HKEY_CURRENT_USER\Software\Valve\Steam /f SteamPath /t REG_SZ /v') do set "cldir=%%k" & goto start 11 | :start 12 | for /f "delims=" %%V in ('powershell -command "$env:cldir.Replace(\"/\",\"\\\")"') do set "cldir=%%V" 13 | if EXIST "%cldir%\steamapps\common\Black Mesa\bms.exe" goto startcl 14 | set cldirs= 15 | for /f "skip=%skipindex% tokens=1,2* delims==\\ " %%i in ('findstr .path. "%cldir%\steamapps\libraryfolders.vdf" ') do set "cldirs=%%j" & set "cldrive=%%i" & goto compare 16 | goto cannotfind 17 | 18 | :compare 19 | set cldirs=%cldirs:~0,-1% 20 | set "cldrive=%cldrive:~-2%" 21 | set "cldirs=%cldrive%\%cldirs%" 22 | rem break out of loop if too many attempts 23 | if '%skipindex%'=='10' goto cannotfind 24 | rem echo Checking if installed at: %cldirs% 25 | if EXIST "%cldirs%\steamapps\common\Black Mesa\bms.exe" ( 26 | set "cldir=%cldirs%" 27 | goto startcl 28 | ) 29 | set /a skipindex+=1 30 | goto start 31 | 32 | :startcl 33 | tasklist /fi "imagename eq srcds.exe" /fo csv 2>NUL | find /I "srcds.exe" >nul && echo Server running || goto notrunningserver 34 | set localip=0.0.0.0 35 | rem echo Found Black Mesa at %cldir% 36 | netsh interface ipv4 show addresses > ipaddrs 37 | for /f "tokens=1,2*" %%i in ('findstr .IP. ipaddrs') do set localip=%%k & goto breakoutofloop 38 | :breakoutofloop 39 | del /Q ipaddrs 40 | set localip=%localip:~0,-1% 41 | 42 | set portnumber=27015 43 | netstat -a -n -p udp 2>NUL | find /I "27015" >nul && set portnumber=27015 || set portnumber=0 44 | if %portnumber%==0 netstat -a -n -p udp 2>NUL | find /I "27016" >nul && set portnumber=27016 || set portnumber=0 45 | if %portnumber%==0 netstat -a -n -p udp 2>NUL | find /I "27017" >nul && set portnumber=27017 || goto notrunningserver 46 | 47 | rem echo join %localip%:%portnumber% 48 | pause 49 | start /b "BMCL" "%cldir%\steamapps\common\Black Mesa\bms.exe" -game bms -steam -multirun -oldgameui -novid -nosplash +connect "%localip%:%portnumber%" 50 | exit 51 | 52 | :cannotfind 53 | echo Could not determine location of Black Mesa client... 54 | pause 55 | exit 56 | 57 | :notrunningserver 58 | echo Server is not running... 59 | start /b "BMCL" "%cldir%\steamapps\common\Black Mesa\bms.exe" -game bms -steam -multirun -oldgameui -novid -nosplash 60 | exit 61 | -------------------------------------------------------------------------------- /Batch/BMCoopAutoInstall.renametodotbat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | rem //////////////////////////////If you are viewing this on GitHub, right click Raw above and click: 4 | rem //////////////////////////////Save Target As, or Save Linked Content As to download this script. 5 | rem //////////////////////////////Save the script as ending in .bat and run it. 6 | title BMDS 15 7 | :initvars 8 | if EXIST "drivers\etc\hosts" cd "%~dp0" 9 | set instsmset=0 10 | set pnum=27015 11 | set configtoexec="server2.cfg" 12 | set skipstep=0 13 | set "bmpath=steamapps\common\Black Mesa Dedicated Server" 14 | set sm_basepath=addons/sourcemod 15 | set smset=0 16 | :start 17 | if EXIST srcds.exe (if EXIST "..\..\..\steamcmd.exe" cd "..\..\.." ) 18 | if NOT EXIST steamcmd.exe goto notindir 19 | if NOT EXIST "%bmpath%\bms\bms_maps_021.vpk" ( 20 | set uprun=i 21 | goto firstinstall 22 | ) 23 | if NOT EXIST "%bmpath%\bms\addons\sourcemod\plugins\srccoop.smx" goto instsourcem 24 | goto srcds 25 | 26 | :firstinstall 27 | rem Minimum space required 30GB in bytes also check here in case SteamCMD is already downloaded 28 | set minrequiredspace=32212254720 29 | set "cldrive=%cd:~0,2%" 30 | echo Checking Drive %cldrive% for available space... 31 | for /f "skip=6 tokens=1,3*" %%i in ('dir /-c /w %cldrive%') do set iSpace=%%j 32 | if "%minrequiredspace%" gtr "%iSpace%" goto notenoughspace 33 | if NOT EXIST steamcmd.exe goto notindir 34 | echo Updating/installing Black Mesa DS 35 | steamcmd.exe +login anonymous +app_update 346680 validate +quit 36 | if NOT EXIST "%bmpath%\srcds.exe" ( 37 | echo ^There was an error while attempting to download Black Mesa Dedicated Server... 38 | goto firstinstall 39 | ) 40 | echo Update/installation Complete 41 | timeout -T 1 42 | if NOT EXIST "%bmpath%\bms\cfg\sourcemod" mkdir "%bmpath%\bms\cfg\sourcemod" 43 | if NOT EXIST "%bmpath%\bms\cfg\%configtoexec%" goto createconf 44 | goto instsourcem 45 | :srcds 46 | if NOT EXIST "%bmpath%\srcds.exe" goto firstinstall 47 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 48 | :reds 49 | echo (%date%)(%time%) BMDS started. 50 | start /wait "BMDS" "%bmpath%\srcds.exe" -console -game bms -maxplayers 64 +sv_lan 0 +map "bm_c0a0a" +exec %configtoexec% -ip 0.0.0.0 -port %pnum% -nocrashdialog -nohltv -threads 8 -heapsize 2048000 -mem_max_heapsize 2048 -mem_max_heapsize_dedicated 512 +sm_basepath %sm_basepath% 51 | echo (%date%)(%time%) WARNING: BMDS closed or crashed, restarting. 52 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "ctime=%%V" 53 | set /a cttime=ctime-starttime 54 | if %cttime%==0 ( 55 | echo ^The last crash was less than a minute ago, waiting to restart. 56 | timeout -T 10 57 | ) 58 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 59 | goto reds 60 | 61 | :notindir 62 | rem Minimum space required 30GB in bytes 63 | set minrequiredspace=32212254720 64 | set "cldrive=%cd:~0,2%" 65 | echo Checking Drive %cldrive% for available space... 66 | for /f "skip=6 tokens=1,3*" %%i in ('dir /-c /w %cldrive%') do set iSpace=%%j 67 | if "%minrequiredspace%" gtr "%iSpace%" goto notenoughspace 68 | set foundcmd=0 69 | goto dlsteamcmd 70 | 71 | :dlsteamcmd 72 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 73 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 74 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 75 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 76 | if '%foundcmd%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip\",\"$PWD\steamcmd.zip\") }" 77 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 78 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 79 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 80 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 81 | goto extractcmd 82 | 83 | :extractcmd 84 | ping localhost -n 1 >NUL 85 | if EXIST steamcmd.exe goto start 86 | if '%foundcmd%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\steamcmd.zip\", \"$PWD\") }" 87 | if '%foundcmd%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\steamcmd.zip\", \"$PWD\") }" 88 | if EXIST steamcmd.exe ( 89 | echo ^Successfully installed SteamCMD to %cd% 90 | del /Q steamcmd.zip 91 | goto start 92 | ) 93 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 94 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 95 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 96 | if EXIST "%cd%\7-Zip\7z.exe" ( 97 | if '%foundcmd%'=='1' ( 98 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y steamcmd.zip 99 | ) 100 | if '%foundcmd%'=='2' ( 101 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y "%userprofile%\downloads\steamcmd.zip" 102 | ) 103 | if EXIST steamcmd.exe echo ^Successfully installed SteamCMD to %cd% 104 | del /Q steamcmd.zip 105 | ) 106 | goto start 107 | 108 | :createconf 109 | echo exec sourcemod\srccoopauto>"%bmpath%\bms\cfg\server.cfg" 110 | echo // Black Mesa config file>"%bmpath%\bms\cfg\%configtoexec%" 111 | echo hostname "Black Mesa Co-operative">>"%bmpath%\bms\cfg\%configtoexec%" 112 | echo mp_timelimit "900">>"%bmpath%\bms\cfg\%configtoexec%" 113 | echo mp_fraglimit "30">>"%bmpath%\bms\cfg\%configtoexec%" 114 | echo.>>"%bmpath%\bms\cfg\%configtoexec%" 115 | echo // provides lag-free noblock, shows teammates as friendly>>"%bmpath%\bms\cfg\%configtoexec%" 116 | echo // and puts an arrow above their head (srccoop handles team switching)>>"%bmpath%\bms\cfg\%configtoexec%" 117 | echo mp_teamplay "1">>"%bmpath%\bms\cfg\%configtoexec%" 118 | echo.>>"%bmpath%\bms\cfg\%configtoexec%" 119 | echo // set 1 if you hate your friends>>"%bmpath%\bms\cfg\%configtoexec%" 120 | echo mp_friendlyfire "0">>"%bmpath%\bms\cfg\%configtoexec%" 121 | echo.>>"%bmpath%\bms\cfg\%configtoexec%" 122 | echo // setting 1 sets always sprinting>>"%bmpath%\bms\cfg\%configtoexec%" 123 | echo sv_always_run "0">>"%bmpath%\bms\cfg\%configtoexec%" 124 | echo.>>"%bmpath%\bms\cfg\%configtoexec%" 125 | echo // Skips team select dialog to spawn players in instantly>>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 126 | echo sourcecoop_disable_teamselect "1">>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 127 | echo.>>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 128 | echo // Sets changing map message type, 0 is panel, 1 is hud text>>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 129 | echo sourcecoop_end_wait_display_mode "1">>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 130 | echo.>>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 131 | echo // Prevents using stuck for this many seconds after using.>>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 132 | echo sourcecoop_next_stuck "60">>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 133 | echo.>>"%bmpath%\bms\cfg\sourcemod\srccoopauto.cfg" 134 | echo sv_tags "custom, coop, sourcecoop">>"%bmpath%\bms\cfg\%configtoexec%" 135 | goto instsourcem 136 | 137 | :instsourcem 138 | set "bmdirpath=%bmpath%\bms" 139 | if NOT EXIST "%bmpath%" goto firstinstall 140 | echo This will direct download the required SourceMod files and then extract them. 141 | echo It may take a few mins depending on your download speed. 142 | if EXIST "%bmdirpath%\addons\sourcemod\metamod\sourcemod.vdf" goto start 143 | set dlloc=0 144 | if EXIST "%userprofile%\downloads\sourcemod-1.11.0-git6960-windows.zip" set dlloc=2 145 | if EXIST "sourcemod-1.11.0-git6960-windows.zip" set dlloc=1 146 | if '%dlloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://sm.alliedmods.net/smdrop/1.11/sourcemod-1.11.0-git6960-windows.zip\",\"$PWD\sourcemod-1.11.0-git6960-windows.zip\") }" 147 | if EXIST "sourcemod-1.11.0-git6960-windows.zip" set dlloc=2 148 | set mmloc=0 149 | if EXIST "%userprofile%\downloads\mmsource-1.11.0-git1148-windows.zip" set mmloc=2 150 | if EXIST "mmsource-1.11.0-git1148-windows.zip" set mmloc=1 151 | if '%mmloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://mms.alliedmods.net/mmsdrop/1.11/mmsource-1.11.0-git1148-windows.zip\",\"$PWD\mmsource-1.11.0-git1148-windows.zip\") }" 152 | if EXIST "mmsource-1.11.0-git1148-windows.zip" set mmloc=1 153 | set dlloc=0 154 | if EXIST "%userprofile%\downloads\sourcemod-1.11.0-git6960-windows.zip" set dlloc=2 155 | if EXIST "sourcemod-1.11.0-git6960-windows.zip" set dlloc=1 156 | if '%dlloc%'=='0' goto dltowrong 157 | echo This may take a minute or two, just wait for the next message after PowerShell finishes extracting SourceMod... 158 | if '%dlloc%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\sourcemod-1.11.0-git6960-windows.zip\", \"$PWD\$env:bmdirpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\mmsource-1.11.0-git1148-windows.zip\", \"$PWD\$env:bmdirpath\") }" 159 | if '%dlloc%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\sourcemod-1.11.0-git6960-windows.zip\", \"$PWD\$env:bmdirpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\mmsource-1.11.0-git1148-windows.zip\", \"$PWD\$env:bmdirpath\") }" 160 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 161 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 162 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 163 | set use7z=0 164 | if NOT EXIST "%bmdirpath%\addons\sourcemod" set use7z=1 165 | if '%use7z%'=='1' ( 166 | if '%dlloc%'=='1' ( 167 | start /min /wait "7z" "7-Zip\7z.exe" x -y sourcemod-1.11.0-git6960-windows.zip -o"%cd%\%bmdirpath%" 168 | del /Q "sourcemod-1.11.0-git6960-windows.zip" 169 | ) 170 | if '%dlloc%'=='2' ( 171 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\sourcemod-1.11.0-git6960-windows.zip" -o"%cd%\%bmdirpath%" 172 | ) 173 | if '%mmloc%'=='1' ( 174 | start /min /wait "7z" "7-Zip\7z.exe" x -y mmsource-1.11.0-git1148-windows.zip -o"%cd%\%bmdirpath%" 175 | del /Q "mmsource-1.11.0-git1148-windows.zip" 176 | ) 177 | if '%mmloc%'=='2' ( 178 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\mmsource-1.11.0-git1148-windows.zip" -o"%cd%\%bmdirpath%" 179 | ) 180 | ) 181 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/ampreeT/SourceCoop/archive/refs/heads/master.zip\",\"$PWD\SrcCoopMaster.zip\") }" 182 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%cd%\SrcCoopMaster.zip" -o"%cd%\%bmdirpath%\addons\sourcemod" 183 | if EXIST "%cd%\%bmdirpath%\addons\sourcemod\SourceCoop-master" start /wait /min robocopy /S /NP /NJS /NJH /NS "%cd%\%bmdirpath%\addons\sourcemod\SourceCoop-master" "%cd%\%bmdirpath%\addons\sourcemod" 184 | start /wait /min robocopy /S /NP /NJS /NJH /NS "%cd%\%bmdirpath%\addons\sourcemod\gamecontent_bms" "%cd%\%bmdirpath%" 185 | del /Q "%cd%\%bmdirpath%\addons\sourcemod\SourceCoop-master" 186 | del /Q "%cd%\%bmdirpath%\addons\sourcemod\gamecontent_bms" 187 | del /Q "%cd%\%bmdirpath%\addons\sourcemod\.gitignore" 188 | del /Q "%cd%\%bmdirpath%\addons\sourcemod\README.md" 189 | start /wait /min "Compile" "%cd%\%bmdirpath%\addons\sourcemod\scripting\spcomp.exe" "%cd%\%bmdirpath%\addons\sourcemod\scripting\srccoop.sp" -o "%cd%\%bmdirpath%\addons\sourcemod\plugins\srccoop" 190 | start /wait /min "Compile" "%cd%\%bmdirpath%\addons\sourcemod\scripting\spcomp.exe" "%cd%\%bmdirpath%\addons\sourcemod\scripting\srccoop_addon_effects_fix.sp" -o "%cd%\%bmdirpath%\addons\sourcemod\plugins\srccoop_addon_effects_fix" 191 | start /wait /min "Compile" "%cd%\%bmdirpath%\addons\sourcemod\scripting\spcomp.exe" "%cd%\%bmdirpath%\addons\sourcemod\scripting\srccoop_addon_revive.sp" -o "%cd%\%bmdirpath%\addons\sourcemod\plugins\srccoop_addon_revive" 192 | start /wait /min "Compile" "%cd%\%bmdirpath%\addons\sourcemod\scripting\spcomp.exe" "%cd%\%bmdirpath%\addons\sourcemod\scripting\srccoop_addon_voting.sp" -o "%cd%\%bmdirpath%\addons\sourcemod\plugins\srccoop_addon_voting" 193 | echo. 194 | goto start 195 | 196 | :dltowrong 197 | echo SourceMod zip not in your users Download folder, or the SteamCMD folder, auto-install halted. 198 | echo Press any key to re-run the SourceMod install function... 199 | pause 200 | goto instsourcem 201 | 202 | :notenoughspace 203 | echo You do not have enough space on this drive to install Black Mesa Dedicated Server... 204 | echo The server requires at least 30GB space. 205 | pause 206 | exit 207 | -------------------------------------------------------------------------------- /Batch/CSSDSAuto.renametodotbat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | rem //////////////////////////////If you are viewing this on GitHub, right click Raw above and click: 4 | rem //////////////////////////////Save Target As, or Save Linked Content As to download this script. 5 | rem //////////////////////////////Save the script as ending in .bat and run it. 6 | title CSSDS 15 7 | :initvars 8 | if EXIST "drivers\etc\hosts" cd "%~dp0" 9 | set instsmset=0 10 | set pnum=27015 11 | set configdir="server2.cfg" 12 | set skipstep=0 13 | set "csspath=steamapps\common\Counter-Strike Source Dedicated Server" 14 | set sm_basepath=addons/sourcemod 15 | set smset=0 16 | set createconf="n" 17 | :start 18 | if EXIST srcds.exe (if EXIST "..\..\..\steamcmd.exe" cd "..\..\.." ) 19 | if NOT EXIST steamcmd.exe goto notindir 20 | if NOT EXIST "steamapps\common\Counter-Strike Source Dedicated Server\cstrike\cstrike_pak_dir.vpk" ( 21 | set uprun=i 22 | goto firstinstall 23 | ) 24 | goto srcds 25 | 26 | :firstinstall 27 | if NOT EXIST steamcmd.exe goto notindir 28 | echo Updating/installing CSS DS 29 | steamcmd.exe +login anonymous +app_update 232330 validate +quit 30 | if NOT EXIST "%csspath%\srcds.exe" ( 31 | echo ^There was an error while attempting to download Counter-Strike Source Dedicated Server... 32 | goto firstinstall 33 | ) 34 | echo Update/installation Complete 35 | timeout -T 1 36 | goto instsourcem 37 | :srcds 38 | if NOT EXIST "%csspath%\srcds.exe" goto firstinstall 39 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 40 | :reds 41 | echo (%date%)(%time%) CSSDS started. 42 | start /wait "CSSDS" "%csspath%\srcds.exe" -console -game cstrike -maxplayers 64 +sv_lan 0 +map "cs_italy" +exec %configdir% -ip 0.0.0.0 -port %pnum% -nocrashdialog -nohltv -threads 8 -heapsize 2048000 -mem_max_heapsize 2048 -mem_max_heapsize_dedicated 512 +sm_basepath %sm_basepath% 43 | echo (%date%)(%time%) WARNING: CSSDS closed or crashed, restarting. 44 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "ctime=%%V" 45 | set /a cttime=ctime-starttime 46 | if %cttime%==0 ( 47 | echo ^The last crash was less than a minute ago, waiting to restart. 48 | timeout -T 10 49 | ) 50 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 51 | goto reds 52 | 53 | :notindir 54 | set foundcmd=0 55 | goto dlsteamcmd 56 | 57 | :dlsteamcmd 58 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 59 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 60 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 61 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 62 | if '%foundcmd%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip\",\"$PWD\steamcmd.zip\") }" 63 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 64 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 65 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 66 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 67 | goto extractcmd 68 | 69 | :extractcmd 70 | ping localhost -n 1 >NUL 71 | if EXIST steamcmd.exe goto start 72 | if '%foundcmd%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\steamcmd.zip\", \"$PWD\") }" 73 | if '%foundcmd%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\steamcmd.zip\", \"$PWD\") }" 74 | if EXIST steamcmd.exe ( 75 | echo ^Successfully installed SteamCMD to %cd% 76 | del /Q steamcmd.zip 77 | goto start 78 | ) 79 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 80 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 81 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 82 | if EXIST "%cd%\7-Zip\7z.exe" ( 83 | if '%foundcmd%'=='1' ( 84 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y steamcmd.zip 85 | ) 86 | if '%foundcmd%'=='2' ( 87 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y "%userprofile%\downloads\steamcmd.zip" 88 | ) 89 | if EXIST steamcmd.exe echo ^Successfully installed SteamCMD to %cd% 90 | del /Q steamcmd.zip 91 | ) 92 | goto start 93 | 94 | :instsourcem 95 | set "cssdirpath=%csspath%\cstrike" 96 | if NOT EXIST "%csspath%" goto firstinstall 97 | echo This will direct download the required SourceMod files and then extract them. 98 | echo It may take a few mins depending on your download speed. 99 | if EXIST "%cssdirpath%\addons\sourcemod\metamod\sourcemod.vdf" goto start 100 | set dlloc=0 101 | if EXIST "%userprofile%\downloads\sourcemod-1.11.0-git6691-windows.zip" set dlloc=2 102 | if EXIST "sourcemod-1.11.0-git6691-windows.zip" set dlloc=1 103 | if '%dlloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://sm.alliedmods.net/smdrop/1.11/sourcemod-1.11.0-git6691-windows.zip\",\"$PWD\sourcemod-1.11.0-git6691-windows.zip\") }" 104 | if EXIST "sourcemod-1.11.0-git6691-windows.zip" set dlloc=2 105 | set mmloc=0 106 | if EXIST "%userprofile%\downloads\mmsource-1.12.0-git1150-windows.zip" set mmloc=2 107 | if EXIST "mmsource-1.12.0-git1150-windows.zip" set mmloc=1 108 | if '%mmloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://mms.alliedmods.net/mmsdrop/1.12/mmsource-1.12.0-git1150-windows.zip\",\"$PWD\mmsource-1.12.0-git1150-windows.zip\") }" 109 | if EXIST "mmsource-1.12.0-git1150-windows.zip" set mmloc=1 110 | set dlloc=0 111 | if EXIST "%userprofile%\downloads\sourcemod-1.11.0-git6691-windows.zip" set dlloc=2 112 | if EXIST "sourcemod-1.11.0-git6691-windows.zip" set dlloc=1 113 | if '%dlloc%'=='0' goto dltowrong 114 | echo This may take a minute or two, just wait for the next message after PowerShell finishes extracting SourceMod... 115 | if '%dlloc%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\sourcemod-1.11.0-git6691-windows.zip\", \"$PWD\$env:cssdirpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\mmsource-1.12.0-git1150-windows.zip\", \"$PWD\$env:cssdirpath\") }" 116 | if '%dlloc%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\sourcemod-1.11.0-git6691-windows.zip\", \"$PWD\$env:cssdirpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\mmsource-1.12.0-git1150-windows.zip\", \"$PWD\$env:cssdirpath\") }" 117 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 118 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 119 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 120 | set use7z=0 121 | if NOT EXIST "%cssdirpath%\addons\sourcemod" set use7z=1 122 | if '%use7z%'=='1' ( 123 | if '%dlloc%'=='1' ( 124 | start /min /wait "7z" "7-Zip\7z.exe" x -y sourcemod-1.11.0-git6691-windows.zip -o"%cd%\%cssdirpath%" 125 | del /Q "sourcemod-1.11.0-git6691-windows.zip" 126 | ) 127 | if '%dlloc%'=='2' ( 128 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\sourcemod-1.11.0-git6691-windows.zip" -o"%cd%\%cssdirpath%" 129 | ) 130 | if '%mmloc%'=='1' ( 131 | start /min /wait "7z" "7-Zip\7z.exe" x -y mmsource-1.12.0-git1150-windows.zip -o"%cd%\%cssdirpath%" 132 | del /Q "mmsource-1.12.0-git1150-windows.zip" 133 | ) 134 | if '%mmloc%'=='2' ( 135 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\mmsource-1.12.0-git1150-windows.zip" -o"%cd%\%cssdirpath%" 136 | ) 137 | if '%steamworksloc%'=='1' ( 138 | start /min /wait "7z" "7-Zip\7z.exe" x -y SteamWorks-git121-windows.zip -o"%cd%\%cssdirpath%" 139 | ) 140 | if '%steamworksloc%'=='2' ( 141 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\SteamWorks-git121-windows.zip" -o"%cd%\%cssdirpath%" 142 | ) 143 | ) 144 | echo. 145 | goto start 146 | 147 | :dltowrong 148 | echo SourceMod zip not in your users Download folder, or the SteamCMD folder, auto-install halted. 149 | echo Press any key to re-run the SourceMod install function... 150 | pause 151 | goto instsourcem 152 | -------------------------------------------------------------------------------- /Batch/JalopyRadarFix.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | title Synergy 56.16 Jalopy Radar Fix 4 | set cldir=%programfiles(x86)%\Steam\steamapps 5 | for /f "skip=2 tokens=1,3* delims== " %%i in ('reg QUERY HKEY_CURRENT_USER\Software\Valve\Steam /f SteamPath /t REG_SZ /v') do set "cldir=%%j%%k" 6 | for /f "delims=" %%V in ('powershell -command "$env:cldir.Replace(\"/\",\"\\\")"') do set "cldir=%%V" 7 | for /f "delims=" %%V in ('powershell -command "$env:cldir.Replace(\"programfiles\",\"\Program Files\")"') do set "cldir=%%V" 8 | if EXIST "C:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=C:\SteamLibrary\steamapps 9 | if EXIST "E:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=E:\SteamLibrary\steamapps 10 | if EXIST "D:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=D:\SteamLibrary\steamapps 11 | if EXIST "F:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=F:\SteamLibrary\steamapps 12 | if EXIST "G:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=G:\SteamLibrary\steamapps 13 | if EXIST "H:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=H:\SteamLibrary\steamapps 14 | if EXIST "C:\Steam\steamapps\common\Synergy\synergy" set cldir=C:\Steam\steamapps 15 | if EXIST "E:\Steam\steamapps\common\Synergy\synergy" set cldir=E:\Steam\steamapps 16 | if EXIST "D:\Steam\steamapps\common\Synergy\synergy" set cldir=D:\Steam\steamapps 17 | if EXIST "F:\Steam\steamapps\common\Synergy\synergy" set cldir=F:\Steam\steamapps 18 | if EXIST "G:\Steam\steamapps\common\Synergy\synergy" set cldir=G:\Steam\steamapps 19 | if EXIST "H:\Steam\steamapps\common\Synergy\synergy" set cldir=H:\Steam\steamapps 20 | :start 21 | if NOT EXIST "%cldir%\common\Synergy\synergy" goto notfound 22 | if NOT EXIST "%cldir%\common\Synergy\synergy\scripts" mkdir ^"%cldir%\common\Synergy\synergy\scripts" 23 | start /wait /min powershell -command "& {$WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://gist.githubusercontent.com/Balimbanana/5edefbc6d9a0a7fe7c28e444547ddf65/raw/4dc290629081715ad585e31747cfbd7d8f7a83c7/vgui_screens.txt\",\"$env:cldir\common\Synergy\synergy\scripts\vgui_screens.txt\") }" 24 | if EXIST "%cldir%\common\Synergy\synergy\scripts\vgui_screens.txt" echo ^Fixed! 25 | pause 26 | exit 27 | 28 | :notfound 29 | echo Could not find game directory... 30 | pause 31 | -------------------------------------------------------------------------------- /Batch/LFEDedicatedServerInstall.renametodotbat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | rem //////////////////////////////If you are viewing this on GitHub, right click Raw above and click: 4 | rem //////////////////////////////Save Target As, or Save Linked Content As to download this script. 5 | rem //////////////////////////////Save the script as ending in .bat and run it. 6 | title LFE Dedicated Server 7 | goto initvars 8 | :updater 9 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/Batch/LFEDedicatedServerInstall.renametodotbat\",\"$PWD\LFEDedicatedServerInstall.bat\") }" 10 | echo Updated... 11 | start /b "LFE Dedicated Server" "%~dp0LFEDedicatedServerInstall.bat" 12 | exit 13 | :initvars 14 | if EXIST "drivers\etc\hosts" cd "%~dp0" 15 | set instsmset=0 16 | set username="" 17 | set pnum=27015 18 | set skipstep=0 19 | set "gamedir=.\steamapps\common\Source SDK Base 2013 Dedicated Server" 20 | set smset=0 21 | set cldir=%programfiles(x86)%\Steam\steamapps 22 | if EXIST "C:\SteamLibrary\steamapps\common\Half-Life 2\hl2" set cldir=C:\SteamLibrary\steamapps 23 | if EXIST "E:\SteamLibrary\steamapps\common\Half-Life 2\hl2" set cldir=E:\SteamLibrary\steamapps 24 | if EXIST "D:\SteamLibrary\steamapps\common\Half-Life 2\hl2" set cldir=D:\SteamLibrary\steamapps 25 | if EXIST "F:\SteamLibrary\steamapps\common\Half-Life 2\hl2" set cldir=F:\SteamLibrary\steamapps 26 | if EXIST "G:\SteamLibrary\steamapps\common\Half-Life 2\hl2" set cldir=G:\SteamLibrary\steamapps 27 | if EXIST "L:\SteamLibrary\steamapps\common\Half-Life 2\hl2" set cldir=L:\SteamLibrary\steamapps 28 | if EXIST "C:\Steam\steamapps\common\Half-Life 2\hl2" set cldir=C:\Steam\steamapps 29 | if EXIST "E:\Steam\steamapps\common\Half-Life 2\hl2" set cldir=E:\Steam\steamapps 30 | if EXIST "D:\Steam\steamapps\common\Half-Life 2\hl2" set cldir=D:\Steam\steamapps 31 | if EXIST "F:\Steam\steamapps\common\Half-Life 2\hl2" set cldir=F:\Steam\steamapps 32 | if EXIST "G:\Steam\steamapps\common\Half-Life 2\hl2" set cldir=G:\Steam\steamapps 33 | if EXIST "L:\Steam\steamapps\common\Half-Life 2\hl2" set cldir=L:\Steam\steamapps 34 | if EXIST "C:\Program Files\Steam\steamapps\common\Half-Life 2\hl2" set "cldir=C:\Program Files\Steam\steamapps" 35 | if EXIST "E:\Program Files\Steam\steamapps\common\Half-Life 2\hl2" set "cldir=E:\Program Files\Steam\steamapps" 36 | if EXIST "D:\Program Files\Steam\steamapps\common\Half-Life 2\hl2" set "cldir=D:\Program Files\Steam\steamapps" 37 | if EXIST "F:\Program Files\Steam\steamapps\common\Half-Life 2\hl2" set "cldir=F:\Program Files\Steam\steamapps" 38 | if EXIST "G:\Program Files\Steam\steamapps\common\Half-Life 2\hl2" set "cldir=G:\Program Files\Steam\steamapps" 39 | if EXIST "L:\Program Files\Steam\steamapps\common\Half-Life 2\hl2" set "cldir=L:\Program Files\Steam\steamapps" 40 | set tfdir=%programfiles(x86)%\Steam\steamapps 41 | if EXIST "C:\SteamLibrary\steamapps\common\Team Fortress 2\tf" set tfdir=C:\SteamLibrary\steamapps 42 | if EXIST "E:\SteamLibrary\steamapps\common\Team Fortress 2\tf" set tfdir=E:\SteamLibrary\steamapps 43 | if EXIST "D:\SteamLibrary\steamapps\common\Team Fortress 2\tf" set tfdir=D:\SteamLibrary\steamapps 44 | if EXIST "F:\SteamLibrary\steamapps\common\Team Fortress 2\tf" set tfdir=F:\SteamLibrary\steamapps 45 | if EXIST "G:\SteamLibrary\steamapps\common\Team Fortress 2\tf" set tfdir=G:\SteamLibrary\steamapps 46 | if EXIST "L:\SteamLibrary\steamapps\common\Team Fortress 2\tf" set tfdir=L:\SteamLibrary\steamapps 47 | if EXIST "C:\Steam\steamapps\common\Team Fortress 2\tf" set tfdir=C:\Steam\steamapps 48 | if EXIST "E:\Steam\steamapps\common\Team Fortress 2\tf" set tfdir=E:\Steam\steamapps 49 | if EXIST "D:\Steam\steamapps\common\Team Fortress 2\tf" set tfdir=D:\Steam\steamapps 50 | if EXIST "F:\Steam\steamapps\common\Team Fortress 2\tf" set tfdir=F:\Steam\steamapps 51 | if EXIST "G:\Steam\steamapps\common\Team Fortress 2\tf" set tfdir=G:\Steam\steamapps 52 | if EXIST "L:\Steam\steamapps\common\Team Fortress 2\tf" set tfdir=L:\Steam\steamapps 53 | if EXIST "C:\Program Files\Steam\steamapps\common\Team Fortress 2\tf" set "tfdir=C:\Program Files\Steam\steamapps" 54 | if EXIST "E:\Program Files\Steam\steamapps\common\Team Fortress 2\tf" set "tfdir=E:\Program Files\Steam\steamapps" 55 | if EXIST "D:\Program Files\Steam\steamapps\common\Team Fortress 2\tf" set "tfdir=D:\Program Files\Steam\steamapps" 56 | if EXIST "F:\Program Files\Steam\steamapps\common\Team Fortress 2\tf" set "tfdir=F:\Program Files\Steam\steamapps" 57 | if EXIST "G:\Program Files\Steam\steamapps\common\Team Fortress 2\tf" set "tfdir=G:\Program Files\Steam\steamapps" 58 | if EXIST "L:\Program Files\Steam\steamapps\common\Team Fortress 2\tf" set "tfdir=L:\Program Files\Steam\steamapps" 59 | if EXIST "C:\SteamLibrary\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=C:\SteamLibrary\steamapps 60 | if EXIST "E:\SteamLibrary\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=E:\SteamLibrary\steamapps 61 | if EXIST "D:\SteamLibrary\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=D:\SteamLibrary\steamapps 62 | if EXIST "F:\SteamLibrary\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=F:\SteamLibrary\steamapps 63 | if EXIST "G:\SteamLibrary\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=G:\SteamLibrary\steamapps 64 | if EXIST "L:\SteamLibrary\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=L:\SteamLibrary\steamapps 65 | if EXIST "C:\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=C:\Steam\steamapps 66 | if EXIST "E:\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=E:\Steam\steamapps 67 | if EXIST "D:\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=D:\Steam\steamapps 68 | if EXIST "F:\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=F:\Steam\steamapps 69 | if EXIST "G:\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=G:\Steam\steamapps 70 | if EXIST "L:\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set tfdir=L:\Steam\steamapps 71 | if EXIST "C:\Program Files\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set "tfdir=C:\Program Files\Steam\steamapps" 72 | if EXIST "E:\Program Files\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set "tfdir=E:\Program Files\Steam\steamapps" 73 | if EXIST "D:\Program Files\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set "tfdir=D:\Program Files\Steam\steamapps" 74 | if EXIST "F:\Program Files\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set "tfdir=F:\Program Files\Steam\steamapps" 75 | if EXIST "G:\Program Files\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set "tfdir=G:\Program Files\Steam\steamapps" 76 | if EXIST "L:\Program Files\Steam\steamapps\common\Team Fortress 2 Dedicated Server\tf" set "tfdir=L:\Program Files\Steam\steamapps" 77 | :start 78 | if EXIST srcds.exe (if EXIST "..\..\..\steamcmd.exe" cd "..\..\.." ) 79 | set anonset=0 80 | if NOT EXIST steamcmd.exe goto notindir 81 | echo Information: enter the letter inside the () and press enter to continue at the prompts. 82 | echo First (I)nstall, (U)pdate or (R)un with auto-restart 83 | if EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\plugins" ( 84 | echo ^SourceMod is installed. 85 | ) 86 | echo (Update) to update this script. 87 | set /p uprun= 88 | for /f "delims=" %%V in ('powershell -command "$env:uprun.ToLower()"') do set "uprun=%%V" 89 | if "%uprun%"=="u" goto firstinstall 90 | if "%uprun%"=="i" goto firstinstall 91 | if "%uprun%"=="r" goto srcds 92 | if "%uprun%"=="is" goto instsourcem 93 | if "%uprun%"=="update" goto updater 94 | echo Choose an option. 95 | goto start 96 | :firstinstall 97 | if NOT EXIST steamcmd.exe goto notindir 98 | echo Updating/installing Source SDK Base 2013 DS 99 | steamcmd.exe +login anonymous +app_update 244310 validate +quit 100 | if NOT EXIST "steamapps\common\Source SDK Base 2013 Dedicated Server\srcds.exe" ( 101 | echo ^There was an error while attempting to download Source SDK Base 2013 Dedicated Server... 102 | goto firstinstall 103 | ) 104 | echo Update/installation of SDK Base 2013 Complete 105 | echo If there were errors states above, close the script and log into SteamCMD.exe separately, then restart the script. 106 | timeout -T 5 107 | if "%uprun%"=="i" goto setup 108 | cls 109 | :srcds 110 | cls 111 | if NOT EXIST "%gamedir%\srcds.exe" goto notinstalled 112 | if NOT EXIST "steamapps\common\Half-Life 2\hl2\hl2_pak_dir.vpk" goto insthl2 113 | set insttf2=1 114 | if EXIST "steamapps\common\Team Fortress 2\tf\tf2_misc_dir.vpk" set insttf2=0 115 | if EXIST "steamapps\common\Team Fortress 2 Dedicated Server\tf\tf2_misc_dir.vpk" set insttf2=0 116 | if "%insttf2%"=="1" set skipstep=9 117 | if "%insttf2%"=="1" goto insttf2set 118 | set skipstep=0 119 | set linkset=0 120 | ping localhost -n 1 >NUL 121 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 122 | :reds 123 | echo (%date%)(%time%) LFEDS started. 124 | start /wait "Lambda Fortress Extended Dedicated Server" "%gamedir%\srcds.exe" -console -game tf_coop_extended +maxplayers 32 +sv_lan 0 +map "d1_trainstation_01" -ip 0.0.0.0 -port %pnum% -nocrashdialog -nohltv -threads 8 -heapsize 2048000 -mem_max_heapsize 2048 -mem_max_heapsize_dedicated 512 125 | echo (%date%)(%time%) WARNING: LFEDS closed or crashed, restarting. 126 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "ctime=%%V" 127 | set /a cttime=ctime-starttime 128 | if %cttime%==0 ( 129 | echo ^The last crash was less than a minute ago, waiting to restart. 130 | timeout -T 10 131 | ) 132 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 133 | goto reds 134 | 135 | :setup 136 | set hl=1 137 | set tf=0 138 | echo Setting up links and first settings in server2.cfg 139 | if NOT EXIST "%cldir%\common\Half-Life 2" set hl=0 140 | if '%hl%'=='0' (if EXIST "steamapps\common\Half-Life 2" set hl=2) 141 | if '%hl%'=='0' goto insthl2 142 | if '%hl%'=='1' (if EXIST "steamapps\common\Half-Life 2" set hl=2) 143 | if '%hl%'=='1' mklink /j "steamapps\common\Half-Life 2" "%cldir%\common\Half-Life 2" 144 | if EXIST "%cldir%\common\Team Fortress 2" set tf=1 145 | if EXIST "%cldir%\common\Team Fortress 2 Dedicated Server" set tf=1 146 | if '%tf%'=='0' (if EXIST "steamapps\common\Team Fortress 2" set tf=2) 147 | if '%tf%'=='0' (if EXIST "steamapps\common\Team Fortress 2 Dedicated Server" set tf=3) 148 | if '%tf%'=='0' set skipstep=8 149 | if '%tf%'=='0' goto insttf2set 150 | set skipstep=0 151 | if '%tf%'=='1' (if EXIST "steamapps\common\Team Fortress 2" set tf=2) 152 | if '%tf%'=='1' (if EXIST "steamapps\common\Team Fortress 2 Dedicated Server" set tf=3) 153 | if '%tf%'=='1' mklink /j "steamapps\common\Team Fortress 2" "%cldir%\common\Team Fortress 2" 154 | if '%tf%'=='3' mklink /j "steamapps\common\Team Fortress 2 Dedicated Server" "%cldir%\common\Team Fortress 2 Dedicated Server" 155 | echo Beginning LFE install... 156 | echo This will take a while, the archive is roughly 977MB 157 | echo Downloading... 158 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 159 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 160 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 161 | if NOT EXIST "%cd%\tf_coop_extended_march2020.7z" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"http://open.crowbar.lt/TheBDF/tf_coop_extended_march2020.7z\",\"$PWD\tf_coop_extended_march2020.7z\") }" 162 | if EXIST "%cd%\7-Zip\7z.exe" ( 163 | echo ^Beginning extraction of archive... 164 | start /min /wait "7z" "7-Zip\7z.exe" x -y tf_coop_extended_march2020.7z -o"%cd%\%gamedir%" 165 | ) 166 | if NOT EXIST "%gamedir%\tf_coop_extended\cfg\server.cfg" ( 167 | echo exec banned_user.cfg>"%gamedir%\tf_coop_extended\cfg\server.cfg" 168 | echo mp_idlemaxtime 5 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 169 | echo sv_hl1_hd 1 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 170 | echo //Set to 1 to enable fast respawn>>"%gamedir%\tf_coop_extended\cfg\server.cfg" 171 | echo mp_disable_respawn_times 0 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 172 | echo sk_bullsquidhl1_health 200 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 173 | echo sk_houndeye_health 150 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 174 | echo sk_zombiehl1_health 75 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 175 | echo sk_gonome_health 700 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 176 | echo mp_gamemode 1 >>"%gamedir%\tf_coop_extended\cfg\server.cfg" 177 | ) 178 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://raw.githubusercontent.com/Balimbanana/SourceScripts/master/synotherfilefixes/lfe/gameinfo.txt\",\"$PWD\gameinfo.txt\") }" 179 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://raw.githubusercontent.com/Balimbanana/SourceScripts/master/synotherfilefixes/lfe/gamemounting.txt\",\"$PWD\gamemounting.txt\") }" 180 | if EXIST "%cd%\gameinfo.txt" ( 181 | del /Q "%gamedir%\tf_coop_extended\gameinfo.txt" 182 | start /min /wait robocopy /NP /NJS /NJH /NS "." "%gamedir%\tf_coop_extended" "gameinfo.txt" 183 | ) 184 | if EXIST "%cd%\gamemounting.txt" ( 185 | del /Q "%gamedir%\tf_coop_extended\gamemounting.txt" 186 | start /min /wait robocopy /NP /NJS /NJH /NS "." "%gamedir%\tf_coop_extended" "gamemounting.txt" 187 | ) 188 | echo Should be all configured for server running. 189 | echo Would you like to edit your server config? (y/N) 190 | set /p edtconf= 191 | for /f "delims=" %%V in ('powershell -command "$env:edtconf.ToLower()"') do set "edtconf=%%V" 192 | if "%edtconf%"=="y" start "ServerEdit" notepad.exe "%gamedir%\tf_coop_extended\cfg\server.cfg" 193 | echo Would you like to install SourceMod as well? (Y/n) 194 | set /p instsmset= 195 | for /f "delims=" %%V in ('powershell -command "$env:instsmset.ToLower()"') do set "instsmset=%%V" 196 | if "%instsmset%"=="n" goto srcds 197 | goto instsourcem 198 | :insthl2 199 | echo Half-Life 2 was not found during setup, press any key to install it first or close the script and install it manually. 200 | pause 201 | if EXIST "%programfiles(x86)%\Steam" start /min /wait robocopy /NP /NJS /NJH /NS "%programfiles(x86)%\Steam" "." "ssfn*" 202 | if '%username%'=='""' ( 203 | echo ^Enter your username here: 204 | set /p username= 205 | ) 206 | set anonblck="" 207 | for /f "delims=" %%i in ('powershell -command "$env:usrname.ToLower()"') do set anonblck=%%i 208 | if "%anonblck%"=="anonymous" ( 209 | set anonset=2 210 | goto noanon 211 | ) 212 | steamcmd.exe +login %username% +app_update 220 validate +quit 213 | steamcmd.exe +login %username% +app_update 380 validate +quit 214 | steamcmd.exe +login %username% +app_update 420 validate +quit 215 | if EXIST "steamapps\common\Half-Life 2" goto setup 216 | goto notconfigured 217 | :insttf2set 218 | if EXIST "%tfdir%\common\Team Fortress 2" set tf=1 219 | if EXIST "%tfdir%\common\Team Fortress 2 Dedicated Server" set tf=1 220 | if '%tf%'=='0' (if EXIST "steamapps\common\Team Fortress 2" set tf=2) 221 | if '%tf%'=='0' (if EXIST "steamapps\common\Team Fortress 2 Dedicated Server" set tf=3) 222 | if '%tf%'=='1' (if EXIST "steamapps\common\Team Fortress 2" set tf=2) 223 | if '%tf%'=='1' (if EXIST "steamapps\common\Team Fortress 2 Dedicated Server" set tf=3) 224 | if '%tf%'=='1' mklink /j "steamapps\common\Team Fortress 2" "%tfdir%\common\Team Fortress 2" 225 | if '%tf%'=='1' ( 226 | if '%skipstep%'=='8' goto setup 227 | if '%skipstep%'=='9' goto srcds 228 | goto start 229 | ) 230 | if '%tf%'=='3' mklink /j "steamapps\common\Team Fortress 2 Dedicated Server" "%tfdir%\common\Team Fortress 2 Dedicated Server" 231 | if '%tf%'=='3' ( 232 | if '%skipstep%'=='8' goto setup 233 | if '%skipstep%'=='9' goto srcds 234 | goto start 235 | ) 236 | echo Team Fortress 2 and TF2 DS were not found during setup, press any key to install it first or close the script and install it manually. 237 | steamcmd.exe +login anonymous +app_update 232250 validate +quit 238 | if '%skipstep%'=='8' goto setup 239 | if '%skipstep%'=='9' goto srcds 240 | goto start 241 | :notconfigured 242 | echo Half-Life 2 directory was not found in default install location, install halted. 243 | pause 244 | exit 245 | :notinstalled 246 | echo LFE is not installed. 247 | pause 248 | goto start 249 | :notindir 250 | set foundcmd=0 251 | echo This script is not being run from the SteamCMD directory, either move the script to the correct directory and try again. 252 | echo (Note: this may be caused by running as admin, you do not have to run as admin for this) 253 | echo Or enter the directory here (including drive letter): 254 | if NOT EXIST "drivers\etc\hosts" ( 255 | echo ^If you do not have SteamCMD, you can enter ^(S^) to download now. 256 | set /p dlstart= 257 | ) 258 | for /f "delims=" %%V in ('powershell -command "$env:dlstart.ToLower()"') do set "dlstart=%%V" 259 | if '%dlstart%'=='s' goto dlsteamcmd 260 | set /p changedir= 261 | %changedir:~0,2% 262 | cd %changedir% 263 | goto start 264 | 265 | :dlsteamcmd 266 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 267 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 268 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 269 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 270 | if '%foundcmd%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip\",\"$PWD\steamcmd.zip\") }" 271 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 272 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 273 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 274 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 275 | goto extractcmd 276 | 277 | :extractcmd 278 | ping localhost -n 1 >NUL 279 | if EXIST steamcmd.exe goto start 280 | if '%foundcmd%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\steamcmd.zip\", \"$PWD\") }" 281 | if '%foundcmd%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\steamcmd.zip\", \"$PWD\") }" 282 | if EXIST steamcmd.exe ( 283 | echo ^Successfully installed SteamCMD to %cd% 284 | goto start 285 | ) 286 | if EXIST "%cd%\7-Zip\7z.exe" ( 287 | if '%foundcmd%'=='1' ( 288 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y steamcmd.zip 289 | ) 290 | if '%foundcmd%'=='2' ( 291 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y "%userprofile%\downloads\steamcmd.zip" 292 | ) 293 | if EXIST steamcmd.exe echo ^Successfully installed SteamCMD to %cd% 294 | ) 295 | goto start 296 | 297 | :instsourcem 298 | if NOT EXIST "%gamedir%\tf_coop_extended" goto notinstalled 299 | echo This will direct download the required SourceMod files and then extract them. 300 | echo It may take a few mins depending on your download speed. 301 | if EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\metamod\sourcemod.vdf" ( 302 | echo "SourceMod is already installed, if you want to re-install, rename the current SourceMod install (addons) to addonsold and run this script again..." 303 | pause 304 | goto start ) 305 | set dlloc=0 306 | if EXIST "%userprofile%\downloads\sourcemod-1.11.0-git6569-windows.zip" set dlloc=2 307 | if EXIST "sourcemod-1.11.0-git6569-windows.zip" set dlloc=1 308 | if '%dlloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://sm.alliedmods.net/smdrop/1.11/sourcemod-1.11.0-git6569-windows.zip\",\"$PWD\sourcemod-1.11.0-git6569-windows.zip\") }" 309 | if EXIST "sourcemod-1.11.0-git6569-windows.zip" set dlloc=1 310 | set mmloc=0 311 | if EXIST "%userprofile%\downloads\mmsource-1.11.0-git1130-windows.zip" set mmloc=1 312 | if EXIST "mmsource-1.11.0-git1130-windows.zip" set mmloc=2 313 | if '%mmloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://mms.alliedmods.net/mmsdrop/1.11/mmsource-1.11.0-git1130-windows.zip\",\"$PWD\mmsource-1.11.0-git1130-windows.zip\") }" 314 | if EXIST "mmsource-1.11.0-git1130-windows.zip" set mmloc=2 315 | set steamworksloc=0 316 | if EXIST "%userprofile%\downloads\SteamWorks-git121-windows.zip" set steamworksloc=1 317 | if EXIST "SteamWorks-git121-windows.zip" set steamworksloc=2 318 | if '%steamworksloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://users.alliedmods.net/~kyles/builds/SteamWorks/SteamWorks-git121-windows.zip\",\"$PWD\SteamWorks-git121-windows.zip\") }" 319 | if EXIST "SteamWorks-git121-windows.zip" set steamworksloc=2 320 | if '%dlloc%'=='0' goto dltowrong 321 | echo This may take a minute or two, just wait for the next message after PowerShell finishes extracting SourceMod... 322 | if '%dlloc%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\sourcemod-1.11.0-git6569-windows.zip\", \"$PWD\$env:gamedir\tf_coop_extended\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\mmsource-1.11.0-git1130-windows.zip\", \"$PWD\$env:gamedir\tf_coop_extended\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\SteamWorks-git121-windows.zip\", \"$PWD\$env:gamedir\tf_coop_extended\") }" 323 | if '%dlloc%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\sourcemod-1.11.0-git6569-windows.zip\", \"$PWD\$env:gamedir\tf_coop_extended\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\mmsource-1.11.0-git1130-windows.zip\", \"$PWD\$env:gamedir\tf_coop_extended\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\SteamWorks-git121-windows.zip\", \"$PWD\$env:gamedir\tf_coop_extended\") }" 324 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 325 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 326 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 327 | set use7z=0 328 | if NOT EXIST "%gamedir%\tf_coop_extended\addons\metamod.vdf" set use7z=1 329 | if '%use7z%'=='1' ( 330 | if '%dlloc%'=='1' ( 331 | start /min /wait "7z" "7-Zip\7z.exe" x -y sourcemod-1.11.0-git6569-windows.zip -o"%cd%\%gamedir%\tf_coop_extended" 332 | ) 333 | if '%dlloc%'=='2' ( 334 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\sourcemod-1.11.0-git6569-windows.zip" -o"%cd%\%gamedir%\tf_coop_extended" 335 | ) 336 | if '%mmloc%'=='1' ( 337 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\mmsource-1.11.0-git1130-windows.zip" -o"%cd%\%gamedir%\tf_coop_extended" 338 | ) 339 | if '%mmloc%'=='2' ( 340 | start /min /wait "7z" "7-Zip\7z.exe" x -y mmsource-1.11.0-git1130-windows.zip -o"%cd%\%gamedir%\tf_coop_extended" 341 | ) 342 | if '%steamworksloc%'=='1' ( 343 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\SteamWorks-git121-windows.zip" -o"%cd%\%gamedir%\tf_coop_extended" 344 | ) 345 | if '%steamworksloc%'=='2' ( 346 | start /min /wait "7z" "7-Zip\7z.exe" x -y SteamWorks-git121-windows.zip -o"%cd%\%gamedir%\tf_coop_extended" 347 | ) 348 | ) 349 | if NOT EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\gamedata\core.games\custom" mkdir "%gamedir%\tf_coop_extended\addons\sourcemod\gamedata\core.games\custom" 350 | if NOT EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\gamedata\sdkhooks.games\custom" mkdir "%gamedir%\tf_coop_extended\addons\sourcemod\gamedata\sdkhooks.games\custom" 351 | if NOT EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\gamedata\sdktools.games\custom" mkdir "%gamedir%\tf_coop_extended\addons\sourcemod\gamedata\sdktools.games\custom" 352 | if NOT EXIST "%gamedir%\tf_coop_extended\addons\metamod.vdf" ( 353 | echo Failed to auto-install SourceMod, you may have an outdated PowerShell, or something else went wrong somewhere. 354 | echo You should still be able to manually install it from the downloads earlier. 355 | pause 356 | goto start ) 357 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/gamedata/sdkhooks.games/custom/engine.ep2v.txt\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\gamedata\sdkhooks.games\custom\engine.ep2v.txt\") }" 358 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/gamedata/sdkhooks.games/custom/game.lf.txt\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\gamedata\sdkhooks.games\custom\game.lf.txt\") }" 359 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/gamedata/sdktools.games/custom/game.lf.txt\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\gamedata\sdktools.games\custom\game.lf.txt\") }" 360 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/gamedata/sdktools.games/custom/master.games.txt\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\gamedata\sdktools.games\custom\master.games.txt\") }" 361 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/gamedata/core.games/custom/common.games.txt\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\gamedata\core.games\custom\common.games.txt\") }" 362 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/plugins/tfcoopmisc.smx\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\plugins\tfcoopmisc.smx\") }" 363 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/scripting/tfcoopmisc.sp\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\scripting\tfcoopmisc.sp\") }" 364 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/plugins/lfportalfix.smx\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\plugins\lfportalfix.smx\") }" 365 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-LambdaFortress/raw/master/addons/sourcemod/scripting/lfportalfix.sp\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\scripting\lfportalfix.sp\") }" 366 | if NOT EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\plugins\updater.smx" start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/addons/sourcemod/plugins/updater.smx\", \"$PWD\$env:gamedir\tf_coop_extended\addons\sourcemod\plugins\updater.smx\") }" 367 | if EXIST "%gamedir%\tf_coop_extended\addons\sourcemod\plugins\nextmap.smx" del /Q "%gamedir%\tf_coop_extended\addons\sourcemod\plugins\nextmap.smx" 368 | echo Now you should be able to install any plugins you want. 369 | explorer "%cd%\%gamedir%\tf_coop_extended\addons\sourcemod\plugins" 370 | pause 371 | cls 372 | goto start 373 | 374 | :dltowrong 375 | echo SourceMod zip not in your users Download folder, or the SteamCMD folder, auto-install halted. 376 | echo Press any key to re-run the SourceMod install function... 377 | pause 378 | goto instsourcem 379 | 380 | :noanon 381 | if '%anonset%'=='2' ( 382 | echo You cannot use anonymous to install HL2... 383 | set username="" 384 | goto insthl2 385 | ) 386 | echo You cannot use anonymous to install this part... 387 | set anonset=1 388 | goto firstinstall 389 | -------------------------------------------------------------------------------- /Batch/SynCLinstall.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | title SynergyCL Launcher 4 | if EXIST "drivers\etc\hosts" cd %~dp0 5 | if '%cd%'=='%userprofile%\Downloads' ( 6 | if NOT EXIST SynergyCL mkdir SynergyCL 7 | cd SynergyCL 8 | if NOT EXIST SynCLinstall.bat copy ..\SynCLinstall.bat SynCLinstall.bat>NUL 9 | ) 10 | goto setupinit 11 | :updater 12 | cd "%~dp0" 13 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/Batch/SynCLinstall.bat\",\"$PWD\SynCLinstall.bat\") }" 14 | echo Updated... 15 | start /b "Install SourceMods" "%~dp0SynCLinstall.bat" 16 | exit 17 | :setupinit 18 | set pmpck1=0 19 | set pmpck2=0 20 | set pmpck3=0 21 | set pmpck4=0 22 | set pmpck5=0 23 | set betaset="reg" 24 | set usrname="" 25 | set synpath=steamapps\common\Synergy 26 | set cldir=%programfiles(x86)%\Steam\steamapps 27 | set betadir=%programfiles(x86)%\Steam\steamapps 28 | set twitchdir=%programfiles(x86)%\Steam\steamapps 29 | set devpdir=%programfiles(x86)%\Steam\steamapps 30 | set cldir=%programfiles(x86)%\Steam\steamapps 31 | for /f "skip=2 tokens=1,2* delims== " %%i in ('reg QUERY HKEY_CURRENT_USER\Software\Valve\Steam /f SteamPath /t REG_SZ /v') do ( 32 | set "cldir=%%k" 33 | goto start 34 | ) 35 | :start 36 | for /f "delims=" %%V in ('powershell -command "$env:cldir.Replace(\"/\",\"\\\")"') do set "cldir=%%V" 37 | for /f "delims=" %%V in ('powershell -command "$env:cldir.Replace(\"programfiles\",\"\Program Files\")"') do set "cldir=%%V" 38 | if EXIST "C:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=C:\SteamLibrary 39 | if EXIST "E:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=E:\SteamLibrary 40 | if EXIST "D:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=D:\SteamLibrary 41 | if EXIST "F:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=F:\SteamLibrary 42 | if EXIST "G:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=G:\SteamLibrary 43 | if EXIST "C:\SteamLibrary\steamapps\common\synbeta\synergy" set betadir=C:\SteamLibrary 44 | if EXIST "E:\SteamLibrary\steamapps\common\synbeta\synergy" set betadir=E:\SteamLibrary 45 | if EXIST "D:\SteamLibrary\steamapps\common\synbeta\synergy" set betadir=D:\SteamLibrary 46 | if EXIST "F:\SteamLibrary\steamapps\common\synbeta\synergy" set betadir=F:\SteamLibrary 47 | if EXIST "G:\SteamLibrary\steamapps\common\synbeta\synergy" set betadir=G:\SteamLibrary 48 | if EXIST "C:\SteamLibrary\steamapps\common\syntwitch\synergy" set twitchdir=C:\SteamLibrary 49 | if EXIST "E:\SteamLibrary\steamapps\common\syntwitch\synergy" set twitchdir=E:\SteamLibrary 50 | if EXIST "D:\SteamLibrary\steamapps\common\syntwitch\synergy" set twitchdir=D:\SteamLibrary 51 | if EXIST "F:\SteamLibrary\steamapps\common\syntwitch\synergy" set twitchdir=F:\SteamLibrary 52 | if EXIST "G:\SteamLibrary\steamapps\common\syntwitch\synergy" set twitchdir=G:\SteamLibrary 53 | if EXIST "C:\Steam\steamapps\common\Synergy\synergy" set cldir=C:\Steam 54 | if EXIST "E:\Steam\steamapps\common\Synergy\synergy" set cldir=E:\Steam 55 | if EXIST "D:\Steam\steamapps\common\Synergy\synergy" set cldir=D:\Steam 56 | if EXIST "F:\Steam\steamapps\common\Synergy\synergy" set cldir=F:\Steam 57 | if EXIST "G:\Steam\steamapps\common\Synergy\synergy" set cldir=G:\Steam 58 | if EXIST "C:\Steam\steamapps\common\synbeta\synergy" set betadir=C:\Steam 59 | if EXIST "E:\Steam\steamapps\common\synbeta\synergy" set betadir=E:\Steam 60 | if EXIST "D:\Steam\steamapps\common\synbeta\synergy" set betadir=D:\Steam 61 | if EXIST "F:\Steam\steamapps\common\synbeta\synergy" set betadir=F:\Steam 62 | if EXIST "G:\Steam\steamapps\common\synbeta\synergy" set betadir=G:\Steam 63 | if EXIST "C:\Steam\steamapps\common\syntwitch\synergy" set twitchdir=C:\Steam 64 | if EXIST "E:\Steam\steamapps\common\syntwitch\synergy" set twitchdir=E:\Steam 65 | if EXIST "D:\Steam\steamapps\common\syntwitch\synergy" set twitchdir=D:\Steam 66 | if EXIST "F:\Steam\steamapps\common\syntwitch\synergy" set twitchdir=F:\Steam 67 | if EXIST "G:\Steam\steamapps\common\syntwitch\synergy" set twitchdir=G:\Steam 68 | if EXIST "C:\SteamLibrary\steamapps\common\syndevp\synergy" set devpdir=C:\SteamLibrary 69 | if EXIST "E:\SteamLibrary\steamapps\common\syndevp\synergy" set devpdir=E:\SteamLibrary 70 | if EXIST "D:\SteamLibrary\steamapps\common\syndevp\synergy" set devpdir=D:\SteamLibrary 71 | if EXIST "F:\SteamLibrary\steamapps\common\syndevp\synergy" set devpdir=F:\SteamLibrary 72 | if EXIST "G:\SteamLibrary\steamapps\common\syndevp\synergy" set devpdir=G:\SteamLibrary 73 | if EXIST "C:\Steam\steamapps\common\syndevp\synergy" set devpdir=C:\Steam 74 | if EXIST "E:\Steam\steamapps\common\syndevp\synergy" set devpdir=E:\Steam 75 | if EXIST "D:\Steam\steamapps\common\syndevp\synergy" set devpdir=D:\Steam 76 | if EXIST "F:\Steam\steamapps\common\syndevp\synergy" set devpdir=F:\Steam 77 | if EXIST "G:\Steam\steamapps\common\syndevp\synergy" set devpdir=G:\Steam 78 | if NOT EXIST "%cldir%\steamapps\common\Synergy\synergy" ( 79 | echo ^CL Directory not found... 80 | set cldir=%cd% 81 | pause 82 | ) 83 | if EXIST synergy.exe (if EXIST "..\..\..\steamcmd.exe" cd "..\..\.." ) 84 | set anonset=0 85 | set linkhl=0 86 | if NOT EXIST steamcmd.exe goto notindir 87 | if NOT EXIST steamapps mkdir steamapps 88 | if NOT EXIST steamapps\common mkdir steamapps\common 89 | if NOT EXIST steamapps\common\Synergy ( 90 | if EXIST "%cldir%\steamapps\common\Synergy" mklink /j "steamapps\common\Synergy" "%cldir%\steamapps\common\Synergy">NUL 91 | ) 92 | if NOT EXIST steamapps\common\synbeta ( 93 | if EXIST "%betadir%\steamapps\common\synbeta" mklink /j "steamapps\common\synbeta" "%betadir%\steamapps\common\synbeta">NUL 94 | ) 95 | if NOT EXIST steamapps\common\syntwitch ( 96 | if EXIST "%twitchdir%\steamapps\common\syntwitch" mklink /j "steamapps\common\syntwitch" "%twitchdir%\steamapps\common\syntwitch">NUL 97 | ) 98 | if NOT EXIST steamapps\common\syndevp ( 99 | if EXIST "%devpdir%\steamapps\common\syndevp" mklink /j "steamapps\common\syndevp" "%devpdir%\steamapps\common\syndevp">NUL 100 | ) 101 | if NOT EXIST "steamapps\common\Half-Life 2" ( 102 | if EXIST "%betadir%\steamapps\common\Half-Life 2" set linkhl=2 103 | if EXIST "%twitchdir%\steamapps\common\Half-Life 2" set linkhl=3 104 | if EXIST "%cldir%\steamapps\common\Half-Life 2" set linkhl=1 105 | ) 106 | if '%linkhl%'=='1' mklink /j "steamapps\common\Half-Life 2" "%cldir%\steamapps\common\Half-Life 2">NUL 107 | if '%linkhl%'=='2' mklink /j "steamapps\common\Half-Life 2" "%betadir%\steamapps\common\Half-Life 2">NUL 108 | if '%linkhl%'=='3' mklink /j "steamapps\common\Half-Life 2" "%twitchdir%\steamapps\common\Half-Life 2">NUL 109 | set linkhl=0 110 | if NOT EXIST "steamapps\sourcemods" ( 111 | if EXIST "%betadir%\steamapps\sourcemods" set linkhl=2 112 | if EXIST "%twitchdir%\steamapps\sourcemods" set linkhl=3 113 | if EXIST "%cldir%\steamapps\sourcemods" set linkhl=1 114 | ) 115 | if '%linkhl%'=='1' mklink /j "steamapps\sourcemods" "%cldir%\steamapps\sourcemods">NUL 116 | if '%linkhl%'=='2' mklink /j "steamapps\sourcemods" "%betadir%\steamapps\sourcemods">NUL 117 | if '%linkhl%'=='3' mklink /j "steamapps\sourcemods" "%twitchdir%\steamapps\sourcemods">NUL 118 | set linkhl=0 119 | echo Information: enter the letter inside the () and press enter to continue at the prompts. 120 | echo (U)pdate or (R)un 56.16 (RB) To run Synergy 18.x beta (RT) To run Synergy Twich branch. 121 | echo (RP) to run Synergy Portal beta. (update) to update this script. 122 | echo (IMP) to install the Player Model Packs 123 | set /p uprun= 124 | for /f "delims=" %%V in ('powershell -command "$env:uprun.ToLower()"') do set "uprun=%%V" 125 | if "%uprun%"=="u" goto firstinstall 126 | if "%uprun%"=="rb" goto synstart 127 | if "%uprun%"=="rt" goto synstart 128 | if "%uprun%"=="rp" goto synstart 129 | if "%uprun%"=="r" goto synstart 130 | if "%uprun%"=="imp" goto instpmpck 131 | if "%uprun%"=="update" goto updater 132 | echo Choose an option. 133 | goto start 134 | 135 | :firstinstall 136 | if '%anonset%'=='0' (echo Regular, ^(B^)eta, ^(T^)witch, or ^(P^)ortal beta? ^(anything except b, t, or p will do regular^) 137 | set /p betaset= 138 | ) 139 | for /f "delims=" %%V in ('powershell -command "$env:betaset.ToLower()"') do set "betaset=%%V" 140 | if EXIST "%programfiles(x86)%\Steam" start /min /wait robocopy /NP /NJS /NJH /NS "%programfiles(x86)%\Steam" "." "ssfn*" 141 | if EXIST "%cldir%" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%" "." "ssfn*" 142 | echo Enter your username here: 143 | set /p usrname= 144 | set anonblck="" 145 | for /f "delims=" %%i in ('powershell -command "$env:usrname.ToLower()"') do set anonblck=%%i 146 | if "%anonblck%"=="anonymous" goto noanon 147 | set synpath=steamapps\common\Synergy 148 | if '%uprun%'=='rb' set synpath=steamapps\common\synbeta 149 | if '%uprun%'=='rt' set synpath=steamapps\common\syntwitch 150 | if '%uprun%'=='rp' set synpath=steamapps\common\syndevp 151 | if '%betaset%'=='b' set synpath=steamapps\common\synbeta 152 | if '%betaset%'=='t' set synpath=steamapps\common\syntwitch 153 | if '%betaset%'=='p' set synpath=steamapps\common\syndevp 154 | if NOT EXIST "%synpath%\synergy\synergy_pak.vpk" ( 155 | if EXIST "%cldir%\steamapps\common\Synergy\synergy\synergy_pak.vpk" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%\steamapps\common\Synergy\synergy" "%synpath%\synergy" "synergy_pak.vpk" 156 | ) 157 | if NOT EXIST "%synpath%\synergy\zhl2dm_materials_pak.vpk" ( 158 | if EXIST "%cldir%\steamapps\common\Synergy\synergy\zhl2dm_materials_pak.vpk" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%\steamapps\common\Synergy\synergy" "%synpath%\synergy" "zhl2dm_materials_pak.vpk.vpk" 159 | ) 160 | if NOT EXIST "%synpath%\synergy\maps" ( 161 | if EXIST "%cldir%\steamapps\common\Synergy\synergy\maps" mklink /j "%synpath%\synergy\maps" "%cldir%\steamapps\common\Synergy\synergy\maps">NUL 162 | ) 163 | if EXIST "%synpath%\synergy\content\aoc.dat" del "%synpath%\synergy\content\aoc.dat" 164 | if EXIST "%synpath%\synergy\content\css.dat" del "%synpath%\synergy\content\css.dat" 165 | if EXIST "%synpath%\synergy\content\dod.dat" del "%synpath%\synergy\content\dod.dat" 166 | if EXIST "%synpath%\synergy\content\eternal.dat" del "%synpath%\synergy\content\eternal.dat" 167 | if EXIST "%synpath%\synergy\content\hl2u.dat" del "%synpath%\synergy\content\hl2u.dat" 168 | if EXIST "%synpath%\synergy\content\neotokyo.dat" del "%synpath%\synergy\content\neotokyo.dat" 169 | if EXIST "%synpath%\synergy\content\SiN.dat" del "%synpath%\synergy\content\SiN.dat" 170 | if EXIST "%synpath%\synergy\content\tf2.dat" del "%synpath%\synergy\content\tf2.dat" 171 | if EXIST "%synpath%\synergy\content\zps.dat" del "%synpath%\synergy\content\zps.dat" 172 | if '%betaset%'=='b' goto betainst 173 | if '%betaset%'=='t' goto twitchinst 174 | if '%betaset%'=='p' goto devpinst 175 | if NOT EXIST steamcmd.exe goto notindir 176 | echo Updating/installing Synergy 56.16 177 | steamcmd.exe +login %usrname% +app_update 17520 validate +quit 178 | if NOT EXIST steamapps\common\Synergy\synergy.exe ( 179 | echo ^There was an error while attempting to download Synergy... 180 | set anonset=15 181 | goto firstinstall 182 | ) 183 | echo Update/installation Complete 184 | echo If there were errors states above, close the script and log into SteamCMD.exe separately, then restart the script. 185 | timeout -T 10 186 | if '%uprun%'=='i' goto setup 187 | cls 188 | :synstart 189 | set synpath=steamapps\common\Synergy 190 | if '%uprun%'=='rb' set synpath=steamapps\common\synbeta 191 | if '%uprun%'=='rt' set synpath=steamapps\common\syntwitch 192 | if '%uprun%'=='rp' set synpath=steamapps\common\syndevp 193 | if '%betaset%'=='b' set synpath=steamapps\common\synbeta 194 | if '%betaset%'=='t' set synpath=steamapps\common\syntwitch 195 | if '%betaset%'=='p' set synpath=steamapps\common\syndevp 196 | if NOT EXIST %synpath%\synergy.exe goto notinstalled 197 | if NOT EXIST %synpath%\synergy\scripts\vgui_screens.txt start /min /wait powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://raw.githubusercontent.com/Balimbanana/SM-Synergy/master/scripts/vgui_screens.txt\",\"$PWD\$env:synpath\synergy\scripts\vgui_screens.txt\") }" 198 | if NOT EXIST "steamapps\common\Half-Life 2\hl2\hl2_pak_dir.vpk" goto insthl2 199 | ping localhost -n 1 >NUL 200 | start /wait %synpath%\synergy.exe -game synergy -steam -novid -windowed -noborder +r_hunkalloclightmaps 0 201 | goto start 202 | 203 | :betainst 204 | echo Updating/installing Synergy Beta 205 | steamcmd.exe +login %usrname% +force_install_dir steamapps\Common\synbeta +app_update 17520 -beta development -validate +quit 206 | if NOT EXIST steamapps\common\synbeta\synergy.exe ( 207 | echo ^There was an error while attempting to download Synergy... 208 | set anonset=15 209 | goto firstinstall 210 | ) 211 | echo Update/installation Complete 212 | echo If there were errors above, close the script and log into SteamCMD.exe separately, then restart the script. 213 | timeout -T 10 214 | if '%uprun%'=='i' goto setup 215 | cls 216 | goto synstart 217 | 218 | :twitchinst 219 | echo Updating/installing Synergy Twitch Branch 220 | steamcmd.exe +login %usrname% +force_install_dir steamapps\Common\syntwitch +app_update 17520 -beta twitch -validate +quit 221 | if NOT EXIST steamapps\common\syntwitch\synergy.exe ( 222 | echo ^There was an error while attempting to download Synergy... 223 | set anonset=15 224 | goto firstinstall 225 | ) 226 | echo Update/installation Complete 227 | echo If there were errors above, close the script and log into SteamCMD.exe separately, then restart the script. 228 | timeout -T 10 229 | if '%uprun%'=='i' goto setup 230 | cls 231 | goto synstart 232 | 233 | :devpinst 234 | echo Updating/installing Synergy Portal beta Branch 235 | steamcmd.exe +login %usrname% +force_install_dir steamapps\Common\syndevp +app_update 17520 -beta development_portaltest -validate +quit 236 | if NOT EXIST steamapps\common\syndevp\synergy.exe ( 237 | echo ^There was an error while attempting to download Synergy... 238 | set anonset=15 239 | goto firstinstall 240 | ) 241 | echo Update/installation Complete 242 | echo If there were errors above, close the script and log into SteamCMD.exe separately, then restart the script. 243 | timeout -T 10 244 | if '%uprun%'=='i' goto setup 245 | cls 246 | goto synstart 247 | 248 | :setup 249 | set s=1 250 | set hl=1 251 | echo Setting up links and first settings 252 | if NOT EXIST "%cldir%\steamapps\sourcemods" set s=0 253 | if NOT EXIST "%cldir%\steamapps\common\Half-Life 2" set hl=0 254 | if '%hl%'=='0' (if EXIST "steamapps\common\Half-Life 2" set hl=2) 255 | if '%hl%'=='0' goto insthl2 256 | if '%hl%'=='1' (if EXIST "steamapps\common\Half-Life 2" set hl=2) 257 | if '%hl%'=='1' mklink /j "steamapps\common\Half-Life 2" "%cldir%\common\Half-Life 2" 258 | if '%s%'=='0' echo sourcemods not found, not linking. 259 | if '%s%'=='1' (if EXIST "steamapps\sourcemods" set s=2) 260 | if '%s%'=='1' mklink /j "steamapps\sourcemods" "%cldir%\sourcemods" 261 | set synpath=steamapps\common\Synergy 262 | set syntype=56.16 263 | if '%betaset%'=='b' ( 264 | set synpath=steamapps\common\synbeta 265 | set syntype=18.x 266 | ) 267 | if '%betaset%'=='t' ( 268 | set synpath=steamapps\common\syntwitch 269 | set syntype=Twitch 270 | ) 271 | if '%betaset%'=='p' ( 272 | set synpath=steamapps\common\syndevp 273 | set syntype=Portal 274 | ) 275 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/scripts/weapon_betagun.txt\",\"$PWD\$env:synpath\synergy\scripts\weapon_betagun.txt\") }" 276 | if NOT EXIST "%synpath%\synergy\models" mkdir "%synpath%\synergy\models" 277 | if NOT EXIST "%synpath%\synergy\models\weapons" mkdir "%synpath%\synergy\models\weapons" 278 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/w_physics.phy\",\"$PWD\$env:synpath\synergy\models\weapons\w_physics.phy\") }" 279 | if NOT EXIST "%synpath%\synergy\content" mkdir "%synpath%\synergy\content" 280 | echo Should be all set up. 281 | goto synstart 282 | 283 | :insthl2 284 | echo Half-Life 2 was not found during setup, press any key to install it first or close the script and install it manually. 285 | pause 286 | if EXIST "%programfiles(x86)%\Steam" start /min /wait robocopy /NP /NJS /NJH /NS "%programfiles(x86)%\Steam" "." "ssfn*" 287 | if EXIST "%cldir%" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%" "." "ssfn*" 288 | if '%usrname%'=='""' ( 289 | echo ^Enter your username here: 290 | set /p usrname= 291 | ) 292 | set anonblck="" 293 | for /f "delims=" %%i in ('powershell -command "$env:usrname.ToLower()"') do set anonblck=%%i 294 | if "%anonblck%"=="anonymous" ( 295 | set anonset=2 296 | goto noanon 297 | ) 298 | steamcmd.exe +login %usrname% +app_update 220 validate +quit 299 | steamcmd.exe +login %usrname% +app_update 380 validate +quit 300 | steamcmd.exe +login %usrname% +app_update 420 validate +quit 301 | if EXIST "steamapps\common\Half-Life 2" goto setup 302 | goto notconfigured 303 | :notconfigured 304 | echo Half-Life 2 directory was not found in default install location, install halted. 305 | pause 306 | exit 307 | :notinstalled 308 | set syntype=56.16 309 | if '%uprun%'=='rb' set syntype=Beta 310 | if '%betaset%'=='b' set syntype=Beta 311 | if '%uprun%'=='rt' set syntype=Twitch 312 | if '%betaset%'=='t' set syntype=Twitch 313 | if '%uprun%'=='rp' set syntype=Portal 314 | if '%betaset%'=='p' set syntype=Portal 315 | echo Synergy %syntype% not installed. 316 | pause 317 | goto start 318 | :notindir 319 | set foundcmd=0 320 | goto dlsteamcmd 321 | 322 | :dlsteamcmd 323 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 324 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 325 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 326 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 327 | if '%foundcmd%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip\",\"$PWD\steamcmd.zip\") }" 328 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 329 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 330 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 331 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 332 | goto extractcmd 333 | 334 | :extractcmd 335 | ping localhost -n 1 >NUL 336 | if EXIST steamcmd.exe goto start 337 | if '%foundcmd%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\steamcmd.zip\", \"$PWD\") }" 338 | if '%foundcmd%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\steamcmd.zip\", \"$PWD\") }" 339 | if EXIST steamcmd.exe ( 340 | goto start 341 | ) 342 | if EXIST "C:\Program Files\7-Zip\7z.exe" ( 343 | if '%foundcmd%'=='1' ( 344 | start /min /wait "7z" "C:\Program Files\7-Zip\7z.exe" x steamcmd.zip 345 | ) 346 | if '%foundcmd%'=='2' ( 347 | start /min /wait "7z" "C:\Program Files\7-Zip\7z.exe" x "%userprofile%\downloads\steamcmd.zip" 348 | ) 349 | ) 350 | goto start 351 | 352 | :instpmpck 353 | echo Install Player Model Packs for Regular, (B)eta, (T)witch, or (P)ortal beta? (anything except b, t, or p will do regular) 354 | set synpath=steamapps\common\Synergy 355 | set /p betaset= 356 | for /f "delims=" %%V in ('powershell -command "$env:betaset.ToLower()"') do set "betaset=%%V" 357 | if '%betaset%'=='b' set synpath=steamapps\common\synbeta 358 | if '%betaset%'=='t' set synpath=steamapps\common\syntwitch 359 | if '%betaset%'=='p' set synpath=steamapps\common\syndevp 360 | goto instpmpckpass 361 | 362 | :instpmpckpass 363 | set linkset=0 364 | if NOT EXIST "steamapps\workshop" mkdir "steamapps\workshop" 365 | if NOT EXIST "steamapps\workshop\content" mkdir "steamapps\workshop\content" 366 | if NOT EXIST "steamapps\workshop\content\17520" mkdir "steamapps\workshop\content\17520" 367 | ping localhost -n 1 >NUL 368 | fsutil reparsepoint query "steamapps\workshop\content\17520" | find "Mount Point" >nul && set "linkset=1" || set "linkset=0" 369 | set linkdir=%cldir% 370 | if EXIST "%cldir%\steamapps\workshop\content\17520" set linkdir=%cldir% 371 | if EXIST "%betadir%\steamapps\workshop\content\17520" set linkdir=%betadir% 372 | if EXIST "%twitchdir%\steamapps\workshop\content\17520" set linkdir=%twitchdir% 373 | if '%linkset%'=='0' ( 374 | start /wait /min robocopy /S /NP /NJS /NJH /NS "steamapps\workshop\content\17520" "steamapps\common\Synergy\synergy\custom" 375 | rd /Q /S "steamapps\workshop\content\17520" 376 | mklink /j "steamapps\workshop\content\17520" "steamapps\common\Synergy\synergy\custom">NUL 377 | ) 378 | if EXIST "%linkdir%\steamapps\workshop\content\17520\646159916\646159916_pak.vpk" set pmpck1=1 379 | if EXIST "%linkdir%\steamapps\workshop\content\17520\703682251\703682251_pak.vpk" set pmpck2=1 380 | if EXIST "%linkdir%\steamapps\workshop\content\17520\2014781572\2014781572_pak.vpk" set pmpck3=1 381 | if EXIST "%linkdir%\steamapps\workshop\content\17520\2014781572\2014781572_pak.vpk" set pmpck4=1 382 | if EXIST "%linkdir%\steamapps\workshop\content\17520\1133952585\1133952585_pak.vpk" set pmpck5=1 383 | if EXIST steamapps\workshop\content\17520\646159916\646159916_pak.vpk set pmpck1=2 384 | if EXIST steamapps\workshop\content\17520\703682251\703682251_pak.vpk set pmpck2=2 385 | if EXIST steamapps\workshop\content\17520\2014781572\2014781572_pak.vpk set pmpck3=2 386 | if EXIST steamapps\workshop\content\17520\2014781572\2014781572_pak.vpk set pmpck4=2 387 | if EXIST steamapps\workshop\content\17520\1133952585\1133952585_pak.vpk set pmpck5=2 388 | if '%pmpck1%'=='1' echo Player Model Pack 1 detected in Steam workshop dir. 389 | if '%pmpck2%'=='1' echo Player Model Pack 2 detected in Steam workshop dir. 390 | if '%pmpck3%'=='1' echo Player Model Pack 3 and 4 detected in Steam workshop dir. 391 | if '%pmpck5%'=='1' echo Player Model Pack 5 detected in Steam workshop dir. 392 | if '%pmpck1%'=='2' echo Player Model Pack 1 installed. 393 | if '%pmpck2%'=='2' echo Player Model Pack 2 installed. 394 | if '%pmpck3%'=='2' echo Player Model Pack 3 and 4 installed. 395 | if '%pmpck5%'=='2' echo Player Model Pack 5 installed. 396 | if %pmpck1% LEQ 1 echo (1) To install Pack 1 to your client (For 56.16). 397 | if %pmpck2% LEQ 1 echo (2) To install Pack 2 to your client (For 56.16). 398 | if %pmpck3% LEQ 1 echo (3) To install Pack 3 and 4 to your client (For 56.16). 399 | if %pmpck5% LEQ 1 echo (5) To install Pack 5 to your client (For 56.16). 400 | if '%pmpck1%'=='0' echo (DL1) to download Pack 1. 401 | if '%pmpck2%'=='0' echo (DL2) to download Pack 2. 402 | if '%pmpck3%'=='0' echo (DL3) to download Pack 3 and 4. 403 | if '%pmpck5%'=='0' echo (DL5) to download Pack 5. 404 | echo (B) to go back to start. 405 | set /p pmpckopt= 406 | for /f "delims=" %%V in ('powershell -command "$env:pmpckopt.ToLower()"') do set "pmpckopt=%%V" 407 | if '%pmpckopt%'=='b' ( 408 | cls 409 | goto ^start 410 | ) 411 | if '%pmpckopt%'=='1' ( 412 | if '%pmpck1%'=='1' ( 413 | set pmpckdir=^%linkdir%\steamapps\workshop\content\17520\646159916 414 | set pmpckid=^646159916 415 | set part=^1 416 | set installing=^1 417 | ) else echo ^Already installed. 418 | ) 419 | if '%pmpckopt%'=='2' ( 420 | if '%pmpck2%'=='1' ( 421 | set pmpckdir=^%linkdir%\steamapps\workshop\content\17520\703682251 422 | set pmpckid=^703682251 423 | set part=^2 424 | set installing=^1 425 | ) else echo ^Already installed. 426 | ) 427 | if '%pmpckopt%'=='3' ( 428 | if '%pmpck3%'=='1' ( 429 | set pmpckdir=^%linkdir%\steamapps\workshop\content\17520\2014781572 430 | set pmpckid=^2014781572 431 | set part=^34 432 | set installing=^1 433 | ) else echo ^Already installed. 434 | ) 435 | if '%pmpckopt%'=='4' ( 436 | if '%pmpck4%'=='1' ( 437 | set pmpckdir=^%linkdir%\steamapps\workshop\content\17520\2014781572 438 | set pmpckid=^2014781572 439 | set part=^34 440 | set installing=^1 441 | ) else echo ^Already installed. 442 | ) 443 | if '%pmpckopt%'=='5' ( 444 | if '%pmpck5%'=='1' ( 445 | set pmpckdir=^%linkdir%\steamapps\workshop\content\17520\1133952585 446 | set pmpckid=^1133952585 447 | set part=^5 448 | set installing=^1 449 | ) else echo ^Already installed. 450 | ) 451 | if '%installing%'=='1' ( 452 | if NOT EXIST "%pmpckdir%" echo. 453 | if NOT EXIST "%pmpckdir%" echo ^You do not have this part downloaded... 454 | if NOT EXIST "%pmpckdir%" echo. 455 | if NOT EXIST "%pmpckdir%" set installing=^0 456 | if NOT EXIST "%pmpckdir%" goto ^instpmpck 457 | ) 458 | if '%installing%'=='1' ( 459 | start /wait /min robocopy /S /NP /NJS /NJH /NS "%pmpckdir%" "%cd%\%synpath%\synergy\custom\%pmpckid%" 460 | echo. 461 | echo ^Completed installing Part %part%... 462 | echo. 463 | set installing=^0 464 | set pmpckopt=^0 465 | ) 466 | if '%pmpckopt%'=='dl1' steamcmd.exe +login anonymous +workshop_download_item 17520 646159916 +quit 467 | if '%pmpckopt%'=='dl2' steamcmd.exe +login anonymous +workshop_download_item 17520 703682251 +quit 468 | if '%pmpckopt%'=='dl3' steamcmd.exe +login anonymous +workshop_download_item 17520 2014781572 +quit 469 | if '%pmpckopt%'=='dl4' steamcmd.exe +login anonymous +workshop_download_item 17520 2014781572 +quit 470 | if '%pmpckopt%'=='dl5' steamcmd.exe +login anonymous +workshop_download_item 17520 1133952585 +quit 471 | ping localhost -n 3 >NUL 472 | goto instpmpckpass 473 | 474 | :noanon 475 | if '%anonset%'=='2' ( 476 | echo You cannot use anonymous to install HL2... 477 | set usrname="" 478 | goto insthl2 479 | ) 480 | echo You cannot use anonymous to install Synergy... 481 | set anonset=1 482 | goto firstinstall 483 | -------------------------------------------------------------------------------- /Batch/Syndsinstallsimplified.renametodotbat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | rem //////////////////////////////If you are viewing this on GitHub, right click Raw above and click: 4 | rem //////////////////////////////Save Target As, or Save Linked Content As to download this script. 5 | rem //////////////////////////////Save the script as ending in .bat and run it. 6 | title SynergyDS 15 7 | goto initvars 8 | :updater 9 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/Batch/Syndsinstallsimplified.renametodotbat\",\"$PWD\Syndsinstallsimplified.bat\") }" 10 | echo Updated... 11 | start /b "SynergyDS 15" "%~dp0Syndsinstallsimplified.bat" 12 | exit 13 | :initvars 14 | if EXIST "drivers\etc\hosts" cd "%~dp0" 15 | set pmpck1=0 16 | set pmpck2=0 17 | set pmpck3=0 18 | set pmpck4=0 19 | set pmpck5=0 20 | set betaset="reg" 21 | set instsmset=0 22 | set username="" 23 | set pnum=27015 24 | set configdir="server2.cfg" 25 | set skipstep=0 26 | set synpath=steamapps\common\Synergy 27 | set sm_basepath=addons/sourcemod 28 | set smset=0 29 | set createconf="n" 30 | set cldir=%programfiles(x86)%\Steam\steamapps 31 | if EXIST "C:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=C:\SteamLibrary\steamapps 32 | if EXIST "E:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=E:\SteamLibrary\steamapps 33 | if EXIST "D:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=D:\SteamLibrary\steamapps 34 | if EXIST "F:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=F:\SteamLibrary\steamapps 35 | if EXIST "G:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=G:\SteamLibrary\steamapps 36 | if EXIST "L:\SteamLibrary\steamapps\common\Synergy\synergy" set cldir=L:\SteamLibrary\steamapps 37 | if EXIST "C:\Steam\steamapps\common\Synergy\synergy" set cldir=C:\Steam\steamapps 38 | if EXIST "E:\Steam\steamapps\common\Synergy\synergy" set cldir=E:\Steam\steamapps 39 | if EXIST "D:\Steam\steamapps\common\Synergy\synergy" set cldir=D:\Steam\steamapps 40 | if EXIST "F:\Steam\steamapps\common\Synergy\synergy" set cldir=F:\Steam\steamapps 41 | if EXIST "G:\Steam\steamapps\common\Synergy\synergy" set cldir=G:\Steam\steamapps 42 | if EXIST "L:\Steam\steamapps\common\Synergy\synergy" set cldir=L:\Steam\steamapps 43 | if EXIST "C:\Program Files\Steam\steamapps\common\Synergy\synergy" set "cldir=C:\Program Files\Steam\steamapps" 44 | if EXIST "E:\Program Files\Steam\steamapps\common\Synergy\synergy" set "cldir=E:\Program Files\Steam\steamapps" 45 | if EXIST "D:\Program Files\Steam\steamapps\common\Synergy\synergy" set "cldir=D:\Program Files\Steam\steamapps" 46 | if EXIST "F:\Program Files\Steam\steamapps\common\Synergy\synergy" set "cldir=F:\Program Files\Steam\steamapps" 47 | if EXIST "G:\Program Files\Steam\steamapps\common\Synergy\synergy" set "cldir=G:\Program Files\Steam\steamapps" 48 | if EXIST "L:\Program Files\Steam\steamapps\common\Synergy\synergy" set "cldir=L:\Program Files\Steam\steamapps" 49 | :start 50 | if EXIST synergy.exe (if EXIST "..\..\..\steamcmd.exe" cd "..\..\.." ) 51 | set anonset=0 52 | if NOT EXIST steamcmd.exe goto notindir 53 | if NOT EXIST "steamapps\common\Synergy\synergy\synergy_pak.vpk" ( 54 | set uprun=i 55 | goto firstinstall 56 | ) 57 | set uprun=r 58 | for /f "delims=" %%V in ('powershell -command "$env:uprun.ToLower()"') do set "uprun=%%V" 59 | if "%uprun%"=="u" goto firstinstall 60 | if "%uprun%"=="i" goto firstinstall 61 | if "%uprun%"=="r" goto srcds 62 | if "%uprun%"=="update" goto updater 63 | echo Choose an option. 64 | goto start 65 | 66 | :firstinstall 67 | set betaset=r 68 | for /f "delims=" %%V in ('powershell -command "$env:betaset.ToLower()"') do set "betaset=%%V" 69 | if EXIST "%programfiles(x86)%\Steam" start /min /wait robocopy /NP /NJS /NJH /NS "%programfiles(x86)%\Steam" "." "ssfn*" 70 | echo Enter your username here: 71 | echo The next prompt after this will be inside SteamCMD, if it asks for the password, it is entered as a secure string. 72 | echo What this means is that it will not show you the characters you enter, but it is entering them. 73 | set /p username= 74 | set anonblck="" 75 | for /f "delims=" %%V in ('powershell -command "$env:username.ToLower()"') do set anonblck=%%V 76 | if "%anonblck%"=="anonymous" goto noanon 77 | set synpath=steamapps\common\Synergy 78 | if NOT EXIST "%synpath%\synergy\synergy_pak.vpk" ( 79 | if EXIST "%cldir%\common\Synergy\synergy\synergy_pak.vpk" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%\common\Synergy\synergy" "%synpath%\synergy" "synergy_pak.vpk" 80 | ) 81 | if NOT EXIST "%synpath%\synergy\zhl2dm_materials_pak.vpk" ( 82 | if EXIST "%cldir%\common\Synergy\synergy\zhl2dm_materials_pak.vpk" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%\common\Synergy\synergy" "%synpath%\synergy" "zhl2dm_materials_pak.vpk.vpk" 83 | ) 84 | if NOT EXIST "%synpath%\synergy\maps" ( 85 | if EXIST "%cldir%\common\Synergy\synergy\maps" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%\common\Synergy\synergy\maps" "%synpath%\synergy\maps" "syn_*" 86 | if EXIST "%cldir%\common\Synergy\synergy\maps\graphs" start /min /wait robocopy /NP /NJS /NJH /NS "%cldir%\common\Synergy\synergy\maps\graphs" "%synpath%\synergy\maps\graphs" "*" 87 | ) 88 | if NOT EXIST steamcmd.exe goto notindir 89 | echo Updating/installing Synergy DS 90 | steamcmd.exe +login %username% +app_update 17520 validate +quit 91 | if NOT EXIST steamapps\common\Synergy\srcds.exe ( 92 | echo ^There was an error while attempting to download Synergy... 93 | set anonset=15 94 | goto firstinstall 95 | ) 96 | echo Update/installation Complete 97 | echo If there were errors states above, close the script and log into SteamCMD.exe separately, then restart the script. 98 | timeout -T 1 99 | if "%uprun%"=="i" goto setup 100 | cls 101 | :srcds 102 | set synpath=steamapps\common\Synergy 103 | if NOT EXIST %synpath%\srcds.exe goto notinstalled 104 | if NOT EXIST "steamapps\common\Half-Life 2\hl2\hl2_pak_dir.vpk" goto insthl2 105 | set linkset=0 106 | if NOT EXIST "%synpath%\synergy\download" mkdir "%synpath%\synergy\download" 107 | if NOT EXIST "%synpath%\synergy\download\user_custom" mkdir "%synpath%\synergy\download\user_custom" 108 | if NOT EXIST "%synpath%\synergy\user_custom" mklink /j "%synpath%\synergy\user_custom" "%synpath%\synergy\download\user_custom">NUL 109 | ping localhost -n 1 >NUL 110 | fsutil reparsepoint query "%synpath%\synergy\user_custom" | find "Mount Point" >nul && set "linkset=1" || set "linkset=0" 111 | if '%linkset%'=='0' ( 112 | rmdir "%synpath%\synergy\user_custom" 113 | mklink /j "%synpath%\synergy\user_custom" "%synpath%\synergy\download\user_custom">NUL 114 | ) 115 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 116 | :reds 117 | echo (%date%)(%time%) SynDS started. 118 | if %smset%==1 start /wait %synpath%\srcds.exe -console -game synergy +maxplayers 64 +sv_lan 0 +map "hl2 d1_trainstation_06" +exec %configdir% -ip 0.0.0.0 -port %pnum% -nocrashdialog -insecure -nohltv -threads 8 -heapsize 2048000 -mem_max_heapsize 2048 -mem_max_heapsize_dedicated 512 +sm_basepath %sm_basepath% 119 | if %smset%==0 start /wait %synpath%\srcds.exe -console -game synergy +maxplayers 64 +sv_lan 0 +map "hl2 d1_trainstation_06" +exec %configdir% -ip 0.0.0.0 -port %pnum% -nocrashdialog -insecure -nohltv -threads 8 -heapsize 2048000 -mem_max_heapsize 2048 -mem_max_heapsize_dedicated 512 120 | echo (%date%)(%time%) WARNING: SynDS closed or crashed, restarting. 121 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "ctime=%%V" 122 | set /a cttime=ctime-starttime 123 | if %cttime%==0 ( 124 | echo ^The last crash was less than a minute ago, waiting to restart. 125 | timeout -T 10 126 | ) 127 | for /f "delims=" %%V in ('powershell -command "$ab = get-date; $ab.Minute"') do set "starttime=%%V" 128 | goto reds 129 | 130 | :setup 131 | set s=1 132 | set hl=1 133 | echo Setting up links and first settings in server2.cfg 134 | if NOT EXIST "%cldir%\sourcemods" set s=0 135 | if NOT EXIST "%cldir%\common\Half-Life 2" set hl=0 136 | if '%hl%'=='0' (if EXIST "steamapps\common\Half-Life 2" set hl=2) 137 | if '%hl%'=='0' goto insthl2 138 | if '%hl%'=='1' (if EXIST "steamapps\common\Half-Life 2" set hl=2) 139 | if '%hl%'=='1' mklink /j "steamapps\common\Half-Life 2" "%cldir%\common\Half-Life 2" 140 | if '%s%'=='0' echo sourcemods not found, not linking. 141 | if '%s%'=='1' (if EXIST "steamapps\sourcemods" set s=2) 142 | if '%s%'=='1' mklink /j "steamapps\sourcemods" "%cldir%\sourcemods" 143 | set synpath=steamapps\common\Synergy 144 | set syntype=56.16 145 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/scripts/weapon_betagun.txt\",\"$PWD\$env:synpath\synergy\scripts\weapon_betagun.txt\") }" 146 | if NOT EXIST "%synpath%\synergy\models" mkdir "%synpath%\synergy\models" 147 | if NOT EXIST "%synpath%\synergy\models\weapons" mkdir "%synpath%\synergy\models\weapons" 148 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/w_physics.phy\",\"$PWD\$env:synpath\synergy\models\weapons\w_physics.phy\") }" 149 | if NOT EXIST "%synpath%\synergy\cfg\server2.cfg" ( 150 | echo hostname %USER% Syn %syntype% Server>"%synpath%\synergy\cfg\server2.cfg" 151 | echo sv_lan 0 >>"%synpath%\synergy\cfg\server2.cfg" 152 | echo mp_friendlyfire 0 >>"%synpath%\synergy\cfg\server2.cfg" 153 | echo mp_reset 1 >>"%synpath%\synergy\cfg\server2.cfg" 154 | echo mp_antirush_percent 50>>"%synpath%\synergy\cfg\server2.cfg" 155 | echo mp_transition_time 45>>"%synpath%\synergy\cfg\server2.cfg" 156 | echo mp_transition_percent 68>>"%synpath%\synergy\cfg\server2.cfg" 157 | echo sv_vote_enable 1 >>"%synpath%\synergy\cfg\server2.cfg" 158 | echo sv_vote_failure_timer 300>>"%synpath%\synergy\cfg\server2.cfg" 159 | echo sv_vote_interval 10>>"%synpath%\synergy\cfg\server2.cfg" 160 | echo sv_vote_percent_difficulty 67>>"%synpath%\synergy\cfg\server2.cfg" 161 | echo sv_vote_percent_kick 67>>"%synpath%\synergy\cfg\server2.cfg" 162 | echo sv_vote_percent_map 67>>"%synpath%\synergy\cfg\server2.cfg" 163 | echo sv_vote_percent_restore 67>>"%synpath%\synergy\cfg\server2.cfg" 164 | echo host_thread_mode 2 >>"%synpath%\synergy\cfg\server2.cfg" 165 | echo net_splitrate 3 >>"%synpath%\synergy\cfg\server2.cfg" 166 | echo net_splitpacket_maxrate 100000 >>"%synpath%\synergy\cfg\server2.cfg" 167 | echo net_maxcleartime 0.01 >>"%synpath%\synergy\cfg\server2.cfg" 168 | echo sv_parallel_sendsnapshot 1 >>"%synpath%\synergy\cfg\server2.cfg" 169 | echo sv_rollangle 0.0 >>"%synpath%\synergy\cfg\server2.cfg" 170 | echo //Change this to a different savenumber for forked servers>>"%synpath%\synergy\cfg\server2.cfg" 171 | echo sv_savedir save2/>>"%synpath%\synergy\cfg\server2.cfg" 172 | echo content_mount_synergy_mod_path_priority 2 >>"%synpath%\synergy\cfg\server2.cfg") 173 | if NOT EXIST "%synpath%\synergy\cfg\workshop_srv.cfg" ( 174 | echo 1082553471>"%synpath%\synergy\cfg\workshop_srv.cfg" 175 | echo 492916281>>"%synpath%\synergy\cfg\workshop_srv.cfg" 176 | echo 647127451>>"%synpath%\synergy\cfg\workshop_srv.cfg" 177 | echo 647128829>>"%synpath%\synergy\cfg\workshop_srv.cfg" 178 | echo 678214923>>"%synpath%\synergy\cfg\workshop_srv.cfg" 179 | echo 664873590>>"%synpath%\synergy\cfg\workshop_srv.cfg" 180 | echo 683512034>>"%synpath%\synergy\cfg\workshop_srv.cfg" 181 | echo 682177824>>"%synpath%\synergy\cfg\workshop_srv.cfg" 182 | echo 692269416>>"%synpath%\synergy\cfg\workshop_srv.cfg" 183 | echo 694312354>>"%synpath%\synergy\cfg\workshop_srv.cfg" 184 | echo 691111508>>"%synpath%\synergy\cfg\workshop_srv.cfg" 185 | echo 698969705>>"%synpath%\synergy\cfg\workshop_srv.cfg" 186 | echo 689508204>>"%synpath%\synergy\cfg\workshop_srv.cfg" 187 | echo 1917233439>>"%synpath%\synergy\cfg\workshop_srv.cfg" 188 | echo 647128322>>"%synpath%\synergy\cfg\workshop_srv.cfg" 189 | echo 733880910>>"%synpath%\synergy\cfg\workshop_srv.cfg" 190 | echo 751771158>>"%synpath%\synergy\cfg\workshop_srv.cfg" 191 | echo 762217131>>"%synpath%\synergy\cfg\workshop_srv.cfg" 192 | echo 783933738>>"%synpath%\synergy\cfg\workshop_srv.cfg" 193 | echo 860392418>>"%synpath%\synergy\cfg\workshop_srv.cfg" 194 | echo 886714754>>"%synpath%\synergy\cfg\workshop_srv.cfg" 195 | echo 909637644>>"%synpath%\synergy\cfg\workshop_srv.cfg" 196 | echo 918216553>>"%synpath%\synergy\cfg\workshop_srv.cfg" 197 | echo 931794062>>"%synpath%\synergy\cfg\workshop_srv.cfg" 198 | echo 1230906124>>"%synpath%\synergy\cfg\workshop_srv.cfg" 199 | echo 1286998604>>"%synpath%\synergy\cfg\workshop_srv.cfg" 200 | echo 1427833667>>"%synpath%\synergy\cfg\workshop_srv.cfg" 201 | echo 1650998121>>"%synpath%\synergy\cfg\workshop_srv.cfg" 202 | echo 1654962168>>"%synpath%\synergy\cfg\workshop_srv.cfg" 203 | echo 1657567270>>"%synpath%\synergy\cfg\workshop_srv.cfg" 204 | echo 1817140991>>"%synpath%\synergy\cfg\workshop_srv.cfg") 205 | if NOT EXIST "%synpath%\synergy\content" mkdir "%synpath%\synergy\content" 206 | echo Should be all configured for server running. 207 | goto instsourcem 208 | cls 209 | goto srcds 210 | 211 | :insthl2 212 | echo Half-Life 2 was not found during setup, press any key to install it first or close the script and install it manually. 213 | if EXIST "%programfiles(x86)%\Steam" start /min /wait robocopy /NP /NJS /NJH /NS "%programfiles(x86)%\Steam" "." "ssfn*" 214 | if '%username%'=='""' ( 215 | echo ^Enter your username here: 216 | set /p username= 217 | ) 218 | set anonblck="" 219 | for /f "delims=" %%i in ('powershell -command "$env:usrname.ToLower()"') do set anonblck=%%i 220 | if "%anonblck%"=="anonymous" ( 221 | set anonset=2 222 | goto noanon 223 | ) 224 | steamcmd.exe +login %username% +app_update 220 validate +quit 225 | steamcmd.exe +login %username% +app_update 380 validate +quit 226 | steamcmd.exe +login %username% +app_update 420 validate +quit 227 | if EXIST "steamapps\common\Half-Life 2" goto setup 228 | goto notconfigured 229 | :notconfigured 230 | echo Half-Life 2 directory was not found in default install location, install halted. 231 | pause 232 | exit 233 | :notinstalled 234 | set syntype=56.16 235 | echo Synergy %syntype% not installed. 236 | pause 237 | goto start 238 | :notindir 239 | set foundcmd=0 240 | goto dlsteamcmd 241 | 242 | :dlsteamcmd 243 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 244 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 245 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 246 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 247 | if '%foundcmd%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip\",\"$PWD\steamcmd.zip\") }" 248 | if EXIST "%cd%\steamcmd.zip" set foundcmd=1 249 | if EXIST "%cd%\steamcmd.zip" goto extractcmd 250 | if EXIST "%userprofile%\downloads\steamcmd.zip" set foundcmd=2 251 | if EXIST "%userprofile%\downloads\steamcmd.zip" goto extractcmd 252 | goto extractcmd 253 | 254 | :extractcmd 255 | ping localhost -n 1 >NUL 256 | if EXIST steamcmd.exe goto start 257 | if '%foundcmd%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\steamcmd.zip\", \"$PWD\") }" 258 | if '%foundcmd%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\steamcmd.zip\", \"$PWD\") }" 259 | if EXIST steamcmd.exe ( 260 | echo ^Successfully installed SteamCMD to %cd% 261 | goto start 262 | ) 263 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 264 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 265 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 266 | if EXIST "%cd%\7-Zip\7z.exe" ( 267 | if '%foundcmd%'=='1' ( 268 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y steamcmd.zip 269 | ) 270 | if '%foundcmd%'=='2' ( 271 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y "%userprofile%\downloads\steamcmd.zip" 272 | ) 273 | if EXIST steamcmd.exe echo ^Successfully installed SteamCMD to %cd% 274 | ) 275 | goto start 276 | 277 | :instsourcem 278 | set synpath=steamapps\common\Synergy\synergy 279 | set syntype=56.16 280 | if NOT EXIST %synpath% goto notinstalled 281 | echo This will direct download the required SourceMod files and then extract them. 282 | echo It may take a few mins depending on your download speed. 283 | if EXIST "%synpath%\addons\sourcemod\metamod\sourcemod.vdf" ( 284 | echo "SourceMod is already installed, if you want to re-install, rename the current SourceMod install (addons) to addonsold and run this script again..." 285 | pause 286 | goto start ) 287 | set dlloc=0 288 | if EXIST "%userprofile%\downloads\sourcemod-1.10.0-git6443-windows.zip" set dlloc=2 289 | if EXIST "sourcemod-1.10.0-git6443-windows.zip" set dlloc=1 290 | if '%dlloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6443-windows.zip\",\"$PWD\sourcemod-1.10.0-git6443-windows.zip\") }" 291 | if EXIST "sourcemod-1.10.0-git6443-windows.zip" set dlloc=2 292 | set mmloc=0 293 | if EXIST "%userprofile%\downloads\mmsource-1.10.7-git959-windows.zip" set mmloc=2 294 | if EXIST "mmsource-1.10.7-git959-windows.zip" set mmloc=1 295 | if '%mmloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://mms.alliedmods.net/mmsdrop/1.10/mmsource-1.10.7-git959-windows.zip\",\"$PWD\mmsource-1.10.7-git959-windows.zip\") }" 296 | if EXIST "mmsource-1.10.7-git959-windows.zip" set mmloc=1 297 | set steamworksloc=0 298 | if EXIST "%userprofile%\downloads\SteamWorks-git121-windows.zip" set steamworksloc=2 299 | if EXIST "SteamWorks-git121-windows.zip" set steamworksloc=1 300 | if '%steamworksloc%'=='0' start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://users.alliedmods.net/~kyles/builds/SteamWorks/SteamWorks-git121-windows.zip\",\"$PWD\SteamWorks-git121-windows.zip\") }" 301 | if EXIST "SteamWorks-git121-windows.zip" set steamworksloc=1 302 | set dlloc=0 303 | if EXIST "%userprofile%\downloads\sourcemod-1.10.0-git6443-windows.zip" set dlloc=2 304 | if EXIST "sourcemod-1.10.0-git6443-windows.zip" set dlloc=1 305 | if '%dlloc%'=='0' goto dltowrong 306 | echo This may take a minute or two, just wait for the next message after PowerShell finishes extracting SourceMod... 307 | if '%dlloc%'=='1' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\sourcemod-1.10.0-git6443-windows.zip\", \"$PWD\$env:synpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\mmsource-1.10.7-git959-windows.zip\", \"$PWD\$env:synpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\downloads\SteamWorks-git121-windows.zip\", \"$PWD\$env:synpath\") }" 308 | if '%dlloc%'=='2' start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\sourcemod-1.10.0-git6443-windows.zip\", \"$PWD\$env:synpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\mmsource-1.10.7-git959-windows.zip\", \"$PWD\$env:synpath\"); [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\SteamWorks-git121-windows.zip\", \"$PWD\$env:synpath\") }" 309 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 310 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 311 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 312 | set use7z=0 313 | if NOT EXIST "%synpath%\addons\sourcemod" set use7z=1 314 | if '%use7z%'=='1' ( 315 | if '%dlloc%'=='1' ( 316 | start /min /wait "7z" "7-Zip\7z.exe" x -y sourcemod-1.10.0-git6443-windows.zip -o"%cd%\%synpath%" 317 | ) 318 | if '%dlloc%'=='2' ( 319 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\sourcemod-1.10.0-git6443-windows.zip" -o"%cd%\%synpath%" 320 | ) 321 | if '%mmloc%'=='1' ( 322 | start /min /wait "7z" "7-Zip\7z.exe" x -y mmsource-1.10.7-git959-windows.zip -o"%cd%\%synpath%" 323 | ) 324 | if '%mmloc%'=='2' ( 325 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\mmsource-1.10.7-git959-windows.zip" -o"%cd%\%synpath%" 326 | ) 327 | if '%steamworksloc%'=='1' ( 328 | start /min /wait "7z" "7-Zip\7z.exe" x -y SteamWorks-git121-windows.zip -o"%cd%\%synpath%" 329 | ) 330 | if '%steamworksloc%'=='2' ( 331 | start /min /wait "7z" "7-Zip\7z.exe" x -y "%userprofile%\downloads\SteamWorks-git121-windows.zip" -o"%cd%\%synpath%" 332 | ) 333 | ) 334 | if NOT EXIST "%synpath%\addons\sourcemod\gamedata\sdkhooks.games\custom" mkdir "%synpath%\addons\sourcemod\gamedata\sdkhooks.games\custom" 335 | if NOT EXIST "%synpath%\addons\sourcemod\gamedata\sdktools.games\custom" mkdir "%synpath%\addons\sourcemod\gamedata\sdktools.games\custom" 336 | if NOT EXIST "%synpath%\addons\metamod.vdf" ( 337 | echo Failed to auto-install SourceMod, you may have an outdated PowerShell, or something else went wrong somewhere. 338 | echo You should still be able to manually install it from the downloads earlier. 339 | pause 340 | goto start ) 341 | if NOT EXIST "%synpath%\addons\sourcemod\plugins\updater.smx" start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://bitbucket.org/GoD_Tony/updater/downloads/updater.smx\", \"$PWD\$env:synpath\addons\sourcemod\plugins\updater.smx\") }" 342 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/mapchooser.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\mapchooser.smx\") }" 343 | if NOT EXIST "%cd%\%synpath%\cfg\mapcyclecfg.txt" ( 344 | findstr d1 %synpath%\mapcycle.txt > %synpath%\cfg\mapcyclecfg.txt 345 | findstr d2 %synpath%\mapcycle.txt >> %synpath%\cfg\mapcyclecfg.txt 346 | findstr d3 %synpath%\mapcycle.txt >> %synpath%\cfg\mapcyclecfg.txt 347 | findstr ep1_ %synpath%\mapcycle.txt >> %synpath%\cfg\mapcyclecfg.txt 348 | findstr ep2_ %synpath%\mapcycle.txt >> %synpath%\cfg\mapcyclecfg.txt 349 | ) 350 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/nominations.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\nominations.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/edtrebuild.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\edtrebuild.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/healthdisplay.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\healthdisplay.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/translations/healthdisplay.phrases.txt\",\"$PWD\$env:synpath\addons\sourcemod\translations\healthdisplay.phrases.txt\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/translations/colors.phrases.txt\",\"$PWD\$env:synpath\addons\sourcemod\translations\colors.phrases.txt\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/synsaverestore.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\synsaverestore.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/synsweps.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\synsweps.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/synfixesdev.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\synfixesdev.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/enttools.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\enttools.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/votecar.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\votecar.smx\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/translations/votecar.phrases.txt\",\"$PWD\$env:synpath\addons\sourcemod\translations\votecar.phrases.txt\"); $WebClient.DownloadFile(\"https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/synsaverestore.smx\",\"$PWD\$env:synpath\addons\sourcemod\plugins\synsaverestore.smx\") }" 351 | set linkset=0 352 | if NOT EXIST "steamapps\workshop" mkdir "steamapps\workshop" 353 | if NOT EXIST "steamapps\workshop\content" mkdir "steamapps\workshop\content" 354 | if NOT EXIST "steamapps\workshop\content\17520" mkdir "steamapps\workshop\content\17520" 355 | ping localhost -n 1 >NUL 356 | fsutil reparsepoint query "steamapps\workshop\content\17520" | find "Mount Point" >nul && set "linkset=1" || set "linkset=0" 357 | if '%linkset%'=='0' ( 358 | start /wait /min robocopy /S /NP /NJS /NJH /NS "steamapps\workshop\content\17520" "steamapps\common\Synergy\synergy\custom" 359 | rd /Q /S "steamapps\workshop\content\17520" 360 | mklink /j "steamapps\workshop\content\17520" "steamapps\common\Synergy\synergy\custom" 361 | ) 362 | start /wait /min powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/yarik2720/Synergy-SM/archive/master.zip\",\"$PWD\$env:synpath\SMMapFixes.zip\") }" 363 | if EXIST "%synpath%\SMMapFixes.zip" ( 364 | start /min /wait "7z" "%cd%\7-Zip\7z.exe" x -y "%synpath%\SMMapFixes.zip" 365 | start /wait /min robocopy /S /NP /NJS /NJH /NS "%cd%\Synergy-SM-master" "steamapps\common\Synergy\synergy" 366 | rd /Q /S "%cd%\Synergy-SM-master" 367 | ) 368 | echo Now downloading the Mod Supports pack, this may take a while. 369 | steamcmd.exe +login anonymous +workshop_download_item 17520 2357833111 +quit 370 | echo. 371 | goto start 372 | 373 | :linksm 374 | if EXIST "%programfiles(x86)%\Steam\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "%programfiles(x86)%\Steam\steamapps\sourcemods" 375 | if EXIST "%programfiles(x86)%\Steam\steamapps\sourcemods" goto start 376 | if EXIST "E:\SteamLibrary\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "E:\SteamLibrary\steamapps\sourcemods" 377 | if EXIST "E:\SteamLibrary\steamapps\sourcemods" goto start 378 | if EXIST "D:\SteamLibrary\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "D:\SteamLibrary\steamapps\sourcemods" 379 | if EXIST "D:\SteamLibrary\steamapps\sourcemods" goto start 380 | if EXIST "F:\SteamLibrary\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "F:\SteamLibrary\steamapps\sourcemods" 381 | if EXIST "F:\SteamLibrary\steamapps\sourcemods" goto start 382 | if EXIST "E:\Steam\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "E:\Steam\steamapps\sourcemods" 383 | if EXIST "E:\Steam\steamapps\sourcemods" goto start 384 | if EXIST "D:\Steam\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "D:\Steam\steamapps\sourcemods" 385 | if EXIST "D:\Steam\steamapps\sourcemods" goto start 386 | if EXIST "F:\Steam\steamapps\sourcemods" mklink /j "steamapps\sourcemods" "F:\Steam\steamapps\sourcemods" 387 | if EXIST "F:\Steam\steamapps\sourcemods" goto start 388 | if NOT EXIST "steamapps\sourcemods" echo Could not find Sourcemods in CL directory. 389 | goto start 390 | 391 | :dltowrong 392 | echo SourceMod zip not in your users Download folder, or the SteamCMD folder, auto-install halted. 393 | echo Press any key to re-run the SourceMod install function... 394 | pause 395 | goto instsourcem 396 | 397 | :noanon 398 | if '%anonset%'=='2' ( 399 | echo You cannot use anonymous to install HL2... 400 | set username="" 401 | goto insthl2 402 | ) 403 | echo You cannot use anonymous to install Synergy... 404 | set anonset=1 405 | goto firstinstall 406 | -------------------------------------------------------------------------------- /Batch/halocustomeditionrotation.renametodotbat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This script was written by Balimbanana. 3 | rem //////////////////////////////If you are viewing this on GitHub, right click Raw above and click: 4 | rem //////////////////////////////Save Target As, or Save Linked Content As to download this script. 5 | rem //////////////////////////////Save the script as ending in .bat and run it. 6 | title Halo Custom Edition map rotations 7 | goto initvars 8 | :updater 9 | powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/Batch/halocustomeditionrotation.renametodotbat\",\"$PWD\halocustomeditionrotation.bat\") }" 10 | echo Updated... 11 | start /b "Halo Custom Edition map rotations" "%~dp0halocustomeditionrotation.bat" 12 | exit 13 | :start 14 | echo Information: enter the letter inside the () and press enter to continue at the prompts. 15 | echo You can change the map rotation you are using while in-game so long as you are not currently on a map 16 | echo (D) to download the map rotations 1, 2 and base files. (D2) to download map rotations 3 and 4. 17 | echo (info) to print map rotation information. 18 | if EXIST "%mccdir%\mapsrotation1\bloodgulch.map" ( 19 | echo ^(R1^) to use Map Rotation 1 ^(R2^) to use Map Rotation 2 20 | ) 21 | if EXIST "%mccdir%\mapsrotation3\bloodgulch.map" ( 22 | echo ^(R3^) to use Map Rotation 3 ^(R4^) to use Map Rotation 4 23 | ) 24 | echo (R) to reset to original maps 25 | echo (Update) to update this script. 26 | set /p uprun= 27 | for /f "delims=" %%V in ('powershell -command "$env:uprun.ToLower()"') do set "uprun=%%V" 28 | if "%uprun%"=="d2" goto dlsetupnext 29 | if "%uprun%"=="d" goto dlsetup 30 | if "%uprun%"=="info" goto printinfo 31 | if "%uprun%"=="r1" goto rotation1 32 | if "%uprun%"=="r2" goto rotation2 33 | if "%uprun%"=="r3" goto rotation3 34 | if "%uprun%"=="r4" goto rotation4 35 | if "%uprun%"=="r" goto resetmaps 36 | if "%uprun%"=="update" goto updater 37 | echo Choose an option. 38 | goto start 39 | 40 | :dlsetup 41 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 42 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 43 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 44 | if NOT EXIST "%mccdir%\mapsbak.7z" ( 45 | echo Creating backup of original maps 46 | start /wait "7z" "7-Zip\7z.exe" a "%mccdir%\mapsbak" "%mccdir%\maps" 47 | ) 48 | if NOT EXIST "%cd%\HCEBase.7z" ( 49 | echo Downloading base required files wait for next prompt... 50 | if NOT EXIST "%cd%\HCEBase.7z" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"http://thebdf.org/hce/HCEBase.7z\",\"$PWD\HCEBase.7z\") }" 51 | start /wait "7z" "7-Zip\7z.exe" x HCEBase.7z -o"%mccdir%\maps" 52 | ) 53 | if EXIST "%cd%\mapsrotation12.7z" goto extractmaps 54 | if NOT EXIST "%USERPROFILE%\downloads\mapsrotation12.7z" ( 55 | echo Opening download page for the maps rotations 1 and 2... 56 | start http://thebdf.org/hce/mapsrotation12.7z 57 | echo Wait until the download is finished, then run D again at the start prompt. 58 | pause 59 | goto start 60 | ) 61 | goto extractmaps 62 | 63 | :dlsetupnext 64 | rem need to ensure base files and 7Zip are available if someone wants part 3 and 4 but not 1 and 2 65 | if NOT EXIST "%cd%\7-Zip\7z.exe" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/7-Zip.zip\",\"$PWD\7zip.zip\") }" 66 | if EXIST "%cd%\7zip.zip" start /wait /min powershell -command "& {Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$PWD\7zip.zip\", \"$PWD\") }" 67 | if EXIST "%cd%\7zip.zip" del /Q "%cd%\7zip.zip" 68 | if NOT EXIST "%mccdir%\mapsbak.7z" ( 69 | echo Creating backup of original maps 70 | start /wait "7z" "7-Zip\7z.exe" a "%mccdir%\mapsbak" "%mccdir%\maps" 71 | ) 72 | if NOT EXIST "%cd%\HCEBase.7z" ( 73 | echo Downloading base required files wait for next prompt... 74 | if NOT EXIST "%cd%\HCEBase.7z" powershell -command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $WebClient = New-Object System.Net.WebClient; $WebClient.DownloadFile(\"http://thebdf.org/hce/HCEBase.7z\",\"$PWD\HCEBase.7z\") }" 75 | start /wait "7z" "7-Zip\7z.exe" x HCEBase.7z -o"%mccdir%\maps" 76 | ) 77 | if EXIST "%cd%\mapsrotation34.7z" goto extractmapsnext 78 | if NOT EXIST "%USERPROFILE%\downloads\mapsrotation34.7z" ( 79 | echo Opening download page for the maps rotations 3 and 4... 80 | start http://thebdf.org/hce/mapsrotation34.7z 81 | echo Wait until the download is finished, then run D2 again at the start prompt. 82 | pause 83 | goto start 84 | ) 85 | goto extractmapsnext 86 | 87 | :extractmaps 88 | if EXIST "%cd%\mapsrotation12.7z" ( 89 | start /wait "7z" "7-Zip\7z.exe" x "%cd%\mapsrotation12.7z" -o"%mccdir%" -y 90 | echo Extracted 91 | goto start 92 | ) 93 | if EXIST "%USERPROFILE%\downloads\mapsrotation12.7z" ( 94 | start /wait "7z" "7-Zip\7z.exe" x "%USERPROFILE%\downloads\mapsrotation12.7z" -o"%mccdir%" -y 95 | echo Extracted 96 | goto start 97 | ) 98 | goto start 99 | 100 | :extractmapsnext 101 | if EXIST "%cd%\mapsrotation34.7z" ( 102 | start /wait "7z" "7-Zip\7z.exe" x "%cd%\mapsrotation34.7z" -o"%mccdir%" -y 103 | echo Extracted 104 | goto start 105 | ) 106 | if EXIST "%USERPROFILE%\downloads\mapsrotation34.7z" ( 107 | start /wait "7z" "7-Zip\7z.exe" x "%USERPROFILE%\downloads\mapsrotation34.7z" -o"%mccdir%" -y 108 | echo Extracted 109 | goto start 110 | ) 111 | goto start 112 | 113 | :rotation1 114 | if EXIST "%mccdir%\mapsrotation1\bloodgulch.map" robocopy /E /IS "%mccdir%\mapsrotation1" "%mccdir%\maps" 115 | echo You now have rotation 1 maps... 116 | echo Make sure you launch MCC with Halo: MCC Anti-Cheat Disabled (Mods and Limited Services) 117 | goto start 118 | 119 | :rotation2 120 | if EXIST "%mccdir%\mapsrotation2\bloodgulch.map" robocopy /E /IS "%mccdir%\mapsrotation2" "%mccdir%\maps" 121 | echo You now have rotation 2 maps... 122 | echo Make sure you launch MCC with Halo: MCC Anti-Cheat Disabled (Mods and Limited Services) 123 | goto start 124 | 125 | :rotation3 126 | if EXIST "%mccdir%\mapsrotation3\bloodgulch.map" robocopy /E /IS "%mccdir%\mapsrotation3" "%mccdir%\maps" 127 | echo You now have rotation 3 maps... 128 | echo Make sure you launch MCC with Halo: MCC Anti-Cheat Disabled (Mods and Limited Services) 129 | goto start 130 | 131 | :rotation4 132 | if EXIST "%mccdir%\mapsrotation4\bloodgulch.map" robocopy /E /IS "%mccdir%\mapsrotation4" "%mccdir%\maps" 133 | echo You now have rotation 4 maps... 134 | echo Make sure you launch MCC with Halo: MCC Anti-Cheat Disabled (Mods and Limited Services) 135 | goto start 136 | 137 | :resetmaps 138 | if EXIST "%mccdir%\mapsbak.7z" start /wait "7z" "7-Zip\7z.exe" x "%mccdir%\mapsbak.7z" -o"%mccdir%" -y 139 | echo You now have default maps... 140 | goto start 141 | 142 | :notinstalled 143 | echo MCC Halo 1 not found. 144 | pause 145 | exit 146 | 147 | :printinfo 148 | echo Maps list order in-game 149 | echo map rotation 1 150 | echo battlecreek nowayout_MAD 151 | echo sidewinder Yoyorast Island V2 152 | echo damnation revelations 153 | echo rat race vertimad 154 | echo prisoner thepillarofautumnspace 155 | echo hang em high No_Remorse 156 | echo chill out Pimp Hogs 2 157 | echo derelict obsolete 158 | echo boarding action observatory 159 | echo chiron tl-34 mmt_sandtrap 160 | echo blood gulch Oasis 161 | echo wizard mech_gulch 162 | echo longest the-maw-muster 163 | echo death island septic_exodus 164 | echo danger canyon scarab_assault_v1 165 | echo infinity maw 166 | echo timberland Yoyorast_Island 167 | echo ice fields The_Land_of_Hyrule_v0.2 168 | echo gephyrophobia Massacre_Mountain_Race 169 | echo. 170 | echo map rotation 2 171 | echo battlecreek Abandoned Turf 172 | echo sidewinder [H2]_sanctuary 173 | echo damnation DMT-OD-Waterworks 174 | echo rat race [H2]_New_mombassa 175 | echo prisoner [H2]_ascension 176 | echo hang em high h2-snowing 177 | echo chill out base_havoc_beta 178 | echo derelict cmt_Snow_Grove 179 | echo boarding action cmt_tensity 180 | echo chiron tl-34 desertdunestwo 181 | echo blood gulch FusionIsland 182 | echo wizard [h3]_sandtrap_race 183 | echo longest rocketwinder 184 | echo death island haloball 185 | echo danger canyon hypothermia_v0.2 186 | echo infinity lake_bovatoya 187 | echo timberland [H2]_warlock 188 | echo ice fields h3t-coagulation 189 | echo gephyrophobia Launch_Bay_X 190 | echo. 191 | echo map rotation 3 192 | echo beavercreek aquarii_final 193 | echo sidewinder Armageddon 194 | echo damnation Train.Station 195 | echo ratrace bob_omb_battlefield 196 | echo prisoner boss_grounds 197 | echo hangemhigh ChaosGulch 198 | echo chillout extinction 199 | echo derelict ForestOfDeath 200 | echo boardingaction house2v2 201 | echo chiron tl-34 hugeass 202 | echo bloodgulch hugesnap_finalbeta 203 | echo wizard Hydrolysis 204 | echo longest hyrulefield 205 | echo deathisland immure 206 | echo dangercanyon immure2 207 | echo infinity Mystic 208 | echo timberland Nukem_INTENSE 209 | echo icefields rt_starwars_complete AI map 210 | echo gephyrophobia the_moon_hotel 211 | echo. 212 | echo map rotation 4 213 | echo all AI maps 214 | echo beavercreek ai_mombassa 215 | echo sidewinder area49 216 | echo damnation area50 217 | echo ratrace area51 218 | echo prisoner area52 219 | echo hangemhigh area53 220 | echo chillout area54 221 | echo derelict area55 222 | echo boardingaction b30coop 223 | echo chiron tl-34 floodcoviemarinewar 224 | echo bloodgulch act3 225 | echo wizard covenantbasev1.1 226 | echo longest the_mummy_7 227 | echo deathisland madnessp4 228 | echo dangercanyon sandtrap_ai 229 | echo infinity the_floods 230 | echo timberland the_floods_part2 231 | echo icefields the_floods_part3 232 | echo gephyrophobia rpg_beta_5_final_version 233 | goto start 234 | 235 | :initvars 236 | if EXIST "drivers\etc\hosts" cd "%~dp0" 237 | set "mccdir=C:\Program Files (x86)\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 238 | for /f "skip=2 tokens=1,3* delims== " %%i in ('reg QUERY HKEY_CURRENT_USER\Software\Valve\Steam /f SteamPath /t REG_SZ /v') do set "mccdir=%%j%%k" 239 | for /f "delims=" %%V in ('powershell -command "$env:mccdir.Replace(\"/\",\"\\\")"') do set "mccdir=%%V" 240 | for /f "delims=" %%V in ('powershell -command "$env:mccdir.Replace(\"programfiles\",\"\Program Files\")"') do set "mccdir=%%V" 241 | if EXIST "C:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=C:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 242 | if EXIST "E:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=E:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 243 | if EXIST "D:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=D:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 244 | if EXIST "F:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=F:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 245 | if EXIST "G:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=G:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 246 | if EXIST "L:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=L:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 247 | if EXIST "I:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=I:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 248 | if EXIST "C:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=C:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 249 | if EXIST "E:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=E:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 250 | if EXIST "D:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=D:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 251 | if EXIST "F:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=F:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 252 | if EXIST "G:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=G:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 253 | if EXIST "L:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=L:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 254 | if EXIST "I:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=I:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 255 | if EXIST "C:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=C:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 256 | if EXIST "E:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=E:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 257 | if EXIST "D:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=D:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 258 | if EXIST "F:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=F:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 259 | if EXIST "G:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=G:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 260 | if EXIST "L:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=L:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 261 | if EXIST "I:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=I:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 262 | if EXIST "C:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=C:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 263 | if EXIST "E:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=E:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 264 | if EXIST "D:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=D:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 265 | if EXIST "F:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=F:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 266 | if EXIST "G:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=G:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 267 | if EXIST "L:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=L:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 268 | if EXIST "I:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=I:\SteamLibrary\steamapps\common\Halo The Master Chief Collection\halo1" 269 | if EXIST "C:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=C:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 270 | if EXIST "E:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=E:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 271 | if EXIST "D:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=D:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 272 | if EXIST "F:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=F:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 273 | if EXIST "G:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=G:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 274 | if EXIST "L:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=L:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 275 | if EXIST "I:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=I:\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 276 | if EXIST "C:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=C:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 277 | if EXIST "E:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=E:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 278 | if EXIST "D:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=D:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 279 | if EXIST "F:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=F:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 280 | if EXIST "G:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=G:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 281 | if EXIST "L:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=L:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 282 | if EXIST "I:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" set "mccdir=I:\Program Files\Steam\steamapps\common\Halo The Master Chief Collection\halo1" 283 | if NOT EXIST "%mccdir%" goto notinstalled 284 | goto start 285 | -------------------------------------------------------------------------------- /PS/cptxt.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This script is to take a res file and copy out all the files it lists from a mod and place in the $tocp directory. 3 | # Useful when mods contain a whole lot of files you don't need, and have a .res file that has the specific files you want. 4 | $tocp = "modredux" 5 | $a = @() 6 | $il = cat ..\$tocp\mapname.res 7 | $a = $il 8 | for ($i = 0; $i -lt $a.Length; $i++){ 9 | $path = $a[$i] 10 | $path = $path.Trim() 11 | if ($path -like '*/*') { 12 | $path = $path.Replace("/","\") 13 | } 14 | if (($path -like '*.*') -and ($path -notlike '*.bz2*') -and ($path -notlike '*{*') -and ($path -notlike '*}*')) { 15 | write-host "$PWD\$path to ..\$tocp\$path" 16 | if (Test-Path($path)){ 17 | new-item -itemtype file -Force ..\$tocp\$path 18 | copy-item "$path" -Force -Destination ..\$tocp\$path 19 | } else { 20 | write-host "$path did not exist" 21 | $path>>cptxterr.txt 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /PS/linkdirs.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This script creates links from all the directories in the current directory and places links in $linksfrom 3 | # Creates the links in $linksfrom 4 | $a = @() 5 | $linksto = "$PWD" 6 | $linksfrom = "E:\rondom\ps\tst" 7 | $il = ls -Directory -Name 8 | $a = $il 9 | for ($i = 0; $i -lt $a.Length; $i++){ 10 | $path = $a[$i] 11 | if (!(Test-Path $linksfrom\$path)) { 12 | write-host "Link from: $linksfrom\$path to $linksto\$path" 13 | cmd /c mklink /d "$linksfrom\$path" "$linksto\$path" | Out-Null 14 | } 15 | } 16 | # You can change the above /d to a /j for junctions if needed. 17 | -------------------------------------------------------------------------------- /PS/lsrename.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This script renames all files named toreplace* to whichever you define. A simple script. 3 | $first = "toreplace*" 4 | $second = "replaced" 5 | ls $first | rename-item -newname { $_.name -replace $first, $second } 6 | -------------------------------------------------------------------------------- /PS/makethebz2s.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # NOTE: This will delete all files in the current directory and sub-directories after they have been converted to .bz2's. 3 | # This is to be used for complete mods. 4 | # Make a copy of all the required files and maps, and place in a separate directory, then CD to it and run this. 5 | # Then simply move this directory to your FastDL server, 6 | # and copy over the new .res files for said maps from the current directory to your servers maps directory. 7 | $resfi = "dontdeletethis.res" 8 | $a = @() 9 | $il = ls -name -recurse 10 | $a = $il 11 | $endmapsres = @() 12 | 13 | echo "`"resources`"" | Out-File -FilePath $resfi 14 | echo "{" | Out-File -FilePath $resfi -Append 15 | for ($i = 0; $i -lt $a.Length; $i++){ 16 | $path = $a[$i] 17 | if (($path -like '*.*') -and ($path -notlike '*.bz2*') -and ($path -notlike '*.ztmp*') -and ($path -notlike '*.res*')) { 18 | $path 19 | start-process "C:\Program Files\7-Zip\7z.exe" "a -tbzip2 -mx=9 -mmt=2 `"$path.bz2`" `"$path`"" -wait -windowstyle hidden 20 | if ($path -notlike '*.bsp*') { 21 | if ($path -like '*\*') { 22 | $path = $path.Replace("\","/") 23 | } 24 | echo " `"$path`" `"file`"" | Out-File -FilePath $resfi -Append 25 | } elseif ($path -notlike '*back*') { 26 | $pathedt = $path 27 | $pathedt = $pathedt.Replace("maps\","") 28 | $pathedt = $pathedt.Replace(".bsp","") 29 | echo "Will create .res for $pathedt" 30 | $endmapsres += $pathedt 31 | } 32 | rm $path 33 | } 34 | } 35 | echo "}" | Out-File -FilePath $resfi -Append 36 | 37 | if ($endmapsres.Length -gt 0) { 38 | $b = cat $resfi 39 | for ($i = 0; $i -lt $endmapsres.Length; $i++){ 40 | $path = $endmapsres[$i] 41 | for ($j = 0; $j -lt $b.Length; $j++){ 42 | $tmp = $b[$j] 43 | echo "$tmp" | Out-File -FilePath "$path.res" -Append} 44 | } 45 | rm $resfi 46 | } 47 | -------------------------------------------------------------------------------- /PS/makethecooptemplateedt.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This is used to create a template .edt of all maps in the current directory. 3 | # This template is for a starting point of single-player campaign maps 4 | $a = @() 5 | $il = ls "*.bsp" | % { [IO.Path]::GetFileNameWithoutExtension($_) } 6 | $a = $il 7 | for ($i = 0; $i -lt $a.Length; $i++){ 8 | $path = $a[$i] 9 | if ($a -isnot [array]) { 10 | $path = $a 11 | } 12 | if (!(Test-Path "$path.edt")) { 13 | echo "`"$path`"" > "$path.edt" 14 | echo "{" >> "$path.edt" 15 | echo " entity" >> "$path.edt" 16 | echo " {" >> "$path.edt" 17 | echo " delete {classname `"item_suit`"}" >> "$path.edt" 18 | echo " create {classname `"info_player_equip`"" >> "$path.edt" 19 | echo " values" >> "$path.edt" 20 | echo " {" >> "$path.edt" 21 | echo " item_suit `"1`"" >> "$path.edt" 22 | echo " item_armor `"45`"" >> "$path.edt" 23 | echo " }" >> "$path.edt" 24 | echo " }" >> "$path.edt" 25 | echo " edit {classname `"game_text`" values {spawnflags `"1`"} }" >> "$path.edt" 26 | echo " edit {classname `"func_areaportal`" values {targetname `"disabledPortal`" StartOpen `"1`"} }" >> "$path.edt" 27 | echo " edit {classname `"point_viewcontrol`" values {edt_addedspawnflags `"128`"} }" >> "$path.edt" 28 | echo " create {classname `"logic_auto`"" >> "$path.edt" 29 | echo " values" >> "$path.edt" 30 | echo " {" >> "$path.edt" 31 | echo " spawnflags `"1`"" >> "$path.edt" 32 | echo " OnMapSpawn `"weapon_crowbar,AddOutput,OnPlayerPickup cpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 33 | echo " OnMapSpawn `"weapon_crowbar,AddOutput,OnPlayerPickup cpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 34 | echo " OnMapSpawn `"weapon_pistol,AddOutput,OnPlayerPickup ppickup:Enable::0:-1,0,-1`"" >> "$path.edt" 35 | echo " OnMapSpawn `"weapon_pistol,AddOutput,OnPlayerPickup ppickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 36 | echo " OnMapSpawn `"weapon_357,AddOutput,OnPlayerPickup rpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 37 | echo " OnMapSpawn `"weapon_357,AddOutput,OnPlayerPickup rpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 38 | echo " OnMapSpawn `"weapon_smg1,AddOutput,OnPlayerPickup smgpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 39 | echo " OnMapSpawn `"weapon_smg1,AddOutput,OnPlayerPickup smgpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 40 | echo " OnMapSpawn `"weapon_ar2,AddOutput,OnPlayerPickup ar2pickup:Enable::0:-1,0,-1`"" >> "$path.edt" 41 | echo " OnMapSpawn `"weapon_ar2,AddOutput,OnPlayerPickup ar2pickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 42 | echo " OnMapSpawn `"weapon_shotgun,AddOutput,OnPlayerPickup bpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 43 | echo " OnMapSpawn `"weapon_shotgun,AddOutput,OnPlayerPickup bpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 44 | echo " OnMapSpawn `"weapon_crossbow,AddOutput,OnPlayerPickup xpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 45 | echo " OnMapSpawn `"weapon_crossbow,AddOutput,OnPlayerPickup xpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 46 | echo " OnMapSpawn `"weapon_frag,AddOutput,OnPlayerPickup fragpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 47 | echo " OnMapSpawn `"weapon_rpg,AddOutput,OnPlayerPickup rpgpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 48 | echo " OnMapSpawn `"weapon_rpg,AddOutput,OnPlayerPickup rpgpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 49 | echo " OnMapSpawn `"weapon_physcannon,AddOutput,OnPlayerPickup gpgpickup:Enable::0:-1,0,-1`"" >> "$path.edt" 50 | echo " OnMapSpawn `"weapon_physcannon,AddOutput,OnPlayerPickup gpgpickup:EquipAllPlayers::0.1:-1,0,-1`"" >> "$path.edt" 51 | echo " }" >> "$path.edt" 52 | echo " }" >> "$path.edt" 53 | echo " delete {classname `"point_clientcommand`"}" >> "$path.edt" 54 | echo " delete {classname `"point_servercommand`"}" >> "$path.edt" 55 | echo " create {classname `"info_player_equip`" values {targetname `"cpickup`" startdisabled `"1`" weapon_crowbar `"1`"} }" >> "$path.edt" 56 | echo " create {classname `"info_player_equip`" values {targetname `"ppickup`" startdisabled `"1`" weapon_pistol `"1`" ammo_pistol `"18`"} }" >> "$path.edt" 57 | echo " create {classname `"info_player_equip`" values {targetname `"rpickup`" startdisabled `"1`" weapon_357 `"1`" ammo_357 `"6`"} }" >> "$path.edt" 58 | echo " create {classname `"info_player_equip`" values {targetname `"smgpickup`" startdisabled `"1`" weapon_smg1 `"1`" ammo_smg1 `"45`"} }" >> "$path.edt" 59 | echo " create {classname `"info_player_equip`" values {targetname `"ar2pickup`" startdisabled `"1`" weapon_ar2 `"1`" ammo_ar2 `"30`"} }" >> "$path.edt" 60 | echo " create {classname `"info_player_equip`" values {targetname `"bpickup`" startdisabled `"1`" weapon_shotgun `"1`" ammo_buckshot `"12`"} }" >> "$path.edt" 61 | echo " create {classname `"info_player_equip`" values {targetname `"xpickup`" startdisabled `"1`" weapon_crossbow `"1`" ammo_xbowbolt `"5`"} }" >> "$path.edt" 62 | echo " create {classname `"info_player_equip`" values {targetname `"fragpickup`" startdisabled `"1`" weapon_frag `"1`"} }" >> "$path.edt" 63 | echo " create {classname `"info_player_equip`" values {targetname `"rpgpickup`" startdisabled `"1`" weapon_rpg `"1`" ammo_rpg_round `"2`"} }" >> "$path.edt" 64 | echo " create {classname `"info_player_equip`" values {targetname `"gpickup`" startdisabled `"1`" weapon_physcannon `"1`"} }" >> "$path.edt" 65 | echo " }" >> "$path.edt" 66 | echo "}" >> "$path.edt" 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /PS/makethedmtemplateedt.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This is used to create a template .edt of all maps in the current directory. 3 | # This template is for DM ported maps with info_player_rebel info_player_combine and respawning weapon pickups 4 | $a = @() 5 | $il = ls "*.bsp" | % { [IO.Path]::GetFileNameWithoutExtension($_) } 6 | $a = $il 7 | for ($i = 0; $i -lt $a.Length; $i++){ 8 | $path = $a[$i] 9 | if ($a -isnot [array]) { 10 | $path = $a 11 | } 12 | if (!(Test-Path "$path.edt")) { 13 | echo "`"$path`"" > "$path.edt" 14 | echo "{" >> "$path.edt" 15 | echo " console" >> "$path.edt" 16 | echo " {" >> "$path.edt" 17 | echo " mp_reset `"0`"" >> "$path.edt" 18 | echo " mp_weaponstay `"1`"" >> "$path.edt" 19 | echo " }" >> "$path.edt" 20 | echo " entity" >> "$path.edt" 21 | echo " {" >> "$path.edt" 22 | echo " delete {classname `"item_suit`"}" >> "$path.edt" 23 | echo " create {classname `"info_player_equip`"" >> "$path.edt" 24 | echo " values" >> "$path.edt" 25 | echo " {" >> "$path.edt" 26 | echo " item_suit `"1`"" >> "$path.edt" 27 | echo " item_armor `"45`"" >> "$path.edt" 28 | echo " weapon_physcannon `"1`"" >> "$path.edt" 29 | echo " weapon_crowbar `"1`"" >> "$path.edt" 30 | echo " weapon_pistol `"1`"" >> "$path.edt" 31 | echo " ammo_pistol `"54`"" >> "$path.edt" 32 | echo " weapon_357 `"1`"" >> "$path.edt" 33 | echo " ammo_357 `"6`"" >> "$path.edt" 34 | echo " weapon_smg1 `"1`"" >> "$path.edt" 35 | echo " ammo_smg1 `"45`"" >> "$path.edt" 36 | echo " weapon_ar2 `"1`"" >> "$path.edt" 37 | echo " ammo_ar2 `"60`"" >> "$path.edt" 38 | echo " weapon_shotgun `"1`"" >> "$path.edt" 39 | echo " ammo_buckshot `"6`"" >> "$path.edt" 40 | echo " weapon_crossbow `"1`"" >> "$path.edt" 41 | echo " ammo_xbowbolt `"6`"" >> "$path.edt" 42 | echo " weapon_frag `"1`"" >> "$path.edt" 43 | echo " }" >> "$path.edt" 44 | echo " }" >> "$path.edt" 45 | # echo " edit {classname `"game_text`" values {spawnflags `"1`"} }" >> "$path.edt" 46 | echo " create {classname `"logic_auto`"" >> "$path.edt" 47 | echo " values" >> "$path.edt" 48 | echo " {" >> "$path.edt" 49 | echo " spawnflags `"1`"" >> "$path.edt" 50 | echo " OnMapSpawn `"weapon_*,AddOutput,RespawnCount -1,0,-1`"" >> "$path.edt" 51 | echo " OnMapSpawn `"item_*,AddOutput,RespawnCount -1,0,-1`"" >> "$path.edt" 52 | echo " }" >> "$path.edt" 53 | echo " }" >> "$path.edt" 54 | echo " delete {classname `"point_clientcommand`"}" >> "$path.edt" 55 | echo " delete {classname `"point_servercommand`"}" >> "$path.edt" 56 | echo " edit {classname `"info_player_rebel`" values {classname `"info_player_coop`"} }" >> "$path.edt" 57 | echo " edit {classname `"info_player_deathmatch`" values {classname `"info_player_coop`"} }" >> "$path.edt" 58 | echo " edit {classname `"ai_relationship`" values {Reciprocal `"1`"} }" >> "$path.edt" 59 | echo " create {classname `"info_global_settings`" values {IsVehicleMap `"1`"} }" >> "$path.edt" 60 | echo " }" >> "$path.edt" 61 | echo "}" >> "$path.edt" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /PS/makethevmts.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This is for automatically creating vmt's for all the vtf's in the current directory. 3 | # Mainly used for map images for Mod Support's. 4 | $a = @() 5 | $il = ls "*.vtf" | % { [IO.Path]::GetFileNameWithoutExtension($_) } 6 | $a = $il 7 | for ($i = 0; $i -lt $a.Length; $i++){ 8 | $path = $a[$i] 9 | echo "`"UnlitGeneric`"" > "$path.vmt" 10 | echo "{" >> "$path.vmt" 11 | echo " `"`$basetexture`" `"vgui\maps\$path`"" >> "$path.vmt" 12 | echo " `"`$translucent`" 1" >> "$path.vmt" 13 | echo " `"`$ignorez`" 1" >> "$path.vmt" 14 | echo " `"`$vertexcolor`" 1" >> "$path.vmt" 15 | echo " `"`$vertexalpha`" 1" >> "$path.vmt" 16 | echo "}" >> "$path.vmt" 17 | } 18 | -------------------------------------------------------------------------------- /PS/reversebz2s.ps1: -------------------------------------------------------------------------------- 1 | # Written by: Balimbanana 2 | # This script is used to reverse all BZ2's in the current and sub-directories back to regular files. 3 | function setupvars() 4 | { 5 | #Step size is how many will be extracted at once, then stop for steptime 6 | $stepsize = 10 7 | #Step time is how many seconds to wait after stepsize has been completed 8 | $steptime = 2 9 | $a = @() 10 | $il = ls -name -recurse 11 | $a = $il 12 | $completed = 0 13 | startscr 14 | } 15 | 16 | function startscr() 17 | { 18 | for ($i = 0; $i -lt $a.Length; $i++){ 19 | $path = $a[$i] 20 | if ($completed -ge $stepsize) { 21 | Start-Sleep -Seconds $steptime 22 | $completed = 0 23 | } 24 | if ($path -like '*.bz2*') { 25 | passpaths($path) 26 | $completed++ 27 | } 28 | } 29 | for ($i = 0; $i -lt $a.Length; $i++){ 30 | $path = $a[$i] 31 | if ($path -like '*.bz2*') { 32 | rm $path 33 | } 34 | } 35 | } 36 | 37 | function passpaths($pathpassed) 38 | { 39 | write-host $pathpassed 40 | $fpos = $pathpassed.lastIndexOf("\") 41 | $afpos = $pathpassed.Substring(0,$fpos) 42 | start-process "C:\Program Files\7-Zip\7z.exe" "x -y `"$pathpassed`" -o`"$afpos`"" -windowstyle hidden 43 | } 44 | setupvars 45 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SourceScripts 2 | A repo for Source Engine related automated scripts. 3 | 4 | I also have a separate repo for SourceMod plugins here: https://github.com/Balimbanana/SM-Synergy/blob/master/ 5 | -------------------------------------------------------------------------------- /synotherfilefixes/7-Zip.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/7-Zip.zip -------------------------------------------------------------------------------- /synotherfilefixes/DownFall.dat: -------------------------------------------------------------------------------- 1 | "DownFall" 2 | { 3 | "tag" "df" 4 | "web" "http://store.steampowered.com/app/587650" 5 | "id" "587650" 6 | "root" "HL2DownFall" 7 | "path" "downfall" 8 | "sup" "4" 9 | "deps" "ep1 ep2" 10 | 11 | "maps" 12 | { 13 | dwn01 "" 14 | dwn01a "" 15 | dwn02 "" 16 | } 17 | 18 | "maps_background" 19 | { 20 | dwn_bg01 "" 21 | } 22 | } -------------------------------------------------------------------------------- /synotherfilefixes/EntropyZero.dat: -------------------------------------------------------------------------------- 1 | "Entropy: Zero" 2 | { 3 | "tag" "ezero" 4 | "web" "http://store.steampowered.com/app/714070/" 5 | "id" "714070" 6 | "root" "EntropyZero" 7 | "path" "EntropyZero" 8 | "sup" "1" 9 | "deps" "ep1 ep2" 10 | 11 | "maps" 12 | { 13 | az_intro "" 14 | az_c1_1 "" 15 | az_c1_2 "" 16 | az_c1_3 "" 17 | az_c2_1 "" 18 | az_c2_2 "" 19 | az_c2_3 "" 20 | az_c3_1 "" 21 | az_c3_2 "" 22 | az_c3_3 "" 23 | az_c4_1 "" 24 | az_c4_2 "" 25 | az_c4_3 "" 26 | az_c4_4 "" 27 | } 28 | 29 | "maps_background" 30 | { 31 | az_bg_default "" 32 | az_bg_night "" 33 | } 34 | } -------------------------------------------------------------------------------- /synotherfilefixes/addons/sourcemod/extensions/dhooks.ext.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/addons/sourcemod/extensions/dhooks.ext.so -------------------------------------------------------------------------------- /synotherfilefixes/addons/sourcemod/plugins/updater.smx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/addons/sourcemod/plugins/updater.smx -------------------------------------------------------------------------------- /synotherfilefixes/bmscripts.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/bmscripts.zip -------------------------------------------------------------------------------- /synotherfilefixes/lfe/gameinfo.txt: -------------------------------------------------------------------------------- 1 | "GameInfo" 2 | { 3 | game "Lambda Fortress: Extended Open Beta" 4 | type multiplayer_only 5 | GameData "tf_coop_extended.fgd" 6 | icon "resource/game" 7 | developer "LFE Team" 8 | developer_url "http://lfe.tf/" 9 | 10 | nomodels 1 11 | nohimodel 1 12 | nocrosshair 0 13 | advcrosshair 1 14 | supportsvr 0 15 | hasportals 0 16 | 17 | hidden_maps 18 | { 19 | "test_speakers" 1 20 | "test_hardware" 1 21 | "vst_lostcoast" 1 22 | "background1" 1 23 | "background2" 1 24 | "background01" 1 25 | "background02" 1 26 | "background03" 1 27 | "background04" 1 28 | "background05" 1 29 | "background06" 1 30 | "background07" 1 31 | "background08" 1 32 | "background09" 1 33 | "background12" 1 34 | "background15" 1 35 | "d3_c17_02_camera" 1 36 | "ep1_citadel_00_demo" 1 37 | "ep1_c17_02a_demo" 1 38 | "ep1_background01" 1 39 | "ep1_background01a" 1 40 | "ep1_background02" 1 41 | "ep2_background01" 1 42 | "ep2_background02" 1 43 | "ep2_background02a" 1 44 | "ep2_background03" 1 45 | "ep2_demo_01" 1 46 | "ep2_demo_02" 1 47 | "ep2_demo_05" 1 48 | "ep2_demo_06a" 1 49 | "ep2_demo_07" 1 50 | "ep2_demo_08" 1 51 | "ep2_demo_10" 1 52 | "devtest" 1 53 | "wasteland_test" 1 54 | "credits" 1 55 | "intro" 1 56 | } 57 | 58 | FileSystem 59 | { 60 | SteamAppId 243750 // Source SDK Base 2013 Multiplayer 61 | 62 | SearchPaths 63 | { 64 | // Firstly, mount all user customizations. This will search for VPKs and subfolders 65 | // and mount them in alphabetical order. The easiest way to distribute a mod is to 66 | // pack up the custom content into a VPK. To "install" a mod, just drop it in this 67 | // folder. 68 | // Note that this folder is scanned only when the game is booted. 69 | game+mod |gameinfo_path|custom/* 70 | 71 | // Search game's files after any user customizations. This is also where any writes should go. 72 | game+game_write+mod+mod_write+default_write_path |gameinfo_path|. 73 | 74 | // Where the game's binaries are. 75 | gamebin |gameinfo_path|bin 76 | 77 | // Search shared VPK files. 78 | game_lv hl2/hl2_lv.vpk 79 | game |all_source_engine_paths|hl2/hl2_textures.vpk 80 | game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk 81 | game |all_source_engine_paths|hl2/hl2_sound_misc.vpk 82 | game |all_source_engine_paths|hl2/hl2_misc.vpk 83 | platform |all_source_engine_paths|platform/platform_misc.vpk 84 | 85 | // Mount in shared loose files. 86 | game |all_source_engine_paths|hl2 87 | platform |all_source_engine_paths|platform 88 | 89 | // Random files downloaded from gameservers go into a seperate directory, so 90 | // that it's easy to keep those files segregated from the official game files 91 | // or customizations intentially installed by the user. 92 | // 93 | // This directory is searched LAST. If you visit a server and download 94 | // a custom model, etc, we don't want that file to override the default 95 | // game file indefinitely (after you have left the server). Servers CAN have 96 | // custom content that overrides the default game files, it just needs to be 97 | // packed up in the .bsp file so that it will be mounted as a map search pack. 98 | // The map search pack is mounted at the top of the search path list, 99 | // but only while you are connected that server and on that map. 100 | game+download |gameinfo_path|download 101 | } 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /synotherfilefixes/lfe/gamemounting.txt: -------------------------------------------------------------------------------- 1 | "gamemounting.txt" 2 | { 3 | "Team Fortress 2" [!$DEDICATED] 4 | { 5 | "appid" "440" 6 | "required" "1" 7 | 8 | "paths" 9 | { 10 | "local" "tf/tf2_textures.vpk" 11 | "local" "tf/tf2_sound_vo_english.vpk" 12 | "local" "tf/tf2_sound_misc.vpk" 13 | "local" "tf/tf2_misc.vpk" 14 | 15 | "dedicated" "tf/tf2_textures.vpk" 16 | "dedicated" "tf/tf2_sound_vo_english.vpk" 17 | "dedicated" "tf/tf2_sound_misc.vpk" 18 | "dedicated" "tf/tf2_misc.vpk" 19 | } 20 | } 21 | 22 | "Team Fortress 2 Dedicated Server" [$DEDICATED] 23 | { 24 | "appid" "232250" 25 | "required" "1" 26 | 27 | "paths" 28 | { 29 | "dedicated" "tf/tf2_textures.vpk" 30 | "dedicated" "tf/tf2_sound_vo_english.vpk" 31 | "dedicated" "tf/tf2_sound_misc.vpk" 32 | "dedicated" "tf/tf2_misc.vpk" 33 | } 34 | } 35 | 36 | "Half-Life 2" 37 | { 38 | "appid" "220" 39 | "required" "0" 40 | 41 | "paths" 42 | { 43 | "local" "ep2" 44 | "local" "ep2/ep2_sound_vo_english.vpk" 45 | "local" "ep2/ep2_pak.vpk" 46 | "local" "episodic" 47 | "local" "episodic/ep1_sound_vo_english.vpk" 48 | "local" "episodic/ep1_pak.vpk" 49 | 50 | "dedicated" "ep2" 51 | "dedicated" "ep2/ep2_sound_vo_english.vpk" 52 | "dedicated" "ep2/ep2_pak.vpk" 53 | "dedicated" "episodic" 54 | "dedicated" "episodic/ep1_sound_vo_english.vpk" 55 | "dedicated" "episodic/ep1_pak.vpk" 56 | } 57 | } 58 | 59 | "Half-Life 2" 60 | { 61 | "appid" "220" 62 | "required" "0" 63 | 64 | "paths" 65 | { 66 | "local" "episodic" 67 | "local" "episodic/ep1_sound_vo_english.vpk" 68 | "local" "episodic/ep1_pak.vpk" 69 | 70 | "dedicated" "episodic" 71 | "dedicated" "episodic/ep1_sound_vo_english.vpk" 72 | "dedicated" "episodic/ep1_pak.vpk" 73 | } 74 | } 75 | 76 | "Half-Life 2: Episode Two" 77 | { 78 | "appid" "420" 79 | "required" "0" 80 | 81 | "paths" 82 | { 83 | "local" "ep2" 84 | "local" "ep2/ep2_sound_vo_english.vpk" 85 | "local" "ep2/ep2_pak.vpk" 86 | "local" "episodic" 87 | "local" "episodic/ep1_sound_vo_english.vpk" 88 | "local" "episodic/ep1_pak.vpk" 89 | 90 | "dedicated" "ep2" 91 | "dedicated" "ep2/ep2_sound_vo_english.vpk" 92 | "dedicated" "ep2/ep2_pak.vpk" 93 | "dedicated" "episodic" 94 | "dedicated" "episodic/ep1_sound_vo_english.vpk" 95 | "dedicated" "episodic/ep1_pak.vpk" 96 | } 97 | } 98 | 99 | "Half-Life 2" 100 | { 101 | "appid" "220" 102 | "required" "0" 103 | 104 | "paths" 105 | { 106 | "local" "lostcoast" 107 | "local" "lostcoast/lostcoast_sound_vo_english.vpk" 108 | "local" "lostcoast/lostcoast_pak.vpk" 109 | 110 | "dedicated" "lostcoast" 111 | "dedicated" "lostcoast/lostcoast_sound_vo_english.vpk" 112 | "dedicated" "lostcoast/lostcoast_pak.vpk" 113 | } 114 | } 115 | 116 | "Portal" 117 | { 118 | "appid" "400" 119 | "required" "0" 120 | 121 | "paths" 122 | { 123 | "local" "portal" 124 | "local" "portal/portal_sound_vo_english.vpk" 125 | "local" "portal/portal_pak.vpk" 126 | 127 | "dedicated" "portal" 128 | "dedicated" "portal/portal_sound_vo_english.vpk" 129 | "dedicated" "portal/portal_pak.vpk" 130 | } 131 | } 132 | 133 | "Half-Life 2" 134 | { 135 | "appid" "220" 136 | "required" "0" 137 | 138 | "paths" 139 | { 140 | "local" "hl1" 141 | "local" "hl1/hl1_sound_vo_english.vpk" 142 | "local" "hl1/hl1_pak.vpk" 143 | 144 | "dedicated" "hl1" 145 | "dedicated" "hl1/hl1_sound_vo_english.vpk" 146 | "dedicated" "hl1/hl1_pak.vpk" 147 | } 148 | } 149 | } 150 | -------------------------------------------------------------------------------- /synotherfilefixes/libcurl.so.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/libcurl.so.7z -------------------------------------------------------------------------------- /synotherfilefixes/portalscenes.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/portalscenes.7z -------------------------------------------------------------------------------- /synotherfilefixes/scripts/talker/player/humans.txt: -------------------------------------------------------------------------------- 1 | 2 | // ============================================ 3 | // AUTOMATIC RESPONSES 4 | // ============================================ 5 | 6 | // TLK_PLAYER_HELLO - currently not spoken 7 | 8 | // using CitizenHello 9 | rule PlayerHello 10 | { 11 | criteria ConceptPlayerHello IsPlayer 12 | response CitizenHello 13 | } 14 | 15 | // TLK_PLAYER_BEHIND - speak this when there is an enemy behind a player you are looking at 16 | 17 | response PlayerResponseBehindYou 18 | { 19 | scene "scenes/npc/$gender01/behindyou01.vcd" 20 | scene "scenes/npc/$gender01/behindyou01.vcd" weight 2 21 | } 22 | 23 | rule PlayerBehindYou 24 | { 25 | criteria ConceptPlayerBehind IsPlayer 26 | response PlayerResponseBehindYou 27 | } 28 | 29 | // TLK_PLAYER_RELOAD - speak this when player reloads and there are teammates nearby 30 | 31 | response PlayerResponseReloading 32 | { 33 | scene "scenes/npc/$gender01/coverwhilereload01.vcd" weight 2 34 | scene "scenes/npc/$gender01/coverwhilereload02.vcd" 35 | } 36 | 37 | rule PlayerReloading 38 | { 39 | criteria ConceptPlayerCoverReload IsPlayer 40 | response PlayerResponseReloading 41 | } 42 | 43 | // TLK_PLAYER_PAIN 44 | 45 | response PlayerResponsePain 46 | { 47 | permitrepeats 48 | scene "scenes/npc/$gender01/pain01.vcd" delay 3 49 | scene "scenes/npc/$gender01/pain02.vcd" delay 3 50 | scene "scenes/npc/$gender01/pain03.vcd" delay 3 51 | scene "scenes/npc/$gender01/pain04.vcd" delay 3 52 | scene "scenes/npc/$gender01/pain05.vcd" delay 3 53 | scene "scenes/npc/$gender01/pain06.vcd" delay 3 54 | scene "scenes/npc/$gender01/pain07.vcd" delay 3 55 | scene "scenes/npc/$gender01/pain08.vcd" delay 3 56 | scene "scenes/npc/$gender01/pain09.vcd" delay 3 57 | scene "scenes/npc/$gender01/ow01.vcd" delay 3 58 | scene "scenes/npc/$gender01/ow02.vcd" delay 3 59 | scene "scenes/npc/$gender01/myarm01.vcd" delay 3 60 | scene "scenes/npc/$gender01/myarm02.vcd" delay 3 61 | scene "scenes/npc/$gender01/mygut02.vcd" delay 3 62 | scene "scenes/npc/$gender01/myleg01.vcd" delay 3 63 | scene "scenes/npc/$gender01/myleg02.vcd" delay 3 64 | } 65 | 66 | rule PlayerPain 67 | { 68 | criteria ConceptPlayerPain IsPlayer 69 | response PlayerResponsePain 70 | } 71 | 72 | // TLK_PLAYER_GIVEAMMO 73 | 74 | response PlayerResponseGiveAmmo 75 | { 76 | // scene "scenes/npc/$gender01/ammo01.vcd" delay 0 77 | // scene "scenes/npc/$gender01/ammo02.vcd" delay 0 78 | scene "scenes/npc/$gender01/ammo03.vcd" delay 0 79 | scene "scenes/npc/$gender01/ammo04.vcd" delay 0 80 | scene "scenes/npc/$gender01/ammo05.vcd" delay 0 81 | } 82 | 83 | rule PlayerGiveAmmo 84 | { 85 | criteria ConceptPlayerGiveAmmo IsPlayer 86 | response PlayerResponseGiveAmmo 87 | } 88 | 89 | // TLK_PLAYER_GIVEHEALTH 90 | 91 | response PlayerResponseGiveHealth 92 | { 93 | scene "scenes/npc/$gender01/health01.vcd" delay 0 94 | scene "scenes/npc/$gender01/health02.vcd" delay 0 95 | scene "scenes/npc/$gender01/health03.vcd" delay 0 96 | scene "scenes/npc/$gender01/health04.vcd" delay 0 97 | scene "scenes/npc/$gender01/health05.vcd" delay 0 98 | } 99 | 100 | rule PlayerGiveHealth 101 | { 102 | criteria ConceptPlayerGiveHealth IsPlayer 103 | response PlayerResponseGiveHealth 104 | } 105 | 106 | // TLK_PLAYER_TAUNT 107 | 108 | response PlayerResponseTauntMale 109 | { 110 | scene "scenes/npc/$gender01/nice.vcd" 111 | scene "scenes/npc/$gender01/oneforme.vcd" 112 | scene "scenes/npc/$gender01/evenodds.vcd" 113 | } 114 | 115 | response PlayerResponseTaunt 116 | { 117 | scene "scenes/npc/$gender01/gotone01.vcd" 118 | scene "scenes/npc/$gender01/gotone02.vcd" 119 | scene "scenes/npc/$gender01/likethat.vcd" 120 | 121 | scene "scenes/npc/$gender01/fantastic01.vcd" 122 | scene "scenes/npc/$gender01/fantastic02.vcd" 123 | 124 | scene "scenes/npc/$gender01/goodgod.vcd" 125 | } 126 | 127 | rule PlayerTaunt 128 | { 129 | criteria ConceptPlayerTaunt IsPlayer 130 | response PlayerResponseTaunt 131 | } 132 | 133 | // TLK_PLAYER_DEAD 134 | // TLK_PLAYER_DEAD_ANSWER 135 | 136 | response PlayerResponseDeadQuestion 137 | { 138 | scene "scenes/npc/$gender01/gordead_ques01.vcd" 139 | scene "scenes/npc/$gender01/gordead_ques02.vcd" 140 | scene "scenes/npc/$gender01/gordead_ques06.vcd" 141 | scene "scenes/npc/$gender01/gordead_ques07.vcd" 142 | scene "scenes/npc/$gender01/gordead_ques10.vcd" 143 | scene "scenes/npc/$gender01/gordead_ques11.vcd" 144 | //Trav|Edt - Add more DeadQuestions 145 | scene "scenes/npc/$gender01/question05.vcd" 146 | scene "scenes/npc/$gender01/question06.vcd" 147 | scene "scenes/npc/$gender01/question10.vcd" 148 | scene "scenes/npc/$gender01/question11.vcd" 149 | scene "scenes/npc/$gender01/question12.vcd" 150 | scene "scenes/npc/$gender01/question14.vcd" 151 | scene "scenes/npc/$gender01/question16.vcd" 152 | scene "scenes/npc/$gender01/question17.vcd" 153 | scene "scenes/npc/$gender01/question18.vcd" 154 | scene "scenes/npc/$gender01/question20.vcd" 155 | scene "scenes/npc/$gender01/question21.vcd" 156 | scene "scenes/npc/$gender01/question25.vcd" 157 | scene "scenes/npc/$gender01/question26.vcd" 158 | scene "scenes/npc/$gender01/question30.vcd" 159 | scene "scenes/npc/$gender01/no01.vcd" 160 | scene "scenes/npc/$gender01/no02.vcd" 161 | scene "scenes/npc/$gender01/ohno.vcd" 162 | //EP1 scenes (players w/o eps mounted will hear nothing, so keep episodic stuff to autoresponces only) 163 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled02.vcd" 164 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled03.vcd" 165 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled04.vcd" 166 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled07.vcd" 167 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled08.vcd" 168 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled11.vcd" 169 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled12.vcd" 170 | scene "scenes/episode_1/npc/$gender01/cit_buddykilled13.vcd" 171 | scene "scenes/episode_1/npc/$gender01/cit_evac_casualty02.vcd" 172 | scene "scenes/episode_1/npc/$gender01/cit_evac_casualty03.vcd" 173 | scene "scenes/episode_1/npc/$gender01/cit_evac_casualty05.vcd" 174 | scene "scenes/episode_1/npc/$gender01/cit_evac_casualty09.vcd" 175 | scene "scenes/episode_1/npc/$gender01/cit_evac_defendus06.vcd" 176 | scene "scenes/episode_1/npc/$gender01/cit_notice_gravgunkill03.vcd" 177 | scene "scenes/episode_1/npc/$gender01/cit_remarks04.vcd" 178 | scene "scenes/episode_1/npc/$gender01/cit_remarks18.vcd" 179 | 180 | } 181 | 182 | response PlayerResponseDeadAnswer 183 | { 184 | scene "scenes/npc/$gender01/gordead_ans02.vcd" 185 | scene "scenes/npc/$gender01/gordead_ans03.vcd" 186 | scene "scenes/npc/$gender01/gordead_ans04.vcd" 187 | scene "scenes/npc/$gender01/gordead_ans05.vcd" 188 | scene "scenes/npc/$gender01/gordead_ans06.vcd" 189 | scene "scenes/npc/$gender01/gordead_ans07.vcd" 190 | scene "scenes/npc/$gender01/gordead_ans08.vcd" 191 | scene "scenes/npc/$gender01/gordead_ans09.vcd" 192 | scene "scenes/npc/$gender01/gordead_ans10.vcd" 193 | scene "scenes/npc/$gender01/gordead_ans14.vcd" 194 | scene "scenes/npc/$gender01/gordead_ans15.vcd" 195 | scene "scenes/npc/$gender01/gordead_ans18.vcd" 196 | scene "scenes/npc/$gender01/gordead_ans19.vcd" 197 | scene "scenes/npc/$gender01/gordead_ans20.vcd" 198 | //Trav|Edt - Add Scenes 199 | scene "scenes/npc/$gender01/gordead_ans01.vcd" 200 | scene "scenes/npc/$gender01/gordead_ans11.vcd" 201 | scene "scenes/npc/$gender01/gordead_ans12.vcd" 202 | scene "scenes/npc/$gender01/gordead_ans13.vcd" 203 | scene "scenes/npc/$gender01/gordead_ans16.vcd" 204 | scene "scenes/npc/$gender01/gordead_ans17.vcd" 205 | scene "scenes/npc/$gender01/answer03.vcd" 206 | scene "scenes/npc/$gender01/answer04.vcd" 207 | scene "scenes/npc/$gender01/answer11.vcd" 208 | scene "scenes/npc/$gender01/answer16.vcd" 209 | scene "scenes/npc/$gender01/answer18.vcd" 210 | scene "scenes/npc/$gender01/answer25.vcd" 211 | scene "scenes/npc/$gender01/answer28.vcd" 212 | scene "scenes/npc/$gender01/answer36.vcd" 213 | scene "scenes/npc/$gender01/answer37.vcd" 214 | scene "scenes/npc/$gender01/answer40.vcd" 215 | } 216 | 217 | rule PlayerDeadPlayerQuestion 218 | { 219 | criteria ConceptPlayerDeadPlayer IsPlayer 220 | response PlayerResponseDeadQuestion 221 | } 222 | 223 | rule PlayerDeadPlayerAnswer 224 | { 225 | criteria ConceptPlayerDeadPlayerAnswer IsPlayer 226 | response PlayerResponseDeadAnswer 227 | } 228 | 229 | // ============================================ 230 | // MANUAL RESPONSES 231 | // ============================================ 232 | 233 | // TLK_PLAYER_HELP 234 | 235 | response PlayerResponseHelp 236 | { 237 | scene "scenes/player/$gender01/help01.vcd" delay 0 weight 3 238 | scene "scenes/player/$gender01/help02.vcd" delay 0 239 | scene "scenes/player/$gender01/help03.vcd" delay 0 240 | } 241 | 242 | rule PlayerHelp 243 | { 244 | criteria ConceptPlayerHelp IsPlayer 245 | response PlayerResponseHelp 246 | } 247 | 248 | // TLK_PLAYER_THANKS 249 | 250 | response PlayerResponseThanks 251 | { 252 | // TODO: stick some scenes in here 253 | } 254 | 255 | rule PlayerThanks 256 | { 257 | criteria ConceptPlayerThanks IsPlayer 258 | response PlayerResponseThanks 259 | } 260 | 261 | // TLK_PLAYER_INCOMING 262 | 263 | response PlayerResponseIncoming 264 | { 265 | scene "scenes/npc/$gender01/watchout.vcd" 266 | scene "scenes/npc/$gender01/headsup02.vcd" 267 | scene "scenes/npc/$gender01/incoming02.vcd" 268 | scene "scenes/npc/$gender01/headsup01.vcd" 269 | //Trav|Edt - Add Scenes 270 | scene "scenes/npc/$gender01/uhoh.vcd" 271 | scene "scenes/npc/$gender01/strider_run.vcd" 272 | scene "scenes/npc/$gender01/behindyou01.vcd" 273 | scene "scenes/npc/$gender01/behindyou02.vcd" 274 | scene "scenes/npc/$gender01/getdown02.vcd" 275 | scene "scenes/npc/$gender01/gethellout.vcd" 276 | scene "scenes/npc/$gender01/heretheycome01.vcd" 277 | scene "scenes/npc/$gender01/takecover02.vcd" 278 | } 279 | 280 | rule PlayerIncoming 281 | { 282 | criteria ConceptPlayerIncoming IsPlayer 283 | response PlayerResponseIncoming 284 | } 285 | 286 | // TLK_PLAYER_ENEMY 287 | 288 | rule PlayerEnemy 289 | { 290 | criteria ConceptPlayerEnemy IsPlayer 291 | 292 | // response PlayerResponseEnemy 293 | response PlayerResponseIncoming // TODO: find sounds that are more like "I see an enemy" 294 | } 295 | 296 | // TODO: at some point, move away from using these npc_citizen responses 297 | 298 | // using CitizenCombineGroup 299 | rule PlayerEnemyCombine 300 | { 301 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsCombine 302 | response CitizenCombineGroup 303 | } 304 | 305 | // using CitizenHeadcrabGroup 306 | rule PlayerEnemyHeadcrab 307 | { 308 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsHeadcrab 309 | response CitizenHeadcrabGroup 310 | } 311 | 312 | rule PlayerEnemyHeadcrabBlack 313 | { 314 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsHeadcrabBlack 315 | response CitizenHeadcrabGroup 316 | } 317 | 318 | rule PlayerEnemyHeadcrabPoison 319 | { 320 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsHeadcrabPoison 321 | response CitizenHeadcrabGroup 322 | } 323 | 324 | rule PlayerEnemyHeadcrabFast 325 | { 326 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsHeadcrabFast 327 | response CitizenHeadcrabGroup 328 | } 329 | 330 | rule PlayerEnemyZombie 331 | { 332 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsZombie 333 | response CitizenZombieGroup 334 | } 335 | 336 | rule PlayerEnemyZombieTorso 337 | { 338 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsZombieTorso 339 | response CitizenZombieGroup 340 | } 341 | 342 | rule PlayerEnemyZombieBlack 343 | { 344 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsZombieBlack 345 | response CitizenZombieGroup 346 | } 347 | 348 | rule PlayerEnemyZombieFast 349 | { 350 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsZombieFast 351 | response CitizenZombieGroup 352 | } 353 | 354 | rule PlayerEnemyScanner 355 | { 356 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsScanner 357 | response CitizenScannersGroup 358 | } 359 | 360 | response PlayerEnemyStriderGroup 361 | { 362 | scene "scenes/npc/$gender01/strider.vcd" 363 | } 364 | 365 | rule PlayerEnemyStrider 366 | { 367 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsStrider 368 | response PlayerEnemyStriderGroup 369 | } 370 | 371 | rule PlayerEnemyManhack 372 | { 373 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsManhack 374 | response CitizenManhacksGroup 375 | } 376 | 377 | rule PlayerEnemyMetro 378 | { 379 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsMetro 380 | response CitizenMetroGroup 381 | } 382 | 383 | rule PlayerEnemyZombine 384 | { 385 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsZombine 386 | response CitizenZombieGroup 387 | } 388 | 389 | rule PlayerEnemyHunter 390 | { 391 | criteria ConceptPlayerEnemy IsPlayer PlayerEnemyIsHunter 392 | response CitizenCombineGroup 393 | } 394 | 395 | // TLK_PLAYER_FOLLOW 396 | 397 | response PlayerResponseFollow 398 | { 399 | scene "scenes/npc/$gender01/squad_away03.vcd" weight 4 400 | scene "scenes/npc/$gender01/squad_follow02.vcd" 401 | scene "scenes/npc/$gender01/squad_follow03.vcd" 402 | scene "scenes/npc/$gender01/squad_away01.vcd" weight 3 403 | scene "scenes/npc/$gender01/squad_away02.vcd" 404 | //Trav|Edt - add more Follow scenes 405 | scene "scenes/npc/$gender01/overhere01.vcd" 406 | } 407 | 408 | rule PlayerFollow 409 | { 410 | criteria ConceptPlayerFollow IsPlayer 411 | response PlayerResponseFollow 412 | } 413 | 414 | // TLK_PLAYER_LEAD 415 | 416 | response PlayerResponseLeadOn 417 | { 418 | scene "scenes/npc/$gender01/leadtheway01.vcd" 419 | scene "scenes/npc/$gender01/leadtheway02.vcd" 420 | } 421 | 422 | rule PlayerLeadOn 423 | { 424 | criteria ConceptPlayerLead IsPlayer 425 | response PlayerResponseLeadOn 426 | } 427 | 428 | // TLK_PLAYER_GO 429 | 430 | response PlayerResponseLetsGo 431 | { 432 | scene "scenes/npc/$gender01/letsgo01.vcd" 433 | scene "scenes/npc/$gender01/letsgo02.vcd" 434 | //Trav|Edt - add more LetsGo scenes 435 | scene "scenes/npc/$gender01/doingsomething.vcd" 436 | scene "scenes/npc/$gender01/getgoingsoon.vcd" 437 | scene "scenes/npc/$gender01/waitingsomebody.vcd" 438 | } 439 | 440 | rule PlayerLetsGo 441 | { 442 | criteria ConceptPlayerGo IsPlayer 443 | response PlayerResponseLetsGo 444 | } 445 | 446 | 447 | -------------------------------------------------------------------------------- /synotherfilefixes/scripts/vehicles/jeep_elite.txt: -------------------------------------------------------------------------------- 1 | // This is a test jeep type vehicle for the wasteland 2 | 3 | "vehicle" 4 | { 5 | "wheelsperaxle" "2" 6 | "body" 7 | { 8 | "countertorquefactor" "0.9" 9 | "massCenterOverride" "0 -30 12" 10 | "massoverride" "1000" // kg 11 | "addgravity" "0.50" 12 | "maxAngularVelocity" "720" 13 | } 14 | "engine" 15 | { 16 | "horsepower" "350" 17 | "maxrpm" "4200" 18 | "maxspeed" "35" // mph 19 | "maxReverseSpeed" "14" // mph 20 | "autobrakeSpeedGain" "1.1" // 10% speed gain while coasting, put on the brakes after that 21 | "autobrakeSpeedFactor" "3.0" // Brake is this times the speed gain 22 | "autotransmission" "1" 23 | "axleratio" "4.56" 24 | "gear" "3.2" // 1st gear 25 | "gear" "2.4" // 2nd gear 26 | "gear" "1.5" // 3rd gear 27 | "gear" "1.0" // 4th gear 28 | "gear" "0.84" // 5th gear 29 | "shiftuprpm" "3800" 30 | "shiftdownrpm" "1600" 31 | 32 | "boost" 33 | { 34 | "force" "1.5" // 1.5 car body mass * gravity * inches / second ^ 2 35 | "duration" "3.0" // 3.0 second of boost 36 | "delay" "3.0" // 3 seconds before you can use it again 37 | "torqueboost" "1" // enable "sprint" mode of vehicle, not force type booster 38 | "maxspeed" "50" // maximum turbo speed 39 | } 40 | } 41 | "steering" 42 | { 43 | "degreesSlow" "50" // steering cone at zero to slow speed 44 | "degreesFast" "18" // steering cone at fast speed to max speed 45 | "degreesBoost" "11" // steering cone at max boost speed (blend toward this after max speed) 46 | "steeringExponent" "1.4" // steering function is linear, then raised to this power to be slower at the beginning of the curve, faster at the end 47 | "slowcarspeed" "14" 48 | "fastcarspeed" "20" 49 | "slowSteeringRate" "4.0" 50 | "fastSteeringRate" "2.0" 51 | "steeringRestRateSlow" "4.0" 52 | "steeringRestRateFast" "2.0" 53 | "turnThrottleReduceSlow" "0.01" 54 | "turnThrottleReduceFast" "2.0" 55 | "brakeSteeringRateFactor" "6" 56 | "throttleSteeringRestRateFactor" "2" 57 | "boostSteeringRestRateFactor" "1.7" 58 | "boostSteeringRateFactor" "1.7" 59 | 60 | "powerSlideAccel" "250" 61 | 62 | "skidallowed" "1" 63 | "dustcloud" "1" 64 | 65 | } 66 | 67 | // front axle 68 | "axle" 69 | { 70 | "wheel" 71 | { 72 | "radius" "18" 73 | "mass" "100" 74 | "damping" "0" 75 | "rotdamping" "0.0" 76 | "material" "jeeptire" 77 | "skidmaterial" "slidingrubbertire" 78 | "brakematerial" "brakingrubbertire" 79 | } 80 | "suspension" 81 | { 82 | "springConstant" "40" 83 | "springDamping" "0.7" 84 | "stabilizerConstant" "10" 85 | "springDampingCompression" "9" 86 | "maxBodyForce" "9" 87 | } 88 | 89 | "torquefactor" "0.3" 90 | "brakefactor" "0.4" 91 | } 92 | 93 | // rear axle 94 | "axle" 95 | { 96 | "wheel" 97 | { 98 | "radius" "22" 99 | "mass" "100" 100 | "damping" "0" 101 | "rotdamping" "0.0" 102 | "material" "jeeptire" 103 | "skidmaterial" "slidingrubbertire" 104 | "brakematerial" "brakingrubbertire" 105 | } 106 | "suspension" 107 | { 108 | "springConstant" "40" 109 | "springDamping" "0.7" 110 | "stabilizerConstant" "10" 111 | "springDampingCompression" "9" 112 | "maxBodyForce" "9" 113 | } 114 | "torquefactor" "0.7" 115 | "brakefactor" "0.6" 116 | } 117 | } 118 | 119 | "vehicle_sounds" 120 | { 121 | // List gears in order from lowest speed to highest speed 122 | 123 | "gear" 124 | { 125 | "max_speed" "0.27" 126 | "speed_approach_factor" "1.0" 127 | } 128 | 129 | "gear" 130 | { 131 | "max_speed" "0.5" 132 | "speed_approach_factor" "0.05" 133 | } 134 | "gear" 135 | { 136 | "max_speed" "0.75" 137 | "speed_approach_factor" "0.052" 138 | } 139 | "gear" 140 | { 141 | "max_speed" "0.95" 142 | "speed_approach_factor" "0.034" 143 | } 144 | "gear" 145 | { 146 | "max_speed" "1.5" 147 | "speed_approach_factor" "0.033" 148 | } 149 | "gear" 150 | { 151 | "max_speed" "2.0" 152 | "speed_approach_factor" "0.03" 153 | } 154 | "state" 155 | { 156 | "name" "SS_START_WATER" 157 | "sound" "eATV_start_in_water" 158 | } 159 | 160 | "state" 161 | { 162 | "name" "SS_START_IDLE" 163 | "sound" "eATV_engine_start" 164 | "min_time" "4.0" 165 | } 166 | "state" 167 | { 168 | "name" "SS_SHUTDOWN_WATER" 169 | "sound" "eATV_stall_in_water" 170 | } 171 | "state" 172 | { 173 | "name" "SS_IDLE" 174 | "sound" "eATV_engine_idle" 175 | } 176 | "state" 177 | { 178 | "name" "SS_REVERSE" 179 | "sound" "eATV_reverse" 180 | "min_time" "0.5" 181 | } 182 | "state" 183 | { 184 | "name" "SS_GEAR_0" 185 | "sound" "eATV_rev" 186 | "min_time" "0.5" 187 | } 188 | "state" 189 | { 190 | "name" "SS_GEAR_0_RESUME" 191 | "sound" "eATV_engine_idle" 192 | "min_time" "0.75" 193 | } 194 | "state" 195 | { 196 | "name" "SS_GEAR_1" 197 | "sound" "eATV_firstgear" 198 | "min_time" "0.5" 199 | } 200 | "state" 201 | { 202 | "name" "SS_GEAR_1_RESUME" 203 | "sound" "eATV_firstgear_noshift" 204 | "min_time" "0.5" 205 | } 206 | "state" 207 | { 208 | "name" "SS_GEAR_2" 209 | "sound" "eATV_secondgear" 210 | "min_time" "0.5" 211 | } 212 | "state" 213 | { 214 | "name" "SS_GEAR_2_RESUME" 215 | "sound" "eATV_secondgear_noshift" 216 | "min_time" "0.5" 217 | } 218 | "state" 219 | { 220 | "name" "SS_GEAR_3" 221 | "sound" "eATV_thirdgear" 222 | "min_time" "0.5" 223 | } 224 | "state" 225 | { 226 | "name" "SS_GEAR_3_RESUME" 227 | "sound" "eATV_thirdgear_noshift" 228 | "min_time" "0.5" 229 | } 230 | "state" 231 | { 232 | "name" "SS_GEAR_4" 233 | "sound" "eATV_fourthgear" 234 | "min_time" "0.5" 235 | } 236 | "state" 237 | { 238 | "name" "SS_GEAR_4_RESUME" 239 | "sound" "eATV_fourthgear_noshift" 240 | "min_time" "0.5" 241 | } 242 | "state" 243 | { 244 | "name" "SS_SLOWDOWN_HIGHSPEED" 245 | "sound" "eATV_throttleoff_fastspeed" 246 | "min_time" "2.0" 247 | } 248 | "state" 249 | { 250 | "name" "SS_SLOWDOWN" 251 | "sound" "eATV_throttleoff_slowspeed" 252 | "min_time" "2.0" 253 | } 254 | "state" 255 | { 256 | "name" "SS_TURBO" 257 | "sound" "eATV_turbo_on" 258 | "min_time" "2.5" 259 | } 260 | "state" 261 | { 262 | "name" "SS_SHUTDOWN" 263 | "sound" "ATV_engine_stop" 264 | } 265 | "crashsound" 266 | { 267 | "min_speed" "350" 268 | "min_speed_change" "250" 269 | "sound" "eATV_impact_medium" 270 | "gear_limit" "1" 271 | } 272 | "crashsound" 273 | { 274 | "min_speed" "450" 275 | "min_speed_change" "350" 276 | "sound" "eATV_impact_heavy" 277 | } 278 | 279 | 280 | "skid_lowfriction" "eATV_skid_lowfriction" 281 | "skid_normalfriction" "eATV_skid_normalfriction" 282 | "skid_highfriction" "eATV_skid_highfriction" 283 | } 284 | -------------------------------------------------------------------------------- /synotherfilefixes/w_physics.phy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Balimbanana/SourceScripts/0d0a010a99c6c561af85081a5ddbdd63c73c74a5/synotherfilefixes/w_physics.phy -------------------------------------------------------------------------------- /synotherfilefixes/yearlongalarm.dat: -------------------------------------------------------------------------------- 1 | "Year Long Alarm" 2 | { 3 | "tag" "yla" 4 | "web" "https://store.steampowered.com/app/747250" 5 | "id" "747250" 6 | "root" "yla" 7 | "path" "yearlongalarm" 8 | "sup" "3" 9 | "deps" "ep1 ep2" 10 | 11 | "maps" 12 | { 13 | yla_mine "Mine" 14 | yla_bridge "Bridge" 15 | } 16 | 17 | "maps_background" 18 | { 19 | yla_background "" 20 | } 21 | } -------------------------------------------------------------------------------- /unix/bulkrename.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | for f in *.edt; do 3 | mv -- "$f" "${f/edt/edt2}" 4 | done 5 | -------------------------------------------------------------------------------- /unix/synclwine.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #Skip prompts, just install/start game you will still need to put in a Steam account for downloading. 3 | skipprompts=n 4 | 5 | missingdeps() { 6 | echo "You are missing dependencies for Steam or other operations" 7 | echo "Use $packageinf" 8 | echo "Then restart this script." 9 | if [ $skipprompts = "y" ];then exit ;fi 10 | echo "Press enter to exit script" 11 | read nullptr 12 | exit 13 | } 14 | 15 | if [ -f /usr/bin/dpkg-query ];then 16 | if [[ ! $(dpkg-query -l lib32gcc1) ]];then 17 | if [[ $(cat /etc/os-release | grep ID=ubuntu) ]];then 18 | packageinf="sudo apt-get install lib32gcc1" 19 | missingdeps 20 | else 21 | packageinf="your package manager to install lib32gcc1" 22 | missingdeps 23 | fi 24 | fi 25 | fi 26 | if [ -f /usr/bin/dnf ];then 27 | if [[ ! $(dnf list glibc) ]];then missinglib=1;fi 28 | if [[ ! $(dnf list libstdc++) ]];then missinglib=1;fi 29 | if [[ ! $(dnf list glibc.i686) ]];then missinglib=1;fi 30 | if [[ $missinglib = "1" ]];then 31 | packageinf="sudo dnf install glibc libstdc++ libc.so.6" 32 | missingdeps 33 | fi 34 | fi 35 | 36 | start() { 37 | if [ $PWD == $HOME/Steam ]; then 38 | cd .. 39 | if [ ! -d ./SteamCMD ]; then 40 | mkdir ./SteamCMD 41 | fi 42 | cd ./SteamCMD 43 | fi 44 | if [ ! -f ./steamcmd.sh ];then inststeam; fi 45 | if [ ! -f /usr/bin/Xvfb ];then 46 | packageinf="sudo apt-get install xvfb" 47 | missingdeps 48 | fi 49 | inststate=0 50 | if [ ! -f /tmp/.X0-lock ];then 51 | Xvfb :0 & 52 | fi 53 | if [ -f /usr/bin/wine ];then inststate=$(($inststate+1)) ;fi 54 | if [ -f ./drive_c/steamcmd/steamapps/common/Synergy/srcds.exe ];then inststate=$(($inststate+1)) ;fi 55 | if [ -f ./drive_c/steamcmd/steamapps/common/Half-Life\ 2/hl2/hl2_pak_dir.vpk ];then inststate=$(($inststate+1)) ;fi 56 | if [ $inststate == 3 ];then 57 | winestart 58 | fi 59 | if [ ! -f /usr/bin/wine ];then 60 | if [ $skipprompts = "n" ];then 61 | echo "Beginning with install of Wine. Press Enter to fully install Wine development branch. This user must have access to sudo apt for this to work. Press Ctrl+C to exit if you don't want to continue." 62 | read opt 63 | fi 64 | if [ $skipprompts = "y" ];then echo "Installing Wine..." ;fi 65 | echo "This will take a while..." 66 | sudo dpkg --add-architecture i386 67 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 68 | sudo apt-key add winehq.key 69 | if [[ $(cat /etc/os-release | grep VERSION_ID=\"14) ]];then 70 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' 71 | fi 72 | if [[ $(cat /etc/os-release | grep VERSION_ID=\"16) ]];then 73 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' 74 | fi 75 | if [[ $(cat /etc/os-release | grep VERSION_ID=\"18) ]];then 76 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main' 77 | fi 78 | if [[ $(cat /etc/os-release | grep VERSION_ID=\"19.04) ]];then 79 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ disco main' 80 | fi 81 | if [[ $(cat /etc/os-release | grep VERSION_ID=\"19.10) ]];then 82 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ eoan main' 83 | fi 84 | if [[ $(cat /etc/os-release | grep VERSION_CODENAME=stretch) ]];then 85 | wget "https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/i386/libfaudio0_20.01-0~buster_i386.deb" 86 | wget "https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/amd64/libfaudio0_20.01-0~buster_amd64.deb" 87 | sudo dpkg -i libfaudio0_20.01-0~buster_i386.deb libfaudio0_20.01-0~buster_amd64.deb 88 | sudo apt --fix-broken install 89 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/debian/ stretch main' 90 | fi 91 | if [[ $(cat /etc/os-release | grep VERSION_CODENAME=buster) ]];then 92 | wget "https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/i386/libfaudio0_20.01-0~buster_i386.deb" 93 | wget "https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/amd64/libfaudio0_20.01-0~buster_amd64.deb" 94 | sudo dpkg -i libfaudio0_20.01-0~buster_i386.deb libfaudio0_20.01-0~buster_amd64.deb 95 | sudo apt --fix-broken install 96 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/debian/ buster main' 97 | fi 98 | if [[ $(cat /etc/os-release | grep VERSION_CODENAME=bullseye) ]];then 99 | wget "https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/i386/libfaudio0_20.01-0~buster_i386.deb" 100 | wget "https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/amd64/libfaudio0_20.01-0~buster_amd64.deb" 101 | sudo dpkg -i libfaudio0_20.01-0~buster_i386.deb libfaudio0_20.01-0~buster_amd64.deb 102 | sudo apt --fix-broken install 103 | sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/debian/ bullseye main' 104 | fi 105 | sudo apt-get update 106 | sudo apt-get install --install-recommends winehq-devel 107 | fi 108 | echo "Enter your Steam username here it will be passed to SteamCMD" 109 | echo "It will be used for installing Synergy, HL2, Episode 1, and Episode 2:" 110 | read stusername 111 | if [ -z $stusername ];then stusername=none ;fi 112 | anonblck=${stusername,,} 113 | if [ $anonblck = "anonymous" ];then noanon;fi 114 | if [ ! -d ./drive_c ];then mkdir ./drive_c ;fi 115 | if [ ! -d ./drive_c/steamcmd ];then mkdir ./drive_c/steamcmd ;fi 116 | if [ ! -d ./drive_c/steamcmd/steamapps ];then mkdir ./drive_c/steamcmd/steamapps ;fi 117 | if [ ! -d ./drive_c/steamcmd/steamapps/common ];then mkdir ./drive_c/steamcmd/steamapps/common ;fi 118 | if [ ! -f ./drive_c/steamcmd/steamapps/common/Synergy/srcds.exe ];then 119 | ./steamcmd.sh +@sSteamCmdForcePlatformType windows +login $stusername +force_install_dir ./drive_c/steamcmd/steamapps/common/Synergy +app_update 17520 beta twitch -beta twitch validate +quit 120 | fi 121 | if [ ! -d ./drive_c/steamcmd/steamapps/common/Half-Life\ 2/hl2 ];then 122 | ./steamcmd.sh +@sSteamCmdForcePlatformType windows +login $stusername +force_install_dir ./drive_c/steamcmd/steamapps/common/Half-Life\ 2 +app_update 220 +app_update 380 +app_update 420 validate +quit 123 | fi 124 | if [ ! -d ./drive_c/steamcmd/steamapps/common/Synergy/synergy/addons ];then mkdir ./drive_c/steamcmd/steamapps/common/Synergy/synergy/addons ;fi 125 | if [ ! -f ./drive_c/steamcmd/Steam.exe ];then 126 | wget -nv "https://steamcdn-a.akamaihd.net/client/installer/SteamSetup.exe" -P ./drive_c/steamcmd 127 | if [ -f ./drive_c/steamcmd/SteamSetup.exe ];then 128 | echo "Installing Steam client for Steam server connection..." 129 | WINEPREFIX=$PWD WINEDEBUG=-all wine start ./drive_c/steamcmd/SteamSetup.exe /S /D=C:\\steamcmd 130 | rechecksetup 131 | fi 132 | fi 133 | winestart 134 | } 135 | 136 | winestart() { 137 | WINEPREFIX=$PWD WINEDEBUG=-all wine start ./drive_c/steamcmd/steamapps/common/Synergy/synergy.exe -game synergy -steam -windowed -noborder -w 1920 -h 1080 -novid +r_hunkalloclightmaps 0 -threads 8 -heapsize 2048000 -mem_max_heapsize 2048 -mem_max_heapsize_dedicated 512 138 | echo "If there was an error binding to an interface, you will need to start a virtual screen with: Xvfb :0&" 139 | sleep 1s 140 | echo "Press enter to start Synergy again. Or use Ctrl+C to close this script." 141 | read continuescr 142 | winestart 143 | exit 144 | } 145 | 146 | rechecksetup() { 147 | sleep 5s 148 | if [ -f ./drive_c/steamcmd/Steam.exe ];then 149 | if [[ $(pgrep -a SteamSetup.exe) ]];then 150 | kill $(pgrep SteamSetup.exe) 151 | fi 152 | if [[ $(pgrep -a Steam.exe) ]];then 153 | WINEPREFIX=$PWD WINEDEBUG=-all wine start ./drive_c/steamcmd/Steam.exe 154 | fi 155 | fi 156 | } 157 | 158 | inststeam() { 159 | wget -nv "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" 160 | tar -zxvf steamcmd_linux.tar.gz 161 | if [ ! -f ./steamcmd.sh ]; then 162 | echo "Something went wrong in downloading/extracting SteamCMD" 163 | exit 164 | fi 165 | start 166 | } 167 | 168 | noanon() { 169 | echo "You cannot use anonymous to install Synergy..." 170 | start 171 | } 172 | 173 | start 174 | -------------------------------------------------------------------------------- /unix/syndsauto.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Sets your servers name 4 | hostname="First Syn 56.16 Server" 5 | # In order to use above 10 max players, you must have PLR enabled below 6 | maxplayers=32 7 | # If you want your server to be passworded, set it here 8 | serverpassword="" 9 | # Map to start server with 10 | startmap="d1_trainstation_01" 11 | 12 | # Port to host on NOTE: change savedirectory if you are running multiple servers 13 | portnumber=27015 14 | # Save directory, each server must have a different save directory if you are running forked servers 15 | savedirectory="save1/" 16 | 17 | # You cannot use anonymous to install Synergy, 18 | # this must be a Steam account that also owns Half-Life 2 for fresh installs. 19 | # Once the server has been fully installed, you can change this to blank. 20 | username="ChangeMe" 21 | 22 | # Automatically install SourceMod and MetaMod 23 | installsm=1 24 | # Install some base plugins like SynFixes, SynSaveRestore, and EDTRebuild 25 | installbaseplugins=1 26 | 27 | # Install Synergy reverse engineered fixes (requires SourceMod/MetaMod) 28 | # When this is set to 2 it will update every time this script is started 29 | # If set to 1, this will only install once and not update. 30 | installutilfixes=2 31 | 32 | # Install PLR Player Limit Remover to allow up to 64 max players 33 | # While the server *can* start with more than 64, it will crash clients on join with bogus slot error. 34 | installplr=1 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | synpath=./steamapps/common/Synergy 49 | cldir=$HOME/.Steam/steamapps 50 | if [ ! -d $cldir ]; then 51 | if [ -d /Steam/steamapps ]; then cldir=/Steam/steamapps ;fi 52 | if [ -d $HOME/.local/share/Steam/steamapps ]; then cldir=$HOME/.local/share/Steam/steamapps ;fi 53 | if [ -d $HOME/Steam/steamapps ]; then cldir=$HOME/Steam/steamapps ;fi 54 | if [ -d $HOME/steam/steamapps ]; then cldir=$HOME/steam/steamapps ;fi 55 | if [ -d $HOME/Library/Application\ Support/Steam/SteamApps ]; then cldir=$HOME/Library/Application\ Support/Steam/SteamApps ;fi 56 | if [ $cldir == $PWD ]; then cldir=none ;fi 57 | if [ ! -d $cldir ]; then cldir=none ;fi 58 | fi 59 | 60 | if [ -f /usr/bin/dpkg-query ];then 61 | if [[ ! $(dpkg-query -l lib32gcc1) ]] && [[ $(arch | grep 64) ]];then 62 | if [[ $(cat /etc/os-release | grep ID=ubuntu) ]];then 63 | echo "Attempting to install lib32gcc1 through apt-get..." 64 | sudo apt-get install lib32gcc1 65 | fi 66 | fi 67 | if [[ ! $(dpkg-query -l libgcc1) ]] && [[ ! $(arch | grep 64) ]];then 68 | echo "Attempting to install libgcc1 through apt-get..." 69 | sudo apt-get install libgcc1 70 | fi 71 | fi 72 | if [ -f /usr/bin/dnf ];then 73 | if [[ ! $(dnf list glibc) ]];then missinglib=1;fi 74 | if [[ ! $(dnf list libstdc++) ]];then missinglib=1;fi 75 | if [[ ! $(dnf list glibc.i686) ]];then missinglib=1;fi 76 | if [[ $missinglib = "1" ]];then 77 | echo "Attempting to install glibc, libstdc++ and libc through dnf..." 78 | sudo dnf install glibc libstdc++ libc.so.6 79 | fi 80 | fi 81 | 82 | inststeam() { 83 | if [ ! -f ./steamcmd.sh ]; then curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - ;fi 84 | if [ ! -f ./steamcmd.sh ]; then 85 | echo "Something went wrong in downloading/extracting SteamCMD" 86 | exit 87 | fi 88 | firstinstall 89 | } 90 | 91 | firstinstall() { 92 | anonblck=${username,,} 93 | if [ $anonblck = "anonymous" ];then noanon;fi 94 | if [ -f $cldir/synergy/synergy_pak.vpk ]; then 95 | if [ ! -d $synpath ]; then mkdir $synpath ;fi 96 | if [ ! -d $synpath/synergy ]; then mkdir $synpath/synergy ;fi 97 | if [ ! -f $synpath/synergy/synergy_pak.vpk ]; then 98 | cp $cldir/synergy/synergy_pak.vpk $synpath/synergy/synergy_pak.vpk 99 | fi 100 | fi 101 | if [ -f $cldir/synergy/zhl2dm_materials_pak.vpk ]; then 102 | if [ ! -d $synpath ]; then mkdir $synpath ;fi 103 | if [ ! -d $synpath/synergy ]; then mkdir $synpath/synergy ;fi 104 | if [ ! -f $synpath/synergy/zhl2dm_materials_pak.vpk ]; then 105 | cp $cldir/synergy/zhl2dm_materials_pak.vpk $synpath/synergy/zhl2dm_materials_pak.vpk 106 | fi 107 | fi 108 | s=1 109 | hl=1 110 | if [ ! -f $synpath/synergy/synergy_pak.vpk ]; then 111 | echo "Updating/installing Synergy DS" 112 | ./steamcmd.sh +force_install_dir ./steamapps/common/Synergy +login $username +app_update 17520 -beta public validate +quit 113 | echo "Update/installation Complete" 114 | echo "If there were errors above, close the script and log in to steamcmd.sh separately, then restart the script." 115 | 116 | echo "Setting up links and first settings in server2.cfg" 117 | if [ ! -d $cldir/sourcemods ];then s=0;fi 118 | if [ ! -d $cldir/common/Half-Life\ 2/hl2 ];then hl=0;fi 119 | if [ hl = 0 ];then if [ -d ./steamapps/common/Half-Life\ 2/hl2 ];then hl=2;fi;fi 120 | if [ hl = 0 ];then insthl2;fi 121 | if [ hl = 1 ];then ln -s $cldir/common/Half-Life\ 2 ./steamapps/common/Half-Life\ 2;fi 122 | if [ s = 0 ];then echo "sourcemods not found, not linking.";fi 123 | if [ s = 1 ];then ln -s $cldir/sourcemods ./steamapps/sourcemods;fi 124 | rm -f ./$synpath/synergy/scripts/weapon_betagun.txt 125 | wget -nv "https://github.com/Balimbanana/SM-Synergy/raw/master/scripts/weapon_betagun.txt" -P ./$synpath/synergy/scripts 126 | if [ ! -d ./$synpath/synergy/scripts/talker ];then mkdir ./$synpath/synergy/scripts/talker ;fi 127 | if [ ! -d ./$synpath/synergy/scripts/talker/player ];then mkdir ./$synpath/synergy/scripts/talker/player ;fi 128 | wget -nv "https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/scripts/talker/player/humans.txt" -P ./$synpath/synergy/scripts/talker/player 129 | if [ ! -d ./$synpath/synergy/models ];then mkdir ./$synpath/synergy/models ;fi 130 | if [ ! -d ./$synpath/synergy/models/weapons ];then mkdir ./$synpath/synergy/models/weapons ;fi 131 | if [ ! -f ./$synpath/synergy/models/weapons/w_physics.phy ];then wget -nv "https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/w_physics.phy" -P ./$synpath/synergy/models/weapons ;fi 132 | if [ ! -f ./$synpath/synergy/cfg/server2.cfg ];then 133 | echo sv_lan 0 >>$synpath/synergy/cfg/server2.cfg 134 | echo mp_friendlyfire 0 >>$synpath/synergy/cfg/server2.cfg 135 | echo mp_reset 1 >>$synpath/synergy/cfg/server2.cfg 136 | echo mp_transition_time 45 >>$synpath/synergy/cfg/server2.cfg 137 | echo mp_transition_percent 68 >>$synpath/synergy/cfg/server2.cfg 138 | echo sv_vote_enable 1 >>$synpath/synergy/cfg/server2.cfg 139 | echo sv_vote_failure_timer 300 >>$synpath/synergy/cfg/server2.cfg 140 | echo sv_vote_interval 10 >>$synpath/synergy/cfg/server2.cfg 141 | echo sv_vote_percent_difficulty 67 >>$synpath/synergy/cfg/server2.cfg 142 | echo sv_vote_percent_kick 67 >>$synpath/synergy/cfg/server2.cfg 143 | echo sv_vote_percent_map 67 >>$synpath/synergy/cfg/server2.cfg 144 | echo sv_vote_percent_restore 67 >>$synpath/synergy/cfg/server2.cfg 145 | fi 146 | echo "Should be all configured for server running." 147 | fi 148 | if [ ! -f $synpath/synergy/synergy_pak.vpk ]; then 149 | echo "Failed to install" 150 | exit 151 | fi 152 | if [ ! -d $synpath/synergy/custom/Synergy-SM-master/maps ]; then 153 | wget -nv "https://github.com/yarik2720/Synergy-SM/archive/refs/heads/master.zip" -P ./$synpath/synergy/custom 154 | unzip ./$synpath/synergy/custom/master.zip -d ./$synpath/synergy/custom 155 | rm -f ./$synpath/synergy/custom/master.zip 156 | fi 157 | if [ $installsm = "1" ];then instsourcem;fi 158 | srcds 159 | } 160 | 161 | instsourcem() { 162 | if [ ! -d ./steamapps/common/Synergy/synergy ];then notinstalled;fi 163 | if [ ! -d $synpath ];then notinstalled;fi 164 | if [ -d ./$synpath/addons/sourcemod ];then 165 | srcds 166 | fi 167 | echo "This will direct download the required SourceMod files and then extract them." 168 | curl -sqL "https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6503-linux.tar.gz" | tar zxvf - -C ./$synpath/synergy 169 | curl -sqL "https://mms.alliedmods.net/mmsdrop/1.11/mmsource-1.11.0-git1145-linux.tar.gz" | tar zxvf - -C ./$synpath/synergy 170 | curl -sqL "https://users.alliedmods.net/~kyles/builds/SteamWorks/SteamWorks-git131-linux.tar.gz" | tar zxvf - -C ./$synpath/synergy 171 | if [ ! -d ./$synpath/synergy/addons/sourcemod ];then 172 | echo "Failed to auto-install SourceMod, you may have to manually install it." 173 | srcds 174 | fi 175 | if [ -f ./$synpath/synergy/addons/metamod_x64.vdf ];then rm ./$synpath/synergy/addons/metamod_x64.vdf ;fi 176 | if [ -d ./$synpath/synergy/addons/metamod/bin/linux64 ]; then rm -rf ./$synpath/synergy/addons/metamod/bin/linux64 ;fi 177 | if [ -d ./$synpath/synergy/addons/sourcemod/bin/x64 ]; then rm -rf ./$synpath/synergy/addons/sourcemod/bin/x64 ;fi 178 | if [ ! -d ./$synpath/synergy/addons/sourcemod/gamedata/sdkhooks.games/custom ];then 179 | mkdir ./$synpath/synergy/addons/sourcemod/gamedata/sdkhooks.games/custom 180 | fi 181 | if [ ! -d ./$synpath/synergy/addons/sourcemod/gamedata/sdktools.games/custom ];then 182 | mkdir ./$synpath/synergy/addons/sourcemod/gamedata/sdktools.games/custom 183 | fi 184 | wget -nv "https://raw.githubusercontent.com/Balimbanana/SM-Synergy/master/56.16lin/sdkhooks.games/custom/game.synergy.txt" -P ./$synpath/synergy/addons/sourcemod/gamedata/sdkhooks.games/custom 185 | wget -nv "https://raw.githubusercontent.com/Balimbanana/SM-Synergy/master/56.16lin/sdktools.games/custom/game.synergy.txt" -P ./$synpath/synergy/addons/sourcemod/gamedata/sdktools.games/custom 186 | if [ -f ./$synpath/synergy/addons/sourcemod/plugins/updater.smx ];then wget -nv "https://github.com/Balimbanana/SourceScripts/raw/master/synotherfilefixes/addons/sourcemod/plugins/updater.smx" -P ./$synpath/synergy/addons/sourcemod/plugins ;fi 187 | # remove nextmap as it does not work in Synergy 188 | rm -f ./$synpath/synergy/addons/sourcemod/plugins/nextmap.smx 189 | echo "SourceMod installed, you can put plugins in ./$synpath/addons/sourcemod/plugins" 190 | if [ ! -d ./$synpath/synergy/addons/plr ]; then 191 | if [ -d ./$synpath/synergy/addons/metamod ]; then 192 | if [ $installplr = "1" ]; then 193 | if [ ! -d ./$synpath/synergy/addons/plr ]; then 194 | if [ -d ./$synpath/synergy/addons/metamod ]; then 195 | mkdir ./$synpath/synergy/addons/plr 196 | wget -nv "https://raw.githubusercontent.com/FoG-Plugins/Player-Limit-Remover/master/addons/plr.vdf" -P ./$synpath/synergy/addons 197 | wget -nv "https://github.com/FoG-Plugins/Player-Limit-Remover/raw/master/addons/plr/plr.so" -P ./$synpath/synergy/addons/plr 198 | fi 199 | fi 200 | if [ -f ./$synpath/synergy/addons/plr/plr.so ]; then 201 | if [ -f ./$synpath/synergy/addons/plr.vdf ]; then 202 | echo "Successfully installed PLR" 203 | fi 204 | fi 205 | fi 206 | fi 207 | fi 208 | if [ -d ./$synpath/synergy/addons/sourcemod/plugins ]; then 209 | if [ $installbaseplugins = "1" ]; then 210 | if [ ! -f ./$synpath/addons/sourcemod/plugins/synfixes.smx ];then 211 | wget -nv "https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/synfixes.smx" -P ./$synpath/addons/sourcemod/plugins 212 | fi 213 | if [ ! -f ./$synpath/addons/sourcemod/plugins/synsaverestore.smx ];then 214 | wget -nv "https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/synsaverestore.smx" -P ./$synpath/addons/sourcemod/plugins 215 | fi 216 | if [ ! -f ./$synpath/addons/sourcemod/plugins/edtrebuild.smx ];then 217 | wget -nv "https://github.com/Balimbanana/SM-Synergy/raw/master/plugins/edtrebuild.smx" -P ./$synpath/addons/sourcemod/plugins 218 | fi 219 | fi 220 | fi 221 | srcds 222 | } 223 | 224 | noanon() { 225 | echo "You cannot use anonymous to install Synergy..." 226 | exit 227 | } 228 | 229 | srcds() { 230 | if [ ! -f ./$synpath/srcds_run ];then notinstalled;fi 231 | if [ ! -d ./steamapps/common/Half-Life\ 2/hl2 ];then insthl2;fi 232 | if [ ! -L ./$synpath/bin/libtier0.so ];then 233 | mv ./$synpath/bin/libtier0.so ./$synpath/bin/libtier0.so.bak 234 | ln -s libtier0_srv.so ./$synpath/bin/libtier0.so 235 | fi 236 | if [ ! -L ./$synpath/bin/libvstdlib.so ];then 237 | mv ./$synpath/bin/libvstdlib.so ./$synpath/bin/libvstdlib.so.bak 238 | ln -s libvstdlib_srv.so ./$synpath/bin/libvstdlib.so 239 | fi 240 | if [ ! -L ./$synpath/bin/steamclient.so ];then 241 | mv ./$synpath/bin/steamclient.so ./$synpath/bin/steamclient.so.bak 242 | ln -s ../../../../linux32/steamclient.so ./$synpath/bin/steamclient.so 243 | fi 244 | if [ ! -d ./$synpath/synergy/download ];then mkdir ./$synpath/synergy/download ;fi 245 | if [ ! -d ./$synpath/synergy/download/user_custom ];then mkdir ./$synpath/synergy/download/user_custom ;fi 246 | if [ ! -L ./$synpath/synergy/user_custom ];then ln -s ./download/user_custom ./$synpath/synergy/user_custom ;fi 247 | 248 | if [ $installutilfixes = "2" ]; then 249 | if [ -f ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.ext.so ]; then rm ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.ext.so ;fi 250 | installutilfixes=1 251 | fi 252 | if [ $installutilfixes = "1" ]; then 253 | if [ ! -f ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.ext.so ]; then 254 | if [ ! -f ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.autoload ]; then echo "" > ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.autoload ;fi 255 | wget -nv "https://github.com/ReservedRegister/Synergy_ReverseEngineering/raw/master/build/package/addons/sourcemod/extensions/synergy_utils.ext.2.sdk2013.so" -P ./$synpath/synergy/addons/sourcemod/extensions 256 | mv ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.ext.2.sdk2013.so ./$synpath/synergy/addons/sourcemod/extensions/synergy_utils.ext.so 257 | fi 258 | fi 259 | reds 260 | } 261 | 262 | notinstalled() { 263 | echo "Synergy install failed..." 264 | exit 265 | } 266 | 267 | insthl2() { 268 | ./steamcmd.sh +force_install_dir ./steamapps/common/Half-Life\ 2 +login $username +app_update 220 validate +quit 269 | ./steamcmd.sh +force_install_dir ./steamapps/common/Half-Life\ 2 +login $username +app_update 340 validate +quit 270 | ./steamcmd.sh +force_install_dir ./steamapps/common/Half-Life\ 2 +login $username +app_update 380 validate +quit 271 | ./steamcmd.sh +force_install_dir ./steamapps/common/Half-Life\ 2 +login $username +app_update 420 validate +quit 272 | if [ ! -f ./steamapps/common/Half-Life\ 2/hl2/hl2_misc_dir.vpk ];then 273 | echo "Failed to install Half-Life 2, install halted!" 274 | exit 275 | fi 276 | srcds 277 | } 278 | 279 | reds() { 280 | curdatetime=$(date -u) 281 | echo "$curdatetime SynDS started." 282 | ./$synpath/srcds_run "-game synergy -console -norestart +maxplayers $maxplayers +sv_lan 0 +hostname \"$hostname\" +map \"$startmap\" +exec server2.cfg +sv_savedir \"$savedirectory\" +sv_password \"$serverpassword\" -ip 0.0.0.0 -port \"$portnumber\" -nocrashdialog -insecure -nohltv" 283 | curdatetime=$(date -u) 284 | echo "$curdatetime WARNING: SynDS closed or crashed, restarting." 285 | sleep 1 286 | reds 287 | } 288 | 289 | inststeam 290 | --------------------------------------------------------------------------------