This is a source-level reconstruction of the WON-era Half-Life launcher, build 1792 compiled Sep 20 2001, protocol version 1.1.0.8. This project aims to recereate the original launcher sources for archival & historical reasons and aims to bring various improvements and bug fixes over the original version of the launcher.
![]() Controls | ![]() Advanced controls | ![]() Video options | ![]() Video modes |
![]() Customize | ![]() Internet games | ![]() Game info | ![]() Filter servers |
![]() Chat rooms | ![]() Create game | ![]() Advanced options | ![]() Custom game |
This project has been reversed 95% by using LLMs and agent orchestration in a matter of 2 months. By utilizing advanced agent orchestration techniques and custom-crafted prompts, it was possible to reconstruct the imaginatory style of the code the original launcher might've once had by an acceptable margin. While I personally love reversing, the introduction of LLMs and agentic workflows has helped me to create projects like this one, because the agents significantly speedup the process of reversing I would need do by hand, painfuly slowly.
While there's no build of the launcher with debug symbols we know of, there are various sources from where we can gather extra information about the code:
Using a combination of such sources we are able to guess how did the original code look like, with some accuracy.
This is a list of fixes this project implements:
The original launcher carries out several dependencies such as vgui.dll, or the WON DLLs such as WONCrypt.dll or WONAuth.dll. For easy installation, by default, we bundle these DLLs into the launcher executable itself. This is also why the executable is bigger than the original file (among other factors).
The installation is merely about copying the hl.exe file into the Half-Life folder and launching it.
Short answer: Only Half-Life 1.1.0.8, the final WON release from September 2001, is supported. This is the version of the game we used to reconstruct the source.
In the old versions of the game, backwards compatibility is not established due to various factors such as incompatible DLL dependencies, engine interface differences, and so on. Therefore other versions of the game are not compatible with this source reconstruction.
Part of the reconstruction was also a WON server emulation. Since some of the pages such as Chat Rooms or Internet Games are technically not easily testable because WON servers are down, an emulator has also been built which allowed me to visually confirm and test these pages.
The emulator can be found at wonserver/.
Quick start:
wonserverd.exe builds along with hl.exe.wonserverd.exe once from the folder you want it to keep its keys in.
It generates verifier.key, auth.key and kver.kp on first start (this
can take about a minute).kver.kp into your Half-Life folder, replacing the
original — the launcher uses it to trust the emulator's certificates.woncomm.lst at
127.0.0.1. See wonserver/README.mdwonserverd.exe running, then launch hl.exe as normal.winmm.lib, ddraw.lib, dxguid.lib).cmake -S . -B build -G "Visual Studio 18 2026" -A Win32
cmake --build build --config Debug
If your CMake doesn't yet know the 2026 generator, use the 2022 generator with the v145 toolset:
cmake -S . -B build -G "Visual Studio 17 2022" -A Win32 -T v145
cmake --build build --config Debug
Open build/re-won-launcher-1792.sln to develop in the IDE; hl is set as the
startup project.
Copy halflife_path.txt.example to halflife_path.txt and point it at your
WON-era Half-Life install. After that, every build copies hl.exe (and the WON
DLLs) into that folder automatically, and F5 in Visual Studio launches the
deployed copy directly. Skip this file and the build still works — it just
leaves the binaries in build/<config>/ for you to copy manually.
3 commits
C++
95.3%
C
4.2%
This is a source-level reconstruction of the WON-era Half-Life launcher, build 1792 compiled Sep 20 2001, protocol version 1.1.0.8. This project aims to recereate the original launcher sources for archival & historical reasons and aims to bring various improvements and bug fixes over the original version of the launcher.
![]() Controls | ![]() Advanced controls | ![]() Video options | ![]() Video modes |
![]() Customize | ![]() Internet games | ![]() Game info | ![]() Filter servers |
![]() Chat rooms | ![]() Create game | ![]() Advanced options | ![]() Custom game |
This project has been reversed 95% by using LLMs and agent orchestration in a matter of 2 months. By utilizing advanced agent orchestration techniques and custom-crafted prompts, it was possible to reconstruct the imaginatory style of the code the original launcher might've once had by an acceptable margin. While I personally love reversing, the introduction of LLMs and agentic workflows has helped me to create projects like this one, because the agents significantly speedup the process of reversing I would need do by hand, painfuly slowly.
While there's no build of the launcher with debug symbols we know of, there are various sources from where we can gather extra information about the code:
Using a combination of such sources we are able to guess how did the original code look like, with some accuracy.
This is a list of fixes this project implements:
The original launcher carries out several dependencies such as vgui.dll, or the WON DLLs such as WONCrypt.dll or WONAuth.dll. For easy installation, by default, we bundle these DLLs into the launcher executable itself. This is also why the executable is bigger than the original file (among other factors).
The installation is merely about copying the hl.exe file into the Half-Life folder and launching it.
Short answer: Only Half-Life 1.1.0.8, the final WON release from September 2001, is supported. This is the version of the game we used to reconstruct the source.
In the old versions of the game, backwards compatibility is not established due to various factors such as incompatible DLL dependencies, engine interface differences, and so on. Therefore other versions of the game are not compatible with this source reconstruction.
Part of the reconstruction was also a WON server emulation. Since some of the pages such as Chat Rooms or Internet Games are technically not easily testable because WON servers are down, an emulator has also been built which allowed me to visually confirm and test these pages.
The emulator can be found at wonserver/.
Quick start:
wonserverd.exe builds along with hl.exe.wonserverd.exe once from the folder you want it to keep its keys in.
It generates verifier.key, auth.key and kver.kp on first start (this
can take about a minute).kver.kp into your Half-Life folder, replacing the
original — the launcher uses it to trust the emulator's certificates.woncomm.lst at
127.0.0.1. See wonserver/README.mdwonserverd.exe running, then launch hl.exe as normal.winmm.lib, ddraw.lib, dxguid.lib).cmake -S . -B build -G "Visual Studio 18 2026" -A Win32
cmake --build build --config Debug
If your CMake doesn't yet know the 2026 generator, use the 2022 generator with the v145 toolset:
cmake -S . -B build -G "Visual Studio 17 2022" -A Win32 -T v145
cmake --build build --config Debug
Open build/re-won-launcher-1792.sln to develop in the IDE; hl is set as the
startup project.
Copy halflife_path.txt.example to halflife_path.txt and point it at your
WON-era Half-Life install. After that, every build copies hl.exe (and the WON
DLLs) into that folder automatically, and F5 in Visual Studio launches the
deployed copy directly. Skip this file and the build still works — it just
leaves the binaries in build/<config>/ for you to copy manually.
3 commits
C++
95.3%
C
4.2%