Fix: Players Stuck on 'Verifying Resources' / Precaching

November 5, 2025 Daemon666 8 min read 2 wyświetleń

Players connect, reach the Verifying and downloading resources screen, and sit there — the loading bar crawls, freezes, or the client eventually drops. This stage is where the client fetches every custom file the map and plugins reference and checks them against what the server expects. A hang here has three usual causes: too many files (the precache limit), a broken download source, or a consistency mismatch. This sorts out which one you have.

1. Understand the stage

Before a player spawns, the server sends the full list of resources the map needs — the .bsp, models, sounds, sprites, and anything plugins precache. The client verifies which it already has and downloads the rest. If that list is enormous, or a file cannot be fetched, or a file the client has does not match what the server demands, the client stalls right here. So the fix depends on why the list will not clear.

2. Check the precache file count

GoldSrc has a fixed ceiling on precached files. Pile on custom-model plugins, sound packs, sprite-heavy HUD plugins and a content-rich map, and the resource list grows huge — slow to verify and, past the limit, a hard failure. If the hang correlates with adding plugins or a specific map, trim what gets precached. Disable content-heavy plugins one at a time in plugins.ini and retest; the same budget problem behind the out of sound slots overflow shows up here as a stall. Fewer files means a faster, more reliable verify stage.

3. Fix the download source

If the client is trying to download and cannot, it hangs. Two server cvars govern whether and how fast that download works:

sv_allowdownload 1
sv_downloadurl "http://dl.example.com/cs"

With sv_allowdownload 0, clients missing a file are stuck or join without it. With allow on but no FastDL URL, downloads crawl over the ancient in-game UDP channel — a 20 MB map can hang the verify screen for minutes and time out. Set up FastDL so files come over HTTP; the full setup is in the FastDL setup guide. If your FastDL is configured but every file 404s, the client stalls forever — see sv_downloadurl ignored for the path traps.

4. Resolve a consistency mismatch

If the server enforces file consistency and a client has a different version of a file (a differently-sized model or sprite), the client can hang or get dropped at verification. Consistency is enforced with sv_consistency and force_consistency rules:

sv_consistency 1

With consistency on, the client must match the server's version of enforced files. If you distribute a custom model but a client cached an old one, it fails here. Either make sure the FastDL serves the exact files the server uses, or relax consistency for non-critical files. A mismatch shows up as a specific file the client cannot reconcile, not a slow bar.

5. Rule out the client's own settings

Some hangs are the player's side. If a player set cl_allowdownload 0, they cannot pull missing files and will stall or join broken no matter what your server does — you cannot override it. Have them confirm:

cl_allowdownload 1
cl_downloadingfiles 1

If one player hangs and everyone else loads fine, it is that player's setting or connection, not your server.

Troubleshooting

  • Bar crawls extremely slowly — downloading over the slow UDP channel. Set up FastDL so files come over HTTP.
  • Hangs on one specific map — that map's custom files are missing from the download source, or push you past the precache limit. Confirm the files are on FastDL and trim plugin precaches.
  • Only one player hangs — their cl_allowdownload is 0 or their link dropped. It is client-side.
  • Drops with a consistency complaint — the client's copy of an enforced file differs. Serve the exact file via FastDL or relax sv_consistency.
  • Started after adding plugins — too many precached files. Disable heavy content plugins to test.

Verification

From a clean test client (delete the custom map and models first), connect and watch the verify stage complete and the map load. If it downloads over HTTP quickly and spawns you in, the pipeline is healthy. Then connect on the heaviest map with all plugins active and confirm it still clears — that proves you are under the precache budget with a working download source. Keep the FastDL mirror in sync with your map rotation so a newly-added map never introduces files the mirror lacks.

Współtwórcy: Daemon666 ✦
Udostępnij: