🎥 Demos
What are demos?
Demos are a lightweight in-game recording of your inputs and information your game receives from the server. They can be played back ingame, or parsed with external tools to assist in verification. Demos are ONLY recorded while loaded into a level, they do not record while on the main menu as there is no game server running.
Demo recording basics
- To record a demo, write
record speedrun
in the developer console while in-game. If SST is installed, it can also be done from the main menu (other demo recording differences related to SST are listed below).- Demo recording must begin before the intro cutscene begins at the start of the run in order for the run to be valid. Make sure to start recording before loading the first map of the run (either from the main menu or in-game) or restart the campaign after starting the recording.
- One demo will be recorded for each map, and the game will automatically continue to record demos through level transitions and votes to restart/change campaigns. The first demo will be named
speedrun
, the second onespeedrun_2
, thenspeedrun_3
, etc etc. - If you stop and restart demo recording with the same demo name, the demo number/counter will reset, and it will automatically overwrite existing demo files.
- If you run the
record
command while demos are already recording, it will be ignored and the console will printAlready recording.
- To stop recording demos, simply type
stop
in the console. - Demos can be watched by using the playdemo command in the console, or by pressing Shift and F2 to open
demoui
.
SST
Recording demos changes slightly depending on whether you are using SST or not. I'll briefly explain the differences:
- Without SST:
record
andstop
commands only work when you are loaded into a level- Demo recording will stop any time you leave the game (go to the main menu, use
disconnect
command, etc). - Demo recording will silently fail if attempting to record to a folder that doesn't exist.
- With SST:
record
andstop
commands work from the main menu- Once demo recording begins, it will continue to record demos upon loading into a new server even if you go to the main menu, disconnect, etc. It will only stop if you run
stop
command, or close the game. - Attempting to record to a nonexistent folder will produce a warning in the console.
SST comes prepackaged with our old version game downloads, so you only need to manually install it if you intend to run on Newest and want to take advantage of the extra features.
Currently if you want to run multi-campaign categories which involve disconnecting to the main menu at any point during the run and/or use the map
command to switch campaigns (L4D1 Original Campaigns, L4D2 All Campaigns Legacy), you will need SST to be installed in order to have a valid run, as demos need to be recorded for the entire duration you are ingame, which is not possible to achieve without SST due to the fact that demo recording is normally interrupted any time you go to the main menu.
Suggested practices/binds/methods
- Put
record speedrun
in yourautoexec.cfg
(located in left4dead2/cfg) - this will require SST to be loaded automatically in order for it to work. This will automatically queue demo recording to start upon loading into the map. - Have a general bind for recording demos. For example,
bind backspace "record speedrun"
- this is redundant if you putrecord speedrun
in your autoexec and don't ever intentionally runstop
while playing. - Have another bind that calls a restart vote and also restarts demo recording.
- For example,
bind 0 "stop; callvote restartgame; record speedrun"
- For example,
- This way, when doing attempts, it should be pretty much impossible to fail to record demos.
Where do demos record to, and how do I include them in a submission?
- Demos record to the lowercased
left4dead2
folder (orleft4dead
in the case of L4D1) which can be found in your game files.- You can specify a subdirectory but the folder must already be created for it to work.
- When you finish a run, put the demos into a zip file (7z/rar is also fine) and upload them to a permanent file host (such as Google Drive), make sure the file/link is openable by anyone, and put the link in the description of your run on speedrun.com when you submit.