Metamod: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
м (Откат правок 78.85.26.105 (обсуждение) к версии GordonFreeman)
(Metamod-P)
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
== Описание ==
 
== Описание ==
Основная цель проекта Metamod - улучшить возможности мода "на один уровень вверх". Находясь в связке между библиотекой мода (далее просто DLL) и DLL подключенного к метамод плагина, он перехватывает вызовы функций между ними, с возможностью передачи их в другие плагины. Таким образом, вы можете подключать неограниченное количество плагинов и улучшать возможности движка. Проще говоря, metamod внедряет функции DLLки плагина в мод. Плагины могу добавляеть или изменять функциональность мода, или самого движка - например, добавить новые команды и квары сервера или клиента, или даже отключение этих команд. Такой тип работы модуля похож на работу Альфреда Рейнолдса - Admin Mod, но не добавляет готовый функционал без возможности внесение каких-нибудь изменений, а подключение плагинов и внесение изменений этими плагинами. Последняя версия: '''1.9'''
+
Основная цель проекта Metamod - расширить возможности HLDS сервера, добавить новый функционал или изменить существующий при помощи плагинов. Находясь в связке между библиотекой мода (далее просто DLL) и DLL подключенного к метамод плагина, он перехватывает вызовы функций между ними, с возможностью передачи их в другие плагины. Таким образом, вы можете подключать неограниченное количество плагинов и расширять возможности движка. Проще говоря, metamod внедряет функции DLLки плагина в мод. Плагины могу добавляеть или изменять функциональность мода, или самого движка - например, добавить новые команды и квары для сервера или клиента. Последняя версия: '''1.20'''
  
 
== Установка ==
 
== Установка ==
Установка метамод довольно проста, необходимо создать пару папок и произвести изменение в liblist.gam файл для подключения его.
+
Установка метамода довольно проста: необходимо создать пару папок и произвести изменения в liblist.gam.
  
Последовательность установки Metamod:
+
Последовательность установки Metamod на Windows сервер:
* Создать папку '''addons''' в папке с модом (будто valve или tfc).
+
* Создать папку '''addons''' в папке с модом (прим, valve или tfc).
 
* Создать папку '''metamod''' в созданной папке '''addons''' (основная папка metamod).
 
* Создать папку '''metamod''' в созданной папке '''addons''' (основная папка metamod).
 
* Создать папку '''dlls''' в папке '''metamod''' (место расположение dllku метамода).
 
* Создать папку '''dlls''' в папке '''metamod''' (место расположение dllku метамода).
* Скопировать файл metamod.dll из архива [http://sourceforge.net/projects/metamod/files/Metamod%20Binaries/1.19/metamod-1.19-win.zip/download metamod-1.19-win.zip] в папку '''addons/metamod/dlls/'''.
+
* Скопировать файл 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/ Джусси Кивиллины] (автора JK_Botti).
+
Это специальная версия Metamod от финского коддера [http://koti.mbnet.fi/axh/ Jussi Kivilinna] (автора [[JK_Botti]]).
Что-же он из себя представляет?
+
Отличия от оригинальной версии:
* Встроенный список энтайтов в библиотеке был замен на динамический. Информация о энтайтах берется на прямую из мода. Можно подключить и использовать этот метамод к любому моду.
+
* Встроенный список энтайтов в библиотеке был замен на динамический. Информация о энтайтах берется на прямую из мода. Можно подключить и использовать этот метамод в любом моде.
* Автоматическое обнаружение и загрузка dll модов.
+
* Автоматическое обнаружение и загрузка библиотек сервера.
* Лучшее потребление ресурсов 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.

Ссылки