1.19 GPL (GNU General Public License)    
3.0/5 28
Metamod project is a plugin/DLL manager for Half-Life servers.




Metamod project is a plugin/DLL manager for Half-Life servers.

Metamod is a plugin/DLL manager that sits between the Half-Life Engine and an HL Game mod, allowing the dynamic loading/unloading of mod-like DLL plugins to add functionality to the HL server or game mod.

The purpose of MetaMod is to function "one level up" from the normal Half-Life game mod DLL. Sitting between the mod game DLL and the Half-Life engine/binary, it intercepts the function calls between the two, with the option of passing them along untouched, as well as passing them on to as any number of additional mod-like DLLs.

Thus, you can actually have multiple "mod-like" DLLs in operation at one time. I say "mod-like" because these additional DLLs (we'll call them "plugins") are not intended to provide a full "game"; that functionality is still provided by the "game dll". However, these plugins can add to or modify the functionality provided by the game dll, or by the engine itself - for instance, adding new server commands, or new client commands, or even disabling commands built into the game dll. Although the plugin isn't intended to provide full HL-game functionality, since it's receiving the same information given to the game DLL, it has the opportunity to do anything the game DLL can do (given enough coding effort of course).

This is very similar to the way Alfred Reynolds' AdminMod works, as it also sits between the engine and game dll, catching routines, and passing them on. thus modifying functionality. However, rather than providing just the additional server features builtin to AdminMod DLL, MetaMod allows you to add features from multiple, separate DLLs. Under that framework, AdminMod can be a plugin itself, and be run alongside numerous other plugins. And, as of version 2.50 of AdminMod, AM has now transitioned to running as a Metamod plugin.

What's New in This Release:

Added support for new HLSDK API functions QueryClientCvarValue2() and ClientCvar2().
Added GET_HOOK_TABLES() to let plugins make interceptable engine/dll calls.
Added MAKE_REQUEST_ID() to assist plugins in generating request ids for QueryClientCvarValue2().
Added mod support for Move In! 1.0, and Special Death Match Alpha 2.0.
Fixed a bug where Windows DLL load failures produced an empty message.
Fixed a bug where plugins could not catch NewDLL calls for GameDLLs that do not provide NewDLL information.
Fixed a bug corrupting memory when using Metamod with engines or game dlls with a different interface than the one compiled against, e.g. older engines.
Last updated on December 12th, 2006

0 User reviews so far.