FastDL (Fast Download) allows Half-Life servers to offload file downloads to an external HTTP file server, reducing load on the game server and speeding up the download experience for connecting clients. For the most part, servers running Unified SDK mods work the same as any Half-Life game or mod when FastDL is configured — there is, however, one important caveat involving the network data system that requires a small extra step.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/twhl-community/halflife-unified-sdk/llms.txt
Use this file to discover all available pages before exploring further.
How network data interacts with FastDL
The Unified SDK generates a newnetworkdata/data.json file each time a map is loaded. This file is unique to the current map and cannot be pre-generated or cached ahead of time on the file server.
When not using FastDL, the client downloads this file directly from the game server immediately after it is generated — no extra configuration is needed.
When using FastDL, the client first checks the FastDL file server for the file before falling back to the game server. If networkdata/data.json is missing from the FastDL server, the game will still function correctly and will download the real file from the game server — but it will print an error message in the console that may confuse players.
The solution is to host a dummy networkdata/data.json on the FastDL file server. When the client downloads this empty file, the SDK recognises it as a placeholder, discards it, and then downloads the real generated file from the game server directly.
Setting up the dummy file
Create the dummy JSON file
Create a file named
data.json with the following content — this is a valid but empty JSON object:Place the file in the correct directory
On your FastDL file server, place the file at the following path within your mod’s content directory:For example, if your FastDL server root is
https://fastdl.example.com/mymod/, the file should be accessible at:The dummy file only needs to be placed once. It does not need to be updated between maps — the SDK always fetches the real per-map
networkdata/data.json directly from the game server after discarding the dummy file.