Skip to main content

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.

Video Tutorial

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 one speedrun_2, then speedrun_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 print Already 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 and stop 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 and stop 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.
info

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.

WARNING

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 your autoexec.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 put record speedrun in your autoexec and don't ever intentionally run stop while playing.
  • Have another bind that calls a restart vote and also restarts demo recording.
    • For example, bind 0 "stop; callvote restartgame; record speedrun"
  • 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 (or left4dead 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.