Half-Life 2 old engine without "pirating"

So I still have my physical copy of Half-Life 2 back from 2004, and I was thrilled to see that there is a common interest in going back to the unadulterated version with all of its idiosyncrasies, most notably the bunnyhopping and prop boosting.
However, the only way I have been able to get to play it is by the means of following links to large downloads with everything prepared for my enjoyment. It seems absurd that one has to resort to such an arguably nefarious act, defeating the purpose of the disc that I own. Is there a way to get the game to work from the disc itself without downloading more than a gigabyte from the internet?
The problem appears to be that the files are encrypted, so even if Steam is bypassed, it is still not possible to run the game.

2 Likes

go dowload the oe here https://sourceruns.org/source/downloads/

and go extract it on soursemods on steamapps folder

and it will work fine

but you have to download the sourse sdk 2006 to play it

it will have the most features foward bunnyhopping propfly jclip and much more

your fps will be dropping down when you have on the high settings the shaders and that stuff make those settings to medium or low

That doesn’t really address the crux of the question, and even then, the Source SDK Base is quite a later build.
I have seen references to a certain “hlunp.exe” that supposedly decrypts the files, but I cannot find it anywhere.

My apologies for responding to a very old thread, but i felt like sharing this information here, since it’s hard to find to my knowledge.

The hlunp.exe program is a bit hard to find, but i was able to find it with a google search on some obscure chinese forum, and later found it on a 2004 crack. I’m not sure if i’m permitted to post executables here, so PM me and i’ll send it to ya.

The program does not automatically decrypt the GCFs, the proper keys are required. Turns out they have been publicly posted before multiple times, but they were hard to find without googling at least one of them. The keys can be found on the Half-Life 2 Collector’s Edition page on redump. Simply hover over the “[+]” below the “Contents” text and all the keys for the GCFs should show up.

In order to extract a GCF with the key, you need to give hlunp the proper command. You can see an example below. You could also make a batch/cmd file to extract all of the GCFs automatically.

hlunp -p F:\gcf\halflife_2_base_content.gcf -d F:\hl2 -e \ -k 187D516D65C617EB6FE90FB20211DEC6

What the command does:

  • decrypts halflife_2_base_content.gcf in the folder “gcf” on the F:\ drive with the key provided in the command.
  • extracts it to the “hl2” folder on the same drive
  • (I am not sure what "-e " does, but keep it in there.)

Again, my apologies if this post breaks a rule or two, but hopefully you found it helpful.

3 Likes

That’s awesome. I had almost given up all hope on finding this information. Please do PM it.

Can you PM me hlunp.exe @yoshi ? Did this work for you @silikone ?

I am also trying to play my original 2004 Half-Life Collector’s Edition DVD. I found hlunp.zip at dt-club dot net (obscure chinese forum), but it does not accept the -k argument. It identifies itself as HLExtract when run. I looked into HLExtract and similar tools like GCFScape and HLLib, but I had no luck as they don’t accept decryption keys.

>hlunp.exe
Correct HLExtract usage:
 -p <filepath>   (Package to load.)
 -d <path>       (Destination extraction directory.)
 -e <itempath>   (Item in package to extract.  Multiple items can be extracted.)
 -c              (Console mode.)
 -s              (Silent mode.)
 -m              (Use file mapping.)
 -v              (Allow volatile access.)

Example HLExtract usage:
HLExtract.exe -p "C:\half-life.gcf" -d "C:\backup" -e "root\valve\models" -e 
"root\valve\config.cfg"
HLExtract.exe -p "C:\half-life.gcf" -c -m -v -s

My guess is that it’s a different program simply labelled as hlunp. (Fun fact: that’s actually where i originally got hlunp from when i mentioned the “obscure chinese forum”)

PMed ya the proper program.

Could you send me it aswell?

You can post a link to it here publicly, I think it would be a very useful tool for people unpacking their retail releases.

2 Likes

Thank you for the permission.

https://anonfiles.com/N0CeN7Ffp1/hlunp_exe

(I would’ve preferably added it to my original post but i’m unable to.)

1 Like

Unfortunately this hlunp.exe creates a (very) few corrupted files. You can check this for yourself by glancing at the bottom of hl2\scenes\k_lab\teleport01a.vcd. I have found and recommend another tool: GCFExplorer v1.5 by SASiO. Although it is a GUI tool and not scriptable from the command-line, it did the job for me.

List of corrupted files from hlunp.exe

Models
Gman_gestures.ani
Roller_Spikes.dx80.vtx
reciever_cart.vvd

Materials
brickwall052d_normal.vtf
brickwall052e_normal.vtf
metalwall042a_normal.vtf
breen_fakemonitor_.vtf
gooinglass_normal.vtf

Scenes
teleport01a.vcd

Sounds
Drone2LP.wav
sewer_air1.wav
exp1.wav
exp2.wav
explode_1.wav
swamp_bird4.wav
portal_beam_shoot5.wav
machine6.wav
slicer3.wav
wall_loop1.wav
wall_move3.wav
wall_move4.wav
door_squeek1.wav
fly1.wav
dog_alarmed1.wav
dog_alarmed3.wav
dog_angry1.wav
dog_angry3.wav
dog_servo2.wav
fz_alert_close1.wav
residentialblock.wav
laser_burn.wav
pz_alert1.wav
pz_alert2.wav
pz_die2.wav
pz_pain1.wav
pz_pain2.wav
br_synapse.wav
mo_talkingabout.wav
question23.wav
monk_helpme02.wav

There’s also GCFScape - Nem's Tools [GCFScape - About] - which was always a reliable tool. I’m sure there was another CLI tool for extracting from the command line but I can’t remember the name of it.

I would’ve preferred to use GCFScape, but as far as i know, there is no way to decrypt any files with it.

GCFExplorer extracted the files well. I compared teleport01a.vcd extracted with hlunp to the same file extracted with GCFExplorer and the latter did a good job extracting it properly. One minor annoyance i have with it though, is that you can’t copy and paste a key, instead you need to type it in manually. Otherwise, it’s a pretty solid choice for encrypted GCF extraction.