STEAM GROUP
The Official HLDJ Group HLDJ
STEAM GROUP
The Official HLDJ Group HLDJ
24
IN-GAME
206
ONLINE
Founded
September 7, 2008
Quick 2021 Guide to Using HLDJ in Most (Source Engine) Games
A quick guide since there don't seem to be many up-to-date resources around these days, and I've seen people who weren't aware of basic things like needing to set the voice codec.

Basic Server Configuration
Note that these cvars have to be set by the host, so if HLDJ isn't working on somebody else's server you're going to have to ask them to do 1 and 2 for you:

1) Check if the game has sv_allow_voice_from_file, and if so, that it's set to "1".
2) Check if the game uses sv_voicecodec or sv_use_steam_voice.
  • If it has sv_use_steam_voice, make sure it's set to "0".
  • If it has sv_voicecodec, make sure it's set to "vaudio_speex" (or POSSIBLY voice_speex, though I haven't seen any game that uses that).
  • Note that you may need to do a changelevel to reset the map for the command to actually be enacted.
3) Not necessary, but setting sv_alltalk (and sometimes things like "sv_deadtalk") to "1" can be beneficial to the experience.

This should get HLDJ working on most Source games. I can confirm it's all that you need for Counter Strike: Source and GMod. It works by default in Left 4 Dead 2 (though not necessarily on other people's servers), which might make that game a useful tester to make sure your issue is with the specific game and not with HLDJ in general.

Still Doesn't Work in a Specific Game: Game checks for voice_input.wav in the wrong place
At least one game (No More Room in Hell) I've encountered checks for voice_input.wav in the wrong directory. The second section of this guide explains how to quickly work around this, and likely applies to other games as well. HLDJ's manual talks about this problem briefly, with a short guide on how to find the correct directory, in the "Tips & Tricks" section.

Still Doesn't Work in a Specific Game: host_writeconfig writes to the wrong place
At least two games (Counter-Strike: Global Offensive and Double Action: Boogaloo) I've seen have the host_writeconfig command drop the config in an unusual directory, which breaks HLDJ completely. You can tell this is happening if entering HLDJ commands in the console gets a normal-looking response, but does not actually do anything. For example, if your main audio directory has several subfolders, selecting those subfolders and then using 'la' will still list the original directory, and repeatedly hitting 'hldjn' will cause it to say it is selecting the first song every time. This guide explains how to fix this for Double Action: Boogaloo, and should apply to other games with the same issue, though you'll have to find the correct directories yourself. HLDJ will think the proper directory is the cfg folder under the directory it has listed as the game directory, you can find the one the game is putting files in by using "host_writeconfig asdf" (or any unusual name) and searching directories related to the game for "asdf" (or whatever you called the file).

For CS:GO, the cfg folder you want to delete will be in a directory like "C:\Program Files (x86)\Steam\userdata\[this is going to vary for each individual, look through the numbered folders for one with a '730' subfolder]]\730\local\cfg\". The command to make the symlink will be something like
mklink "C:\Program Files (x86)\Steam\userdata\[this is going to vary for each individual]\730\local\cfg\" "C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg\" /d

Getting Kicked for "Issued Too Many Commands"
At least two games (Counter-Strike: Global Offensive and Insurgency) I've played seems to have a command flood protection that doesn't play well with HLDJ's quick select function (that is, just entering the number of the file in console to select it directly), where you'll wind up getting kicked (sometimes even from games you're hosting!) with a message like "issued too many commands". This guide explains how to fix this for Insurgency, and likely applies to other games as well.

Source games HLDJ absolutely does not work in
I've only encountered one so far, but I figure it's probably worth mentioning. Fistful of Frags removed the 'alias' command, which HLDJ requires to function, so HLDJ will not work in it at all (at least without some sort of extreme modification).
Last edited by The Weirdest Corpse of All Time; Feb 28, 2021 @ 4:34pm