This is a porting of MetaHook for SvEngine (GoldSrc engine modified by Sven Co-op Team),
Mainly to keep you a good game experience in Sven Co-op.
Most of plugins are still compatible with vanilla GoldSrc engine. please check plugin docs for compatibility.
Although using hook is likely to be dangerous in games, there is no VAC ban reported yet.
Btw Sven Co-op is not a game protected by VAC
You can even connect to a "VAC protected" server with -insecure
, as VAC is not working at all in Sven Co-op.
Use a separate account to play Sven Co-op if you still worry about VAC ban wave. Sven Co-op is a free game.
-
git pull https://github.com/hzqst/MetaHookSv or download from https://github.com/hzqst/MetaHookSv/archive/main.zip
-
All required executable and resource files are in
Build
folder, pick whatever resource you want and copy them to\SteamLibrary\steamapps\common\Sven Co-op\
. -
(Optional) Rename
\SteamLibrary\steamapps\common\Sven Co-op\svencoop\metahook\configs\plugins_svencoop.lst
toplugins.lst
-
Launch game from Steam Game Library or
\SteamLibrary\steamapps\common\Sven Co-op\svencoop.exe
-
The new
svencoop.exe
is renamed frommetahook.exe
, you could run game from "metahook.exe -game svencoop" however it will cause game crash when changing video settings. -
Plugins can be disabled or enabled in
\SteamLibrary\steamapps\common\Sven Co-op\svencoop\metahook\configs\plugins.lst
-
The
SDL2.dll
fixes a bug that the IME input handler from original SDL library provided by Valve was causing buffer overflow and game crash when using non-english IME. you don't need to copy it if you don't have a non-english IME.
-
git pull https://github.com/hzqst/MetaHookSv or download from https://github.com/hzqst/MetaHookSv/archive/main.zip
-
Run
install-to-SvenCoop.bat
-
Launch game from shortcut
MetaHook for SvenCoop
or\SteamLibrary\steamapps\common\Sven Co-op\svencoop.exe
-
Other games follow the same instruction.
-
You should have your Steam running otherwise the SteamAppsLocation will probably not going to find GameInstallDir.
-
Visual Studio 2017 or 2019, with vc141 or vc142 toolset.
-
CMake
-
git client
Let's assume that you have all requirements installed correctly.
-
git clone https://github.com/hzqst/MetaHookSv
-
Run
build-initdeps.bat
, wait until all required submodules / dependencies are pulled. (this may takes couple of minutes, depending on your network connection and download speed) -
Run
build-MetaHook.bat
, wait untilsvencoop.exe
generated atBuild
directory. -
Run
build-CaptionMod.bat
, wait untilCaptionMod.dll
generated. -
Run
build-Renderer.bat
, wait untilRenderer.dll
generated. -
Run
build-BulletPhysics.bat
, wait untilBulletPhysics.dll
generated. -
Run
build-StudioEvents.bat
, wait untilStudioEvents.dll
generated. -
All generated plugins should be at
Build\svencoop\metahook\plugins\
directory.
-
Run
debug-SvenCoop.bat
-
Open
MetaHook.sln
with Visual Studio IDE, set specified project as launch project, compile the project, then press F5 to start debugging.
-
Other games follow the same instruction.
-
You should restart Visual Studio IDE to apply changes to debugging profile, if it is running.
-
New and better capstone API to disassemble and analyze engine code, new API to reverse search the function begin.
-
Blocking duplicate plugins (which may introduce infinite-recursive calling) from loading.
-
A transaction will be there at stage
LoadEngine
andLoadClient
, to preventInlineHook
issued by multiple plugins from immediately taking effect. Allowing multiple plugins toSearchPattern
andInlineHook
same function without conflict.
A subtitle plugin designed for displaying subtitles and translate in-game HUD text.
A plugin that transform player model into ragdoll when player is dead or being caught by barnacle.
A graphic enhancement plugin that modifiy the original render engine.
You can even play with 200k epolys models and still keep a high framerate.
This plugin can block studio-event sound spamming with controllable cvars.
This plugin intercepts snapshot
command and replace it with ISteamScreenshots
interface which will upload the snapshot to Steam Screenshot Manager.
This plugin downloads missing player models from https://wootguy.github.io/scmodels/ automatically and reload them once mdl files are ready.
Cvar : scmodel_autodownload 0 / 1
This plugin exposes an interface to communicate with Sven Co-op server.
ABCEnchance is a metahook plugin that provides experience improvement for Sven co-op.
- CSGO style health and ammo HUD
- Annular weapon menu
- Dynamic damage indicator
- Dynamic crosshair
- Minimap which is rendered at real time
- Teammate health, armor and name display with floattext.
- Some useless blood efx
https://github.com/DrAbcrealone/ABCEnchance
Changing HUD colors in game.
https://github.com/DrAbcrealone/HUDColor
This is a plugin for GoldSrc that adds OpenAL support to its sound system. This fork fixes some bugs and uses Alure instead of OpenAL directly for easier source management.
Since SvEngine uses FMOD as it's sound system, you really shouldn't use this plugin in Sven Co-op.