A client-side modding framework, plugin collection and toolchain for GoldSrc / Sven Co-op.
MetaHookSv is a port of MetaHook to SvEngine, the GoldSrc engine modified by the Sven Co-op team. It launches the game with a plugin host compiled in and exposes a stable C++ API, so client-side plugins can hook the engine without modifying the game's own files.
Most plugins still work on vanilla GoldSrc — check each plugin's own documentation for engine compatibility.
| Repository | Role |
|---|---|
| MetaHookSv | Aggregator: one CMake tree for every component, shared thirdparty/, CI and releases |
| MetaHook | Game launcher: engine startup, symbol resolution, hook infrastructure and the public plugin API |
| MetahookInstaller | GUI installer and plugin list editor, plus a CLI, built on .NET 8 with Avalonia |
- Renderer — a graphics enhancement plugin that completely overhauls the legacy GoldSrc renderer with OpenGL 4.4.
- VGUI2Extension — a VGUI2 modding framework other plugins use to hook and patch VGUI2 components; adds multi-byte text, HiDPI and input-method support.
- CaptionMod — closed captions, HUD text translation and a Source-2007-style chat dialog.
- SteamScreenshots — takes over the
snapshotcommand and sends the captured image to the Steam Screenshot Manager.
- BulletPhysics — client physics: ragdolls, jiggle bones, collision with moving brushes, buoyancy and barnacle/gargantua interactions.
- SCCameraFix — fixes spectator/chase camera glitches (Sven Co-op only).
- StudioEvents — filters studio-event sounds to stop repeated or overlapping playback.
- SCModelDownloader — downloads missing player models from the scmodel database and reloads them once ready (Sven Co-op only).
- BetterSpray — upgrades the spray system with external and high-res images, correct aspect ratios, dynamic reloading and Steam sharing.
- ResourceReplacer — redirects model and sound loading through global and per-map
.gmr/.gsrrules. - PrecacheManager — adds a command that dumps every precached sound, model and generic file next to the map.
- ThreadGuard — waits for engine threads to finish before a module unloads, fixing crash-on-exit.
- HeapPatch — breaks through the GoldSrc heap limitation.
- HUDColor — changes HUD colors in game; also serves as a compact sample plugin. Forked from DrAbcOfficial/HUDColor.
Third-party plugins such as ABCEnchance, halflife-cli, MetaAudio and Trinity-EngineSv are covered in the main README.
Shared libraries consumed by the plugins above:
- SteamAPIBridge — the shared
SteamAPIBridge.dllbehind SteamScreenshots, BetterSpray and UtilHTTPClient_SteamAPI. - UtilAssetsIntegrity — validates GoldSrc StudioModel assets and indexed-color BMP images.
- UtilHTTPClient_SteamAPI — HTTP client built on the Steamworks HTTP API.
- UtilHTTPClient_libcurl — HTTP client built on libcurl.
- UtilThreadTask — a standalone task queue.
Mirrors kept so the build stays reproducible:
- SteamSDK — mirror of the Steamworks SDK (© Valve Corporation).
- MemoryModulePP — mirror of bb107/MemoryModulePP with CMake support.
- BSPLocalizationTools — toolsets for GoldSrc BSP localization (C#).
- SteamAppsLocation — a Windows x86 CLI that locates an installed Steam game by AppId.
- MetahookInstaller — GUI installer and CLI (see Core).