Skip to content
MetaHookSvPublic

About

GoldSrc game launcher, mirroring hl.exe with capability of client-side modding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

MetaHook

中文文档

MetaHook is a launcher for GoldSrc engine games for client-side modding, letting users write their own plugins.

What it does

  • Starts the engine (hw.dll or sw.dll) and drives its run loop.
  • Loads plugins and manages their lifecycle.
  • Provides plugins with modding APIs: engine symbol resolution, hooking (inline, VFT, IAT and inline-patch), memory and disassembly access, and more.
  • Loads engine symbol data from gamedata. The gamedata is provided by the upstream GoldSrc_VibeSignatures project.

Supported targets

  • System: Windows x86. (Linux may be supported in the future.)
  • Engine: GoldSrc, GoldSrc Blob, GoldSrc HL25, SvEngine and CoF.
  • Plugin: plugin interfaces are negotiated from V4 down to V1; the current public API version is 115.

Installation

At runtime MetaHook needs a 32-bit Windows system and a supported GoldSrc game installation.

  1. Build or obtain the launcher (see Build instruction).
  2. Put MetaHook.exe in the game's root directory, where the original game executable lives.
  3. Copy svencoop/metahook/gamedata from the install tree to <game>/<mod>/metahook/gamedata.
  4. The SDL runtime package (SDL2.dll, SDL3.dll) is built and installed alongside the launcher.

Launching:

  • Launch with MetaHook.exe -game <mod> on the command line; or simply rename MetaHook.exe to <mod>.exe, for example: MetaHook.exe -> svencoop.exe.
  • Plugins are loaded from <mod>/metahook/configs/plugins.lst.
  • Plugins are not part of this repository. Install them and their shared dependencies under <mod>/metahook/ separately.
  • Add -redirect_fatalerror_to_log to suppress fatal error dialogs and append their title and message to fatalerror-<datetime>-<pid>.log beside the launcher. Engine Win32/SDL2 error dialogs are redirected; warnings and confirmation dialogs retain their normal behavior. If the log cannot be written, the error remains silent. The engine's normal fatal-error exit still runs.

Documentation

Chinese translations live under docs/zh-CN/.

License

MetaHook is available under the MIT License; see LICENSE. Bundled third-party sources keep their own license files.

About

GoldSrc game launcher, mirroring hl.exe with capability of client-side modding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages