Team Fortress 2

Team Fortress 2

Not enough ratings
Demo recording with P-REC (!), Lawena & HLAE (wip)
By Bing Soy
🚨 P-REC is now obsolete due incompatibility with TF2's 64-bit update, will have to rewrite and replace the P-REC sections

[WIP] (Work In Progress)
An in-depth guide on how I create, manage and utilize demos to make videos.
wip guide demo make and record
Lawena, HLAE
better reading later
examples of finished products on my YT: https://www.youtube.com/@BingSoyTeamFortress
a blueprint
   
Award
Favorite
Favorited
Unfavorite
welcome
welcome to demos
this can be a patient process

the software used to help this process:
Lawena: Tool to improve and streamline TF2 filmmaking, easily toggle mods, config stuff and image render options. I recommend to not use your live TF2 installation if you have the space to spare especially if you use different config/mods for your recording vs your live gameplay config/mods.

HLAE: Half-Life Advanced Effects - Used with Lawena to "unlock" camera features for filmmaking. This is technically a cheat/hack, ensure using offline mode/-insecure launch option (built-in feature in Lawena) to not get accidentally banned.

P-REC: Helps you create demos with key information in the file names. Greatly helps navigation/management.
Demo management naming conventions
NO spaces - so you don't need to encase in "quotes" everytime after playdemo command
Use - or _ for spaces
CamelCasingCanHelpReadibilty, if too time consuming, at least use when 2 letters are same - example: meleeeng -> meleeEng (melee engineer)
many of your demos may imply a successful kill/frag unless you type more info

give basic descriptions between respawns to help further sort later, helps to sortpass1 at a glance in category folder then sortpass2 you can sort category with specific clips, can help efficiency if sorting and comparing within category

the less words you can use to describe, the better

CAPITALIZE certain terms especially important for what the demo features. You can also add reminders to do a certain edit when it comes time to use the demo for video.

[glossary was here]

preferably after sorting demos in their respective categorical folders or something like monthly compilation folders, you append tick range of the relevant moment(s), with couple hundred buffer. if frag precise moment is 1000-2000, make it something like 900-2100 or 800-2200, or you can do the buffer yourself when recording and leave tick range in filename more accurate if you prefer.

here is an example of my demo naming convention:
2022-09-10_1744-ut@pl_pier-dmn-LnLsnipepilltiming_3700-4500 YYYY-MM-DD_HHmm-SERVERNAME@MAPNAME-CLASSNAME-DEMODESCRIPTION_TICKRANGE

my Demo Recording Config for P-REC, uses above syntax:
https://gamebanana.com/mods/465799

maintaining multiple tf2 installations
demos are tied to the version of TF2 they were created in. they are compatible within certain ranges of tf2 updates until a certain update touches the demo system so much that that tf2 version becomes a landmark/cutoff for a range of demo's compatibility

suggested to put in same place in default (live version) location of tf2
append the relevant update name/date to the installation
change tf directory in lawena to rotate the versions between them

more links:
demo manager tool, i don't use this, may or may not have better workflow:
https://github.com/Narcha/DemoMan
Demo naming glossary
1. Scout
1 sct = scout
bombk = getting a kill a very short time after coming out of bonk invulnerability
bs, bksctr = backscatter

2 sol = soldier
mg, garden = market gardener critical hit
dir, direct = direct hit

3 pyr = pyro
det = detonator
dja = det jump axtinguisher
fl = flare
ax, axting = axtinguisher melee, puff n' sting
gas = gas passer
neon, pyroshark = neon annihilator wet player critical hit
phlog = phlogistinator

4 dmn = demoman
axe = scotsmans skullcutter
kn = demoknight
pill, pipe = primary grenade launcher
LnL = loch n' load

5 hvy = heavyweapons
huo, hlong = huolong
tomi, tslav = tomislav
spoovy (spy-hoovy) = successful holiday punch laugh hit and/or showdown taunt kill

6 eng = engineer
punch = gunslinger melee hit/kill

7 med = medic
cbow, cb, bolt = crossbow
drop = drop uber

8. Sniper
8 sni = sniper
  • arc = utilizing huntsman low charge to get a unique arcing angle you wouldn't normally get in a fully charged huntsman shot
  • bow = huntsman kill
  • jarwack, jwack, jw = jarate + bushwacka combo/critical kill
  • hitscan = any hitscan sniper rifle

9 spy = spy
ts, trickstab = various movement + backstab techniques other than only directly walking up to an unaware enemy
butter = butterknife

General terms
clean = fluid/efficient motion/movement
jump = a demo that involves jumping as a key element or generic term for a class-specific jump (rocket jump, detonator jump, mini-sentry wrangler bullet launch jump)
drop = an attack made with you dropping from a height
raw = non-crit attacks from weapons such as market gardener, neon annihilator, axtinguisher
stealth = involves sneaking and avoiding direct confrontation at first
WOW = indicates possible positive outliers in your demo collection, wagyu grading
CHAT = indicates relevant chat message to frag
MIC = indicates relevant voice chat message to frag
raw = conditional crit weapons such as neon annihilator, axtinguisher, sun on a stick that kill without the conditional crit
crit = crit was involved in frag, context added from other terms
direct = direct projectile hit or can describe movement, add more context for soldier to not confuse with direct hit
bhop = bunnyhop
hs, headshot = headshot kill
timing = timing is a key feature of this demo
snipe = long range kill, usually for non-sniper demos
Demo capture (record or render) with Lawena
obs: https://obsproject.com/ (or other screen recording software)
lawena: https://lawena.github.io/
HLAE: https://www.advancedfx.org/

using lawena to launch tf2

2 ways:
screen record with OBS or other screen recording software, fast. you can record with default TF2 client, or run max settings in more optimized launch/configs with Lawena and record from there.

in-game:
  • jpg = image sequence, set to 100% to reduce compression, recommended if doing this method. slower than recording but consistently records with least amount of lag. good for lower-spec PCs that lag when running tf2 at max settings.
  • tga = image sequence, lossless huge filesize, needs to be converted to png/jpg for video editors to read/recognize image sequence, not worth time, difference from 100% quality jpg negligible
  • h264 (mp4) = doesn't record and crashes game
  • webm = doesn't record and crashes game

Image render (jpg) - in-game render
- remember to mute the game because the stuttering/looping audio gets annoying. don't worry since the audio gets recorded to .wav file
- go to VDM tab in lawena, select demo file in your tf folder, then type in the tick ranges to record (you should have them from earlier). add exec+record, then create vdm files, then play demo. if game is slow and writing files to the selected output directory, it's recording. takes a while so do something else.


demo types (.dem):
local demo - no scoreboard, only your perspective
sourcetv demo - scoreboard, multiple perspective
some servers may have a website where you can download recently recorded games
https://uncletopia.com/stv

replay demo - server requires replay support

take notice of death/ragdoll animations if you need to sync first person to cam clips for continuity. rerecord so both clips match.

also Help menu with more info
Demo sorting: categories/sessions
preference
depending on what video you want to make. you don't necessarily have to choose one over the other.

Usually, if you find good session with too many good clips to just scramble across different videos, you would want to make a specific folder for that grouping of demos.


Categorical
Good to put non-session focused demos in alike folder.
Example:
random general pyro demos go in "CLASS SPECIFIC/3-PYR_GENERAL"/"CLASS SPECIFIC/8-SNI_HUNTSMAN" folder
random general huntsman demos go in "8-SNI_BOW-GENERAL"/"8-SNI_HUNTSMAN-GENERAL" folder
cliff related demos go in "MAP + PROP SPECIFIC/CLIFF FRAGS"
more teamwork based demos go in "cliff related demos go in "TEAMWORK"
further, teamwork based demos where the enemy accidentally helps you can go into "TEAMWORK/TEAMWORK WITH ENEMY"


Session-focused
etndhcgtjhnldetenhd2

session with category
having good clips touching more mediocre clips may justify including/grouping them for a video, what's the word for this

prioritize session if the demos work well together, when coherent chronological makes sense to make a priority, may be grounds to make that time bubble of demos into folder/video

could be good for more diverse variety of frags/non-frag demos, a mixed bag, more mixed that a usual categorical video with a single weapon or technique being showcased
Demo sorting time management/morale
SET HEALTHY LIMITS!
depending on your mood/stress level:
DAILY RECOMMENDED/GUIDE DEMO (DEEP) SORTING LIMITS:
(for local-made demos, mostly short length)
~100 higher risk of tf2 burnout, recommended advanced demo sorting experience and in sounders of 10/20/25
~50 demo sort - standard 9-5 (for lack of better words)
~25 in lower spirits but you still want to keep the grind going
~20 in slightly more lower spirits but you still want to keep the grind going
ABOVE more for active video want to make

~10 somehow able to make video and do some little sorting on side for future videos
~0-5 you didn't pace yourself/really bad day/really sick of tf2 so you're doing something hopefully enjoyable or resting to get the tf2 mood back on

note: it may be difficult to switch gears from demo sorting mode to video editor/camera director mode
space out demo sorting intervals, at worst you can do 1 then do something like coding but recommended in blocks of about 5 or 10 if you can't stand for doing it too long
the entertainability of the demos can and will influence your endurance, the good nuggets that are great clips/demos will boost morale and help build hype to find next great clip that you know for sure you'll use in a video
boring clips such as a simple shot anyone could've made or a dud which is a demo that should've never been recorded (nothing really happens) can drain you, feeling like you've wasted time, but that is a large point here, you "waste"/spend your time rooting demos you don't feel will work for a video for the viewing experience – television.
Demo sorting: keybinds and commands
wip
lawena comes with default binds
maybe more complicated with non-default WASD layout (i use colemak, i use winkey+space to cycle to specific colemak layout where WARS (WASD) works)
default english colemak doesn't let whatever is in the WASD work normally for directional camera control, set keys and make it to a language you don't use
windows:
Microsoft Keyboard Layout Creator (MSKLC) Version 1.4
https://www.microsoft.com/en-gb/download/details.aspx?id=102134
you could also use some other tool to rebind keys but TF2 may somehow ignore

useful commands to add in lawena custom settings, find good place to put:

these allow you to scroll along demo, see if a kill notice entry involves you then go back 1000 ticks, requires demoui to be off (shift+f2)

bind KEY "demo_gototick 500 1" bind KEY "demo_gototick -1000 1"
can use fast forward binds too:

bind KEY "demo_timescale 2" = 200% speed
bind KEY "demo_timescale 6" = 600% speed
for speeds above 600, you will have to press key twice or write command like this:
bind KEY "demo_timescale 12; wait 2; demo_timescale 12" = 1200% speed
increase wait number if not working properly
higher speeds are less stable, more likely to cause crash
can also use buttons like i have in my demo hud (https://gamebanana.com/mods/357786) with ready-made tick buttons to go to

bind KEY "exec autoexec" (sometimes changing class will execute your class binds which do get recorded in demos, overriding some keys, or type in console/menu button command)
Demo sorting: Contributors of scoring/quality (rough guide)
here are some of my general rules/considerations/guide to what makes a demo/clip good, you may disagree. so more precise, what i score for my demos when sorting.
not necessarily how you should play, for viewing experience.

these are my standards for standard vanilla gameplay/other things in mind (nocrits, usually uncletopia, playing with randoms/regulars, loose/less co-ordinated teamwork), make your own if needed

positive score and negative score mix, hopefully ending up in positive score

- Style
- Technicality/Complexity
- Skill gap

To simplify, if the clip/demo
  • Looks good
  • You and the enemy put up a fight
  • Execute a hard technique on a hard target
Then probably good for video

Positive score (⭐):
⭐⭐⭐⭐⭐
  • Combining and succeeding risky techniques
  • Anticipating enemy movement multiple steps ahead
  • Putting up a fight (and even losing) against a equally/higher skilled player
  • Deliberate rather than happenstance
⭐⭐⭐⭐
  • Taunt kill, extra points for active combat

⭐⭐⭐
  • Precise shots
  • Combo kill: employing multiple techniques
  • Teamwork kill, more than simple assist
  • Active combat; enemy aware of you (not stealth) – this makes for a more challenging encounter
  • Enemy struggling against you - a back and forth - a fight
  • Risky - going for stupid/extremely hard shots/frags/techniques and succeeding
  • Using the map/environment: water, barrels, cliffs, foilage, etc.

⭐⭐
  • Huntsman sniper subclass, simple usage is contributes to huntsman revolution to overthrow hitscan sniper population (sniper rifle is unbalanced)
  • Huntsman: low/non-max charge for mid/long range kills, possibly utilizing arcing trajectory (harder to hit compared to higher-velocity, less arcing max-charge)
  • cool techs like trimping
  • uncletopia (no rnd crits, class limits, casual but more playable)
  • Spinning (180s, 360s, 720s, etc.) to disorient yourself but hitting a skillshot anyway, more effective when there is real threat; not just a spin, but usually does add style points regardless
  • Lucky shots, like killing an invisible spy or a random rocket that kills someone unexpectedly
  • Dodging attacks
  • Team play, providing sandviches, igniting arrowheads, immobilizing enemies with airblast, etc.
  • "Double" killing a dead ringer spy (cloak pop and kill before dead ringer restores charge)


  • Projectiles
  • Flicks/snappy aim
  • Taunting before/after kill, silliness factor, good for not taking game too seriously in a non-competitive setting, especially default taunting
  • Picking up and using others' weapons
  • Using sub-optimal weapons for frags
  • fancy stealth/non-spy stealth
  • market garden (non-simple mgs preferred)
  • killing hitscan snipers without sniper rifle(?)
  • chat or voice chat response (use caution if aggressive response)
  • Benign "exploits", especially impractical/difficult ones really only useful for memeing or funny kills (like , or ), which are balanced in some way, for example:
    a-posing: funny pose, useless combat-wise, meme value
    kamikaze spam: mostly useless, funny kill, mindgame value
    suggestion in case valve tf2 team wants to patch this: nerf this so instead of no damage dealt to self when doing taunt with map touching sweetspot (near head-ish), its sets you 1 max hp until resupply/death so its more balanced because it is a bit BS (even though it is a bad "strategy"). Or it could straight up be patched out (rip)

Situational score (+/-):
  • Skill disparity - You killing noob, you killing top fragger
  • Sydney Sleeper + Bushwacka combo: hard to pull off and harder to not accidentally kill someone with sydney sleeper.

Negative score (🛌):
🛌🛌🛌🛌🛌
  • Using Sniper Rifle, it's unbalanced, denying too much non-spy/non-hitscan sniper gameplay from happening
  • Sniper's Sniper Rifle - fast long-range high-damage hitscan damage
    hitscan sniper (long range, high damage hitscan - no bullet drop, no bullet speed - it's a laser)
  • Server with random crits/bullet spread (includes casual)

🛌🛌🛌🛌
  • Using a cancelable continuous taunt (conga, high-five) or silent taunt (director's vision) for thirdperson vision instead of default taunting which is more balanced (non-cancelable with sound cue)
  • Beggars taunt bait w/ cancellable continuous taunt
  • Server with !rtd, especially with active users of command
  • dishonorable/malignant exploits that give you obvious unfair advantage – like tele out of bounds to build unkillable/unseeable sentry that kills enemy team, irregular interp for backstab advantage

🛌🛌🛌
  • Playing too safe; tryharding too hard (focusing too much on quantity of kills rather than quality, harder metric to quantify), less penalty if hitscan snipers on enemy team
  • Close proximity to spawn
  • Killing harmless prey that aren't in your way (such as hoovies or civilians)
  • Enemy not moving/afk, less penalty if comedic clip or more than just killing an afk player
  • You vs lower skill players/team (obvious skill disparity, depends on what kind of clip you feature). Example: playing as spy against a team that keeps walking into your melee range over and over again. Are you being challenged?
  • Being pocketed (medic ignoring rest of team), less penalty if doing something like uber-chaining

🛌🛌
  • Fighting against hitscan snipers, competent or not. they usually stand still/jiggle in one spot with little rotation (less complex movement)
  • Close proximity to spawn, made worse if doing something like sticky spamming the spawn
  • wm1/less thought intensive gameplay (wm1 only pyro, wm1 heavy who only pushes cart, hitscan sniper etc.)
  • sticky spam, especially with the stock (8 shots), less penalty if somehow more deliberate
  • Stealth with no flair/too plain, like a spy getting a simple backstab on unaware enemy
  • Using Dead Ringer
  • Unnecessary kills (maybe hard to gauge)

🛌
  • A clip with pre–2022-07-07 Iron Bomber which had a larger pill hitbox
  • Clip with a dead ringer spy (makes your frags feel incomplete, empty. maybe if it worked more as a feign more than a shield?), less penalty if did a killing shot (≥125 dmg) that had some technique
  • Taunting for thirdperson vision, less penalty if hitscan sniper present on enemy team to find a route to gameplay with closer ranged/projectile/balanced classes, less penalty if taunting after kill/attempting taunt kill
  • Chokepoint/crowd fire - less deliberate aim
Demo sorting: confidence rating for video eligibility
this step will greatly help you decide what to put in a video
you will make sure your demo filename has (on top of basic info like date/class/server):
- what happened in demo
- confidence rating to indicate video worthiness and quality/rarity

CR = Confidence Rating

CR
Details
S+
Ultra rare: For extremely exceptional demos - this folder will be very sparse if it exists
S
Top of the line demos, difficult/rare things, no doubt in video
A
Well executed, definitely in video
B
Like A, but not as well executed, but well enough for video. Can be culled in place for an A.
C
Consider: You have doubts about including this demo in a video. It looks ok, but doesn't instantly give you a feeling to give it a higher rank. May be in contact with a session of majority higher ranked. Can be weeded out later in video production when you get settled in on a video.
D
Not good enough for a major production, maybe for a second channel. OK but no.
E
Too common to include. Can group with D to be part of a second channel video.
F
Delete your demo.

Larger categories usually S to C and smaller S to B

examples:
202X-XX-XX_XXXX-ut@pl_borneo-sni-demo05
->
202X-XX-XX_XXXX-A-ut@pl_borneo-sni-flickbowshotOnmidairSol

202X-XX-XX_XXXX-ut@cp_dustbowl-pyr-dja
->
202X-XX-XX_XXXX-B-ut@cp_dustbowl-pyr-detjmpaxSct_3200

optionally put a rough tick guide, put tick range later when recording demo stage, you would ideally want to do this to B rated and above demos, don't waste too much time on lower ones
bare minimum CamelCase when necessary to make description to improve readability

after this, consolidate S to C in single folder, you should be able to see your confidence rating in one folder without missing too much chronological-wise, better to have a tighter chronological demo grouping. you may miss some but not too much.
video editing
syncing camera shots with main first person footage
make dummy/empty layer
find Point Of Kill(s) (POK) (or Point(s) Of Interest (POI)) - like landmarks
- POK is when the exact frame an enemy dies AND when the kill notice of them dying pops up
move the dummy layer to the POK or POI of the first-person clip
get your camera shot and find the POK
go to the exact frame then trim the start to the POK
drag the cam clip to the FP clip's POK
change durations as necessary by dragging start/end handles, remember to drag the synced layers with each other when moving the relevant clips
examples of helpful POIs:
the first frame of: kill notice, player ignition, muzzle flash, round timer, status effects like jarate or marked for death, crit indicators, chat messages, player voice chat, hp/ammo, from alive to dead ragdoll,etc.

aim for 0-2 frame sync disparity

slow motion
examples: [examples here]
recommended to use jpeg render in lawena (remember to mute game for annoying repeating noise, audio will record to a .wav)
host_framerate [number here]
the higher the host_framerate, the slower the demo will record
⚠️ Broken Stuff Troubleshoot Part 1
Disclaimers about my specific usage of demos:
I am local demo user. I use Windows 10 Operating System. Specific knowledge on server-created/sourceTV demos/replays is lacking. You may have to adapt and find out workarounds if you have different conditions, such as Linux users.

I list problem, problem example, solution.


Round counter pips don't match time of recording
May appear filled up too much or to max (example 3/3 BLU round pips filled yet the game isn't over). Demos don't seem to capture this properly/compatibility issues (little experience with valve casual, i go uncletopia). solution, find/edit/make hud customization override that hides the round counter in Resource/HudMatchStatus.res, make "RoundCounter"'s ypos to 999999
Possible solution, run the affected demo first on fresh launch. Different gamemode UI elements may confuse each other.


My Lawena recording keybinds are messed up from demo playback
Demo playback can mess with existing keybinds since demos run the same commands as you did at time of recording, especially if you have class configs that change certain keybinds.

Solution: Reinitialize autoexec
In console, "exec autoexec" to reinitialize your Lawena keybinds.


Missing sound effects
For example, missing scout shotgun sound or no pyro detonator sound for certain demos.

Solution: Add it in post
- play+record demo again to make sure
- add the sound effect in post, open file in your tf directory: tf2_sound_misc_dir.vpk or tf2_sound_vo_[LANGUAGE]_dir.vpk
then find missing sound. use search function with substring to find partial word matches for relevant terms. example if detonator sound is missing, type something like deto then flare_detonator_launch.wav will appear. some sound names aren't as straight forward so digging may be needed.
https://nemstools.github.io/pages/GCFScape-Download.html
- you may also want to add in sound effects for the sake of your video, you may want to add IN a critical hit sound effect for a teammate as it doesn't play normally. or maybe a meat physics sound for a funny ragdoll clip. whether you want to go crazy or stay more true to the game is your choice.


Glowing outlines don't appear
Demos don't show outlines properly: teammate outlines on spawn, cart outline, intelligence, etc.

❌ No Solution Found
I don't know how to fix this. Made sure "glow_outline_effect_enable" and "tf_enable_glows_after_respawn" were set to 1 in console. Video edit caption/graphic for cart outline if relevant.


Ragdoll appearing out of place
Sometimes ragdolls spawn at player positions at the start of the demo, possibly from recording a new demo just as someone dies, resulting in an A pose ragdoll dropping to the ground, which is distracting and detracting. Or it could simply be a ragdoll that shouldn't be present.

Solution: Turn them off and on again
Turn off ragdolls then back on.
Lawena has alias commands ragson ragsoff, and by default "R" is the toggle button ("recbindings.cfg" in your ".../Lawena/lawena" folder). There may be timing involved to hide unwanted ragdolls and toggling them back on to show a ragdoll of interest.


Other players holding invisible weapon
Demo capture mayn't record certain things; not perfect
the further things are from a "bubble" from your player, the worse/less the capture is (locally-made/client-side demos)


Cosmetics not appearing on ragdolls
You are using a version of TF2 compatible with the demos but maybe not exact version that the ragdolls are default skin.

Solution: See depot downloading section



MERGE WITH OTHER DL DEPOT STUFF🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥

how to fix:
VERIFED WORKING FOR PRE-SMISSMAS 2022: ✅✅✅✅
FIRST: Rename your live Team Fortress 2 folder to something like "Team Fortress 2 - LIVE" so when you revert, you won't have to download so much (more info later).
Steam Library > Team Fortress 2 > Properties... > Betas > Select "pre_smissmas_2022_demos"
This will then download a specific version of TF2 with "better" compatability (further versions may play demos before late 2022 fine but here the ragdolls will appear properly).
Once downloaded, rename the Team Fortress 2 folder to something like "Team Fortress 2 - pre_smissmas_2022_demos".
Now go back to the betas and select "None" to go back to live TF2 for your default installation.
This part, not really sure the most efficient method but after I selected none, I closed steam, reopened it, verified integrity of game files in properties, then resumed download. For some reason Steam NEEDS to download more even though your live folder was working just fine. If you REALLY want to make sure your live installation wasn't messed with, you would make another backup of your live installation and delete the finished installation of live TF2 which steam somehow needs to waste more time and bandwidth, then copy your backup of live installation and rename back to "Team Fortress 2", then it works just fine.



Lawena crashes after playing demos for a while
Happens after playing/recording recording demos for a few times - especially doing cam path shots. Seems to be a memory-related error, things not clearing when things are accumulating.

Solution: Turn TF2 off and on again
Let the game crash naturally, wait for Lawena to close stuff, then relaunch. If doing camerawork, you may want to close TF2 through Lawena after a few attempts/experimenting, so you don't waste time making a good camera pathing just for the game to crash.
There may be a HLAE command to save your campath, which would be useful for a long camera sequence that requires more detail, don't know it.


My screen capture is laggy
Close other resource intensive process such as your browser - the better your hardware, the less this should be a problem. If all else fails, consider previously mentioned JPEG in-game render option. Remember to mute via Volume Mixer to stop annoying sound lag loop BEFORE rendering (you can't until TF2 is unburdened).


Viewmodels not using minmode
You need Internet connection to steam (TF2 item servers), despite the demos being offline. If not, your weapons are treated as if you picked it up off the ground; not a weapon from your inventory. Also, other people's weapons you picked up will not use minmode properly. If the game thinks the weapon isn't yours, then it doesn't use minmode in demos.
Solutions:
- play around with tf_viewmodels_offset_override [x y z]
- tfviewmodelsoffset_override 10 0 -10 (this seems to be same as minmode)
- this mod, "Viewmodel Offset Customizer" https://gamebanana.com/tools/7173 or "Horsie's Viewmodel Editor" https://gamebanana.com/tools/10146
⚠️ Broken Stuff Troubleshoot Part 2

My demo files don't have a file icon (Windows 10)
By default they may be blank (default white page for non-distinct files), making them hard to distinguish.

Solution 1: Quick-fix: TF2 logo from game executable
  1. Open any .dem file (or if already assigned to a program, right click > "Open With")
  2. You should now see the "How do you want to open this file?" dialog box. Make sure "Always use this app to open .dem files" is checked, then scroll down and click "Look for another app on this PC".
  3. Navigate to your live Team Fortress directory ("...\steamapps\common\Team Fortress 2") then open "tf.exe" or "tf_win64.exe".
  4. You will then see a warning window – close it.
Now you will have the TF2 logo for your demo icons.
Attempting to open a demo with TF2:
  • closed: TF2 will launch without your launch settings then play the demo. Eg. TF2 won't be borderless fullscreen if set in Steam's TF2 launch settings and will instead launch windowed.
  • open: TF2 won't open and you will see the following dialog box:


Solution 2: Set a custom icon
  1. Download "Default Programs Editor"[defaultprogramseditor.com], a file association tool for Windows
  2. (Optional) Save this TF2 logo[www.steamgriddb.com] in the Team Fortress directory (or any stationary folder in your system).
  3. File Type Settings > Icon > Search bar: "dem" > Select DEM File > Next > Browse > Select .ico of choice > Save Icon.
  4. You should see whatever logo you set to be the new demo file extension icon.
Attempting to open a demo will take you to the "How do you want to open this file?" dialog box – click anywhere else or press Esc to close it.


I accidentally input a higher tick in the "Goto:" box in the demo UI and now the demo is skipping to the end every time
Don't bother trying to stop it with the "Pause" button on the demo UI.

Solution 1: Simple and effective console command
Type "demo_gototick 10" in console (if 0, black screen and need to resume for demo to load properly).

"Solution" 2: The wrong way
Input a value below the tick cap of the demo and click "Goto:" as soon as the demo plays. Harder to do with a shorter demo. You may want to have a dummy/placeholder demo with a long tick range handy in your demo folder to help you with this. Don't do this method.


My backspace key doesn't work in console/text input
You have likely alt-tabbed from TF2 to another program while holding a modifier key, making TF2 think you're still holding a modifier key.

Solution
Tap and release all your modifier keys (Ctrl, Alt, Shift) once then try backspace again.


Third person goes back to first person model after taunt
This more relevant when making a detached third person camera shot.
Game reverts back to first person model after taunting. Not sure about setting yet to override.

Solution: Spamming thirdperson bind
Bind your mousewheel's up and down scroll to thirdperson:
Add this in Lawena Recording Tool > Advanced > Custom Settings
bind mwheelup thirdperson bind mwheeldown thirdperson
It's possible to get it "perfect" with no stray frames of the firstperson viewmodel, but you may have to use masking in video editor to cover up the parts where first person model appears for a frame or 2. Try to re-record to at least 0 to 2 frames to reduce work needed to mask out the undesired frames.


My player model portrait HUD guy is going crazy/moving very fast
Example comparison
jpeg ingame render somehow messes with how the guy is displayed, consider disabling that hud element or switch to the 2D portrait or use screen capture (OBS, shadowplay, etc.)
Less of a problem with those with more compact/simplistic HUDs that prioritize screen space, only allowing essential things like HP and ammo, hiding things like the player model panel.

Solution 1: Direct screen capture with OBS
Since not using the rendering method, WYSIWYG. Little man will be calm.

Solution 2: Artificial replacement
Hide the player model panel, and make a replacement in SFM.
Take a screenshot of a demo using your HUD of choice.

SFM: white void - use this map, it's for matte removal for transparency in video editing
https://steamcommunity.com/sharedfiles/filedetails/?id=218112016

In SFM, prepare the appropriate mercenary (eg. scout.mdl) and import idle sequence (and running sequences if you want to be more fancy). Add your weapons + cosmetics, could get more complicated for a non-default skin (war paints, unusuals, paint).
You should have idle mercenary that is you.
Use software Ghost-It![www.majorgeeks.com] and overlaying that screenshot over the SFM viewport. Now match the position as close as you can. Now light the model similarly to the screenshot, make sure it looks naturally part of game and not distracting.
Render then render again with lights off. 2 animated sequences.
Find a Set Matte effect in your video editor, Lightness/Luminance, set it to the black and white render. Hide the black and white render layer. Loop as necessary.

Solution 3: Switch to the 2D player model panel
If you prefer.

Solution 4: Hide player model panel
You might not care for the little guy much anyway, so you hide him. Problem solved.
⚠️ TF2 version downloads for demo compatibility (via DepotDownloader)
Depending on when your demo is created, you may run into compatibility issues across updates. Here are the cutoff versions/dates:
pre_07_25_23_demos 🕷️🕸️
2023-07-21_0045-17 (UTC)

pre_smissmass_2022_demos 🎄🎁
2022-11-04_1747-23 (UTC)

pre_jungleinferno_demos 🌴🔥
2017-09-14_2129-42 (UTC)

Specific TF2 demo compatibility version download commands for DepotDownloader
The Types of Incompatibility: Knowing the difference
Game Version Incompatibility
game won't crash or freeze, you should see this in the console:
Host_Error: DataTable_ParseClientTablesFromBuffer failed.

check out this guide for console download method
i use depotdownloader since steam console download doesn't work for me and don't want to mess around with live tf2 installation

the 441 depots take a while (2-3 hours) to download, they are the games resouces (textures, sounds, maps, configs)
core files don't take as long, less to download

21 July 2023 – 00:45:17 UTC 7 months ago 1093030316367308660

pre_07_25_23_demos 🕷️🕸️
2023-07-21_0045-17 (UTC)

TF2 shared resource files (Depot 441)
.\DepotDownloader.exe -app 440 -depot 441 -manifest 3996324545948955420 -username [STEAM USERNAME] -password [STEAM PASSWORD]

TF2 framework files (Depot 23225X)
WIN
🪟
.\DepotDownloader.exe -app 440 -depot 232251 -manifest 1093030316367308660 -username [STEAM USERNAME] -password [STEAM PASSWORD]
OSX
🍎
.\DepotDownloader.exe -app 440 -depot 232252 -manifest 4845664414220472500 -username [STEAM USERNAME] -password [STEAM PASSWORD]
Linux
🐧
.\DepotDownloader.exe -app 440 -depot 232253 -manifest 8481848623592128300 -username [STEAM USERNAME] -password [STEAM PASSWORD]



pre_smissmass_2022_demos 🎄🎁
2022-11-04_1747-23 (UTC)

TF2 shared resource files (Depot 441)
.\DepotDownloader.exe -app 440 -depot 441 -manifest 314077012305764573 -username [STEAM USERNAME] -password [STEAM PASSWORD]

TF2 framework files (Depot 23225X)
WIN
🪟
.\DepotDownloader.exe -app 440 -depot 232251 -manifest 8319568912250137931 -username [STEAM USERNAME] -password [STEAM PASSWORD]
OSX
🍎
.\DepotDownloader.exe -app 440 -depot 232252 -manifest 2262584799279223344 -username [STEAM USERNAME] -password [STEAM PASSWORD]
Linux
🐧
.\DepotDownloader.exe -app 440 -depot 232253 -manifest 2039032268643181297 -username [STEAM USERNAME] -password [STEAM PASSWORD]



pre_jungleinferno_demos 🌴🔥
2017-09-14_2129-42 (UTC)

TF2 shared resource files (Depot 441)
.\DepotDownloader.exe -app 440 -depot 441 -manifest 7707612755534478338 -username [STEAM USERNAME] -password [STEAM PASSWORD]

TF2 framework files (Depot 23225X)
WIN
🪟
.\DepotDownloader.exe -app 440 -depot 232251 -manifest 2174530283606128348 -username [STEAM USERNAME] -password [STEAM PASSWORD]
OSX
🍎
.\DepotDownloader.exe -app 440 -depot 232252 -manifest 8624037758464932425 -username [STEAM USERNAME] -password [STEAM PASSWORD]
Linux
🐧
.\DepotDownloader.exe -app 440 -depot 232253 -manifest 3512165917877440762 -username [STEAM USERNAME] -password [STEAM PASSWORD]




Map Version Incompatibility
"Engine Error
bad inline model number XXX"
Can be fixed by backing up maps every time they get updated and by downloading depot 441 manifests (you can stop the download when you reach relevant map). Don't know if you can specifically download a single map to avoid downloading whole depot manifest.

Broken demo
Game freezes and sound loops, need to force close game - I don't know how to fix
may involve downloading exact tf2 version with depots, but doubtful.
⚠️ Game version demo compatibility + depot/beta downloading
Old version TF2 - pre 2023-10-09
Make sure Steam is in offline mode or closed so game co-ordinator can't connect because it will crash your old version.
What gets broken:
- Viewmodels: minmode is tied to game coordinator connection, fix with command "tf_viewmodels_offset_override 10 0 -10"
- Decals, player avatars (freeze cam) don't display. After some more testing, seems like player avatars can SOMETIMES appear in the freeze cam - seems some demos save OR (not sure) somehow fetch the player avatars and others don't (these demos would probably load if game-coord was compatible/didn't crash the game)

Crashes after loading, so close to showing the menu screen
[confirm this needed] 2023-10-09 TF2 update https://www.teamfortress.com/post.php?id=210366
for whatever reason, if steam is online (not offline mode) and TF2 has loaded, the game will check whether the version is current, if not, it kills the game. not great for demo film makers
use offline mode when demo recording and use steam web client for everything else.

you may see
Host_Error: DataTable_ParseClientTablesFromBuffer failed.

If demos doesn't run, download older version of tf2 in betas tab, hint: look at when your demo was recorded, a TF2 version around that time should be able to play it. Usually in Steam Library > TF2 properties > Betas, TFTeam shows you major updates that affected the demo system in a big way that causes compatability issues.
You can install to replace your current installation but you should install in a way to keep new and old version you want so you don't have to install everytime you want to use old version of TF2.
(untested, i used depot method instead which someone help me with)
Rename your "Team Fortress 2" folder so it's not exactly that, choose beta to download then go to game's properties, "Local Files" and then"Verify integrity of game files..." to install the old version of choice. When done, rename that old version "Team Fortress 2" folder with relevant date/version name, then rename your live version TF2 back to exactly "Team Fortress 2" then verify game cache again, steam should detect the folder and not download (too much of) whole folder again. Then you can use Lawena to launch that old installation, easier to change tf2 installations to use through Lawena, so you don't need to do the renaming verify thing, changing betas every time.

Old TF2 may not open properly and you may need to use Lawena and Offline mode in Steam client (game co-ordinator cause crash in old version).
(editor note: merge this with above)

DEPOTS: for more advanced and want more specific update, use:
https://github.com/SteamRE/DepotDownloader/

=====================
App ID: 440 (TF2)
https://steamdb.info/app/440/depots/
Depot 440 = koth_product_final.bsp (a single map, ignore)
Depot 441 = base files
Depot 232251 = TF2 Windows client
Depot 232252 = TF2 OSX client
Depot 232253 = TF2 Linux client
https://steamdb.info/depot/441/manifests/
https://steamdb.info/depot/232251/manifests/

To make a complete installation, you need a matching Depot 441 and Depot 23225X (Windows/OSX/Linux) on same dates to download, then combine them.
Since 2023-10-09, you need to either use Steam's offline mode or exit steam in order for the game not to close itself (see above).

Key TF2 versions relevant to demo playback:

2022-07-25: demo compatibility cutoff point

21 October 2022 – 00:59:12 UTC (232251) + 4 November 2022 – 17:47:23 UTC (441)
pre_smissmass_2022_demos
Pre-smissmass 2022: (verifying depot download if match beta) See betas. Ragdolls, (add more compatibility info here)

pre_jungleinferno_demos
14 September 2017 – 21:29:42 UTC

Thanks to:
Fixing pre-update demo playback guide for manifest numbers for the Steam betas, see here for Steam console download method (didn't work for me)
⚠️ Map issues
suggestion:
on top of disabling auto updates, you may want to limit your download rate to be extra safe to have enough time to react and save files, should you try launching TF2 without knowing there's an update (even a small one).
Steam > Settings > Downloads > Tick "Limit bandwidth to:" > type "1" in the field
this should give you enough time to cancel the update and check patch notes on the game's library page or official website update page.
if there aren't any patchnotes, you may want to wait, so you can save any affected map version before they get overwritten, saving you from using steam depots to retrieve a map version.
to normally download a game, temporarily disable the bandwidth limit or right click the game on steam downloads page and select "Suspend Download Limit".

Solution to broken maps
What it looks like:
  • appearance of orange "TRIGGER" boxes (shouldn't be normally visible)
  • misaligned map geometry, props & objects; players clipping in walls

Insulate yourself and make a map archive:
Every time certain maps are affected in an update, save a copy of every affected map BEFORE updating game.
If you didn't make map archive/missing an old version map update, try looking at tf2maps[tf2maps.net], you may find version of map you want in the "History" section of a map page.

For cases if somehow you can't find a copy of specific previous (official) map update not even on tf2maps[tf2maps.net], you may have to download old TF2 version with depots, but not sure if you can download only map folder instead of whole TF2 installation. That is more last resort. Also TF2 Wiki Update history section in map page shows you info: https://wiki.teamfortress.com/wiki/List_of_maps

Once of you have your appropriate map version, put in tf/maps folder and rename/move old one.
It may be easier to make a folder with name like "Map override for demos" in custom folder, then make "maps" folder then put the map versions you want to use in there – overrides the map in tf/maps, and easier to see what maps you're overriding.

Workshop map demos won't load properly (random numbers in filename error)
For whatever reason, the workshop map demos need a version of the map renamed with a bunch of letters and numbers after it.

When you try playing a demo with a workshop map, it may give you an error message showing the map name with a bunch of numbers after the actual map name.



You will also see the same error message in the console, which you can copy and paste later, here is example:
Missing map maps/workshop/koth_kemptown_rc1.ugc767410655.bsp, disconnecting



Locate the map at:
"steamapps\workshop\content\440\[????????]\[MAPNAME].bsp"
or
"Team Fortress 2\tf\maps\workshop"
or it may be easier to find using Everything[www.voidtools.com], powerful search software to locate files on your computer, configure the drives you want to search (any and all drives that have steam games on them), then copy and paste the map name without the numbers into the search box, example: "koth_kemptown_rc1".

Now copy and paste that file either into "Team Fortress 2\tf\maps\workshop" folder or a custom mod folder in "Team Fortress 2\tf\custom\Custom Maps\maps\workshop" if it's easier ("Custom Maps" can be any name).

Next, rename the demo to exactly what was shown in the error. Example:
koth_kemptown_rc1.bsp
becomes
koth_kemptown_rc1.ugc767410655.bsp

Make sure you don't rename the original you first saw at the beginning, since live game will load that version instead of the renamed copy you just made. The demo should load as normal.

DOWNLOAD MAP if you didn't back it up since you started too late for a certain version
see manifest download part for more info

download map version, compare your demo recorded date with a relevant Depot 441 manifest in steamdb history page: https://steamdb.info/depot/441/history/
Search for the relevant map, for example, cp_snakewater_final1 (had a few changes that break demo more often than other maps)
you search "cp_snakewater_final1" and you should see every time a change was pushed for the map
make sure the manifest date is the nearest one BEFORE your demo date (you converted)

if a manifest date is very close to the demo date, convert your demo date to UTC:
https://www.timeanddate.com/worldclock/converter.html
example:
2023-01-05_1441 is 5th of January, 2023, 2:41 PM (AEDT) -> 5th of January, 2023 4:41 PM (UTC)

(editor note, merge with other depot info)

steam depot download, open cmd in folder of exe, then paste this with relevant manifest number and login credentials:

.\DepotDownloader.exe -app 440 -depot 441 -manifest [MANIFEST NUMBER] -username [STEAM USERNAME] -password [STEAM PASSWORD]

recommended to make throwaway if not comfortable/too annoying to type or paste main account credentials. if steam guard on, you will have to input your code.
⚠️ Muting players
Text chat too distracting/irrelevant/clutter for clip?
Use following commands Lawena custom settings before launch:

hud_saytext_time 0, to hide completely
hud_saytext_time 6, for default time
hud_saytext_time 48, for similar time like default time if using jpg render method

Voice chat too distracting/irrelevant for clip? Use voice_enable 0 in Lawena custom settings before launch.

Not sure if muting function works properly in demo playback, but blocking players through steam blocks chat + mic (may require connection to game-coord to work (game co-ord crashes for old versions)).

There is a "voice_ban.dt" file in main tf folder, most likely only affects voice chat (more testing needed).
(to confirm) If using old installation, your "voice_ban.dt" may be outdated – copy and paste the "voice_ban.dt" file from your main/live installation to the old version tf folder you're using.

If all else fails, use voice_enable 0 in Lawena custom settings before launch.
Bonus: Demo to SFM
If you find a demo you want to go above and beyond for - especially cinematically, you may want to port it to SFM. You could make a demo for something unrelated to a frag video, maybe to use as a basis for an SFM animation that involves heavy use of combat that uses the current version of TF2 (SFM's TF2 is outdated, harder to emulate things accurately such as detonator jumps).

Tutorial by thomas on YouTube:
https://www.youtube.com/watch?v=R0nIFhRABbs

You will have to go out of your way to find out hat names, weapon skins and manually add hats to every player model because everyone will be hatless when everything is imported correctly.
You may have to segment and stitch together smaller captures if the demo is too long since SFM can have a memory crash in the process of importing the demo's data.
Be ready for game crashes/compatibility issues due to TF2 client versions or HLAE versions. Things update and become incompatible, you may have to go out of your way to find the right combination that is compatible.
more links/credit/source
https://steamcommunity.com/sharedfiles/filedetails/?id=3010274168
(reference)

https://steamcommunity.com/sharedfiles/filedetails/?id=1453925986

thanks to spider + some of my subscribers for helping with a 2023-07-25 demo problem, introducing me steam depot downloading
1 Comments
kokodayo Feb 3, 2024 @ 7:01pm 
very useful lawena guide, thanks alot bing soy