Metamod-r основан на оригинальном метамоде от Will Dayдля Half-Life 1 с некоторыми улучшениями Jussi Kivilinna. Он содержит огромное количество оптимизаций производительности и намного более чистый код. Ядро было написано с использованием JIT-компилятора.
Рекомендуется:
ReHLDS с версией API 3.1 или новее
Команды
Синтаксис команд: meta <команда> [<параметры>]
Консольные команды, где <plugin> это ID мета-плагина, его префикс или путь:
Установкаversion - отобразить информацию о версии metamod
game - отобразить информацию о gamedll (список зарегистрированных msg, их id и размер)
list - отобразить список загруженных плагинов
cmds - список консольных команды, добавленных плагинами
cvars - список кваров, добавленных плагинами
refresh - загрузить/выгрузить любые новые/удаленные/обновленные плагины
config - отобразить конфигурацию из config.ini
load <name> - найти и загрузить плагин по указанному пути
unload <plugin> - выгрузить указанный плагин
reload <plugin> - перезагрузить указанный плагин
info <plugin> - отобразить всю информацию о указанном плагине
pause <plugin> - приостановить работу плагина
unpause <plugin> - возобновить ранее приостановленный плагин
retry <plugin> - перезапуск мета-плагина
clear <plugin> - выгрузить из памяти неудачно загруженный плагин
force_unload <plugin> - принудительная выгрузка плагина
require <plugin> - выключить сервер, если указанный плагин не запущен
Создать директорию addons в директории вашего мода (в нашем случае это cstrike)
Создать директорию metamod в созданной директории addons
Скопировать файлы metamod_i386.so или metamod.dll и config.ini из архива в директорию addons/metamod/
Подключаем metamod к серверу в liblist.gam
Открываем liblist.gam текстовым редактором и ищем строки gamedll
Удаляем их и вписываем одну строку, согласно нашей ОС
Для Windows
Код: Выделить всё
gamedll "addons\metamod\metamod.dll"
Код: Выделить всё
gamedll_linux "addons/metamod/metamod_i386.so"
Подключение плагинов в metamod
Синтаксис файла plugins.ini: <платформа> <путь к DLL плагина> <описание (опционально)>
Создать файл plugins.ini в директории addons/metamod/
Пример подключения мета-плагинов:
Для Windows
Код: Выделить всё
win32 addons\amxmodx\dlls\amxmodx_mm.dll
Код: Выделить всё
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
Код: Выделить всё
// Format is as follows:
// <optionname> <value>
//
// Fields are whitespace delimited (tabs/spaces).
//
// Comments are either c++ style ("//") or unix shell style ("#"), and
// can appear ONLY at the beginning of a line.
//
// The following provide a list of recognized options, their defaults, and
// examples of usage.
//
// debuglevel <number>
// gamedll <path>
// exec_cfg <file>
// clientmeta <yes/no>
// dynalign_list <yes/no>
// debuglevel <number>
// where <number> is an integer, 0 and up.
// Sets the initial debugging level for metamod (same as cvar "meta_debug").
// Default is normally 0. If hlds is run with "-dev", default is 3.
// Overridden by: +localinfo mm_debug <number>
// Examples:
//
// debuglevel 0
// debuglevel 42
debuglevel 0
// gamedll <path>
// where <path> is an absolute path, or a path relative to the gamedir.
// Overrides the auto-detected gamedll, in particular for bots.
// Default is empty, with gamedll being auto-recognized based on the
// gamedir.
// Overridden by: +localinfo mm_gamedll <path>
// Examples:
//
// gamedll dlls/hl.dll
// gamedll ../podbot/podbot.dll
// gamedll /home/bots/dlls/mybot.dll
// exec_cfg <file>
// where <file> is a path relative to the gamedir. Note! This CANNOT be
// an absolute path, as hlds will not "exec" absolute pathnames.
// Overrides the default filename containing hlds commands to run just
// after loading Metamod.
// Default is "addons/metamod/exec.cfg".
// Overridden by: +localinfo mm_execcfg <path>
// Examples:
//
// exec_cfg configs/debugging.cfg
// exec_cfg ../clan/match.cfg
// clientmeta <yes/no>
// Setting to disable or enable Metamod's client commands ('meta list' and
// 'meta version')
// Extra setting for Metamod+All-Mod-Support Patch.
// Default is "yes".
// Overridden by: +localinfo mm_clientmeta <yes/no>
// Examples:
//
// clientmeta yes
// clientmeta no
clientmeta no
// dynalign_list <yes/no>
// Setting to disable or enable plugins list dynamic alignment into output
// NOTE: This option affect's on incorrect parse from HLSW on Tab 'Metamod Plugins'
dynalign_list yes