SST is a sorta-still-in-development general purpose plugin for Source Engine games, currently mainly Left 4 Dead 1 and 2 and Portal 1.
We've sorta-kinda-rushed out a handful of releases so that people can enjoy reasonably convenient demo recording and other nice features for their speedruns. A full release ought to have way more cool stuff and should happen Eventually™.
This software, which is the work of a few different people,
has certain conditions for being able to redistribute copies. These
terms don't affect your right to run the software yourself, but they
DO affect your right to send copies to other people. In that
case, please read the included
LICENCE file in the
Also, keep in mind that this software has absolutely
NO WARRANTY! There's no way it should break anything, but that's
not a legal guarantee. Details of that are also written out in
excruciating legalese in the included
LICENCE file. You're
assumed to have read that legalese before attempting to use SST, and
thus before getting any ideas about suing anyone if your computer
happens to catch fire.
You can get the current BETA version 0.4 a.k.a. Small Subtle Tweaks here (for Windows).
You can find a list of changes made in v0.4 here.
Older builds are plonked on the download site for now. It's not really advised that you use these unless you have a very specific reason.
git cloneit from that URL too. If you want to clone over other protocols or get a slightly fancier browser, it's also mirrored on GitLab and on GitHub. This release is built from Git tag
v0.4-BETA(which points at commit
74563bfb8c506150172b9bbf73d828372add3394). In theory, you should be able to produce a bit-for-bit identical copy of the DLL using Clang from LLVM 14.0.0 and version 10.0.20348.0 of the Windows 10 SDK. Good luck!
Put the extracted
sst.dll into your game's top-level
bin folder (the one that exists in the same place as the
.exe file to launch the game).
-insecure to your launch options, and make sure that
when you launch a map, it says “VAC secure mode disabled” somewhere in
the developer console. WARNING: if you skip this step, you may
run the risk of getting VAC-banned! Don't skip this step!
To load the plugin, simply type
in the console. Feel free to add that to an alias or config to make it
easier to type.
By the way, the dot-dot-slash magic is just there so that the same path works in various versions of Source, including both Left 4 Dead 1 and 2. If you understand how file paths work, feel free to adjust your use of these instructions as you see fit.
Autoload setup: After loading the plugin once, type
sst_autoload_enable to quickly register the plugin to start
along with the game. Doing this is required to ensure that plugin-specific
settings don't get lost next time you start the game, and that certain
game bugfixes get properly and reliably applied. If you ever want out, though,
you can type
sst_autoload_disable to revert your game to vanilla
behaviour next launch.
Better demo recording: Once the plugin is loaded,
sst_autorecord 1 will already be set by default for
supported games. This allows you to start recording a demo (
demofilename) and then have the game keep recording demos until
the heat death of the universe (or until you type
you don't want to record too many demos, you can stick
record demoname; in front of your reset bind to replace old
attempts with new attempts. Just remember to stop and save all the demos
you got at the end of a successful run.
sst_autojump 1 to allow
yourself to simply hold down your jump button and get perfectly timed
hops. This can't be used in regular speedruns; demos will make it
obvious, so don't even try. But, it's fun for scripted runs or just
Cheats in L4D2 lobbies: After loading this plugin, it
will be possible to use
sv_cheats 1 in a self-hosted
multiplayer lobby (or a single-player game launched from the menu).
Normally, for whatever reason, Left 4 Dead 2 doesn't let people do this.
With this feature, it is no longer necessary to host listen servers,
forward ports and send IPs to people. It's also much easier to quickly
stop for practice in the middle of a run session.
Nag dialog removal: Later versions of Left 4 Dead 2 pop up an annoying message every time a plugin is loaded. Not any more, thanks to some trickery done in SST.
L4D warp testing: Type
sst_l4d_testwarp to simulate
an idle warp to yourself. This makes co-op routing a lot easier!
Universal raw mouse input: You can now use
in any version of any supported game and get consistent raw input without any
external tools or injectors. If the option is already built in, you get that.
If not, SST fills it in for a consistent experience across the board.
Enhanced Portal FOV settings: Portal 1 runners can enjoy the full
fov_desired values from 75 to 120, regardless of game
version. Even though that's dumb. It's What The People Want!
Portal colour customisation: Use the
sst_portal_colourN cvars to change the
grabbed item, left click portal and right click portal colours on your crosshair and
the little tube at the front of the gun, without having to patch your client DLL.
Currently works on 5135, 3420, and the latest Steam build.
Left 4 Dead series video fixes: Older versins of Left 4 Dead 2 like to reset
mat_queue_mode (multicore rendering) sometimes, and Left 4 Dead 1
doesn't bother saving your
mat_monitorgamma (brightness) setting.
SST fixes these issues. Also, those playing older L4D2 builds on Intel graphics
hardware may have experienced rendering issues causing everything to be too dark.
SST fixes this too.
A number of handy console variables are also made visible on games that hide them (such as, funnily enough, the Left 4 Dead series):
director_afk_timeout: set this to a large number to avoid auto-idling in your routing or testing sessions
mp_restartgame: quickly reset the map without waiting for a vote or death (only works if loaded directly into a map, not following a transition)
Oh, and you can use
engine_no_focus_sleep to either prevent or
increase lag when the game window is inactive, in games that wouldn't otherwise
have this option built in.
All of that in a 50 kilobyte DLL. Not bad, eh?