Metamod: различия между версиями
Nikita (обсуждение | вклад) м (Откат правок GordonFreeman (обсуждение) к версии Kissbb) |
(→Metamod-P) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
== Описание == | == Описание == | ||
− | Основная цель проекта Metamod - | + | Основная цель проекта Metamod - расширить возможности HLDS сервера, добавить новый функционал или изменить существующий при помощи плагинов. Находясь в связке между библиотекой мода (далее просто DLL) и DLL подключенного к метамод плагина, он перехватывает вызовы функций между ними, с возможностью передачи их в другие плагины. Таким образом, вы можете подключать неограниченное количество плагинов и расширять возможности движка. Проще говоря, metamod внедряет функции DLLки плагина в мод. Плагины могу добавляеть или изменять функциональность мода, или самого движка - например, добавить новые команды и квары для сервера или клиента. Последняя версия: '''1.20''' |
== Установка == | == Установка == | ||
− | Установка | + | Установка метамода довольно проста: необходимо создать пару папок и произвести изменения в liblist.gam. |
− | Последовательность установки Metamod: | + | Последовательность установки Metamod на Windows сервер: |
− | * Создать папку '''addons''' в папке с модом ( | + | * Создать папку '''addons''' в папке с модом (прим, valve или tfc). |
* Создать папку '''metamod''' в созданной папке '''addons''' (основная папка metamod). | * Создать папку '''metamod''' в созданной папке '''addons''' (основная папка metamod). | ||
* Создать папку '''dlls''' в папке '''metamod''' (место расположение dllku метамода). | * Создать папку '''dlls''' в папке '''metamod''' (место расположение dllku метамода). | ||
− | * Скопировать файл metamod.dll из архива [http://sourceforge.net | + | * Скопировать файл metamod.dll из архива [http://prdownloads.sourceforge.net/metamod/metamod-1.20-win.zip?download metamod-1.20-win.zip] в папку '''addons/metamod/dlls/'''. |
− | * Теперь последняя часть: подключение метамода к | + | * Теперь последняя часть: подключение метамода к серверу. |
** Открыть файл liblist.gam в папке с модом при помощи блокнота. | ** Открыть файл liblist.gam в папке с модом при помощи блокнота. | ||
** Найти строчку с '''gamedll''' и удалить её. | ** Найти строчку с '''gamedll''' и удалить её. | ||
Строка 60: | Строка 60: | ||
== Metamod-P == | == Metamod-P == | ||
− | Это специальная версия Metamod от финского коддера [http://koti.mbnet.fi/axh/ | + | Это специальная версия Metamod от финского коддера [http://koti.mbnet.fi/axh/ Jussi Kivilinna] (автора [[JK_Botti]]). |
− | + | Отличия от оригинальной версии: | |
− | * Встроенный список энтайтов в библиотеке был замен на динамический. Информация о энтайтах берется на прямую из мода. Можно подключить и использовать этот метамод | + | * Встроенный список энтайтов в библиотеке был замен на динамический. Информация о энтайтах берется на прямую из мода. Можно подключить и использовать этот метамод в любом моде. |
− | * Автоматическое обнаружение и загрузка | + | * Автоматическое обнаружение и загрузка библиотек сервера. |
− | * Лучшее потребление ресурсов CPU | + | * Лучшее потребление ресурсов CPU. |
== Ссылки == | == Ссылки == |
Текущая версия на 09:40, 29 октября 2013
Содержание
Описание
Основная цель проекта Metamod - расширить возможности HLDS сервера, добавить новый функционал или изменить существующий при помощи плагинов. Находясь в связке между библиотекой мода (далее просто DLL) и DLL подключенного к метамод плагина, он перехватывает вызовы функций между ними, с возможностью передачи их в другие плагины. Таким образом, вы можете подключать неограниченное количество плагинов и расширять возможности движка. Проще говоря, metamod внедряет функции DLLки плагина в мод. Плагины могу добавляеть или изменять функциональность мода, или самого движка - например, добавить новые команды и квары для сервера или клиента. Последняя версия: 1.20
Установка
Установка метамода довольно проста: необходимо создать пару папок и произвести изменения в liblist.gam.
Последовательность установки Metamod на Windows сервер:
- Создать папку addons в папке с модом (прим, valve или tfc).
- Создать папку metamod в созданной папке addons (основная папка metamod).
- Создать папку dlls в папке metamod (место расположение dllku метамода).
- Скопировать файл metamod.dll из архива metamod-1.20-win.zip в папку addons/metamod/dlls/.
- Теперь последняя часть: подключение метамода к серверу.
- Открыть файл liblist.gam в папке с модом при помощи блокнота.
- Найти строчку с gamedll и удалить её.
- Вписать на место удаленной строчке следующее: gamedll "addons\metamod\dlls\metamod.dll" .
- Сохранить файл liblist.gam.
Теперь при запуске сервера в консоль будет выводится следующее:
Metamod version 1.19p32 Copyright (c) 2001-2006 Will Day Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'. This is free software, and you are welcome to redistribute it under certain conditions; type `meta gpl' for details.
Что говорит нам о успешной установки metamod модуля.
Настройка и Использование
Установка плагинов
В основном используется файл plugins.ini в папке addons/metamod/ для подключения плагинов. Синтаксис файла plugins.ini: <платформа> <путь к DLL плагина> <описание (опционально)>
Платформа - это ключевое слово для обозначения типа ОС плагина. win32 для .dll и linux для .so . Путь к DLL плагина - прописываем место нахождение плагина. Используется наклонная черточка стиля unix - (/).
К примеру, строка для подключения плагина AMX MOD X будет смотреться так: win32 addons/amxmodx/dlls/amxmodx_mm.dll .
Консольные команды
Все консольные команды имеют префикс meta. использование: meta <команда> [<параметры>]
Доступные команды: version - отобразить информацию о версии metamod list - отобразить список загруженных плагинов cmds - список консольных команды, добавленных плагинами cvars - список кваров, добавленных плагинами refresh - перезагрузить metamod config - конфигурация из config.ini (нигде не используется) load <name> - найти и загрузить плагин по указанному путь unload <plugin> - выгрузить указанный плагин reload <plugin> - перезагрузить указанный плагин info <plugin> - отобразить подробную информацию о указанном плагине pause <plugin> - приостановить работу плагна unpause <plugin> - возобновить работу всех остановленных плагинлв retry <plugin> - повторить попытку неудачной загрузки плагина clear <plugin> - выгрузить из памяти неудачно загруженный плагин force_unload <plugin> - принудительная выгрузка плагина require <plugin> - выключить сервер, если указанный плагин не запущен
где <plugin> это ID плагина, его префикс или путь до плагина
Так-же есть квар:
meta_debug - установка уровня отладки
Metamod-P
Это специальная версия Metamod от финского коддера Jussi Kivilinna (автора JK_Botti). Отличия от оригинальной версии:
- Встроенный список энтайтов в библиотеке был замен на динамический. Информация о энтайтах берется на прямую из мода. Можно подключить и использовать этот метамод в любом моде.
- Автоматическое обнаружение и загрузка библиотек сервера.
- Лучшее потребление ресурсов CPU.