Константы <cs-dir> - корень установленной КС/сервера кс/папку, куда вы скачали и распаковали кс. в ней хранятся следующие файлы: в Windows версии это hlds.exe hltv.exe hl.exe и тп. а в Linux версии это hlds_ru, hlds_i686 hlds_i486 и тп. ... думаю что и так понятно, что это за папка.
<filename> - имя файла, над которым мы работаем. Константа вводится для того, чтобы сохранить актуальность статьи надолго, потому что имена библиотек модов содержат свою версию, т.е. от версии к версии имена файлов меняются.
Так же в путях до папок или файлов я буду ставит "/" вместо "\". мне так удобнее.
metamod Прежде чем рассказывать о том, как настраивать amxx (там будем называть amxmodx), нужно знать, как и с помощью чего его подключить к CS 1.6 Существует такой файл <cs-dir>/cstrike/liblist.gam в котором указывается путь, до мода кс, который будет управлять игрой. Содержание файла следующие: Code
Нас интересуют gamedll* параметры. gamedll - параметр для использования в Windows gamedll_linux - соответственно в Linux. По умолчанию там подключена стандартная библиотека. Что бы получить больше возможности и гибкости в подключение модов и плагинов, мы можем подключить другую библиотеку, стороннею и не входящую в кс. т.е. её надо скачать. Скачать для Windows Скачать для Linux Скачать для 64-битных ОС.
Дальше немного оформления. Принято, что в папке <cs-dir>/cstrike создаётся папка addons, а в ней папка metamod и уже в ней dlls. Т.е. получается <cs-dir>/cstrike/addons/metamod/dlls - вот в эту папку и нужно положить скачанную библиотеку metamod`a. Возвращаемся к нашему файлу liblist.gam. И, в зависимости от того, какую ОС вы используете, нужно заменить параметры
Для Windows:
gamedll "addons/metamod/dlls/<filename>.dll"
Для Linux Code
gamedll_linux "addons/metamod/dlls/<filename>.so"
Всё, больше мы файлы CS трогать не будем. За исключением server.cfg, но уже если только для какого конкретного плагина.
Что такое amxmodx? Своими словами это мод metamod`a, который позволяет использовать расширить возможности движка КС, навешать на него полезности, красивости, новый функционал и кардинально поменять геймплэй.
Установка и подключение плагинов amxmodx. Официальный сайт Страница загрузки
Скачивать я рекомендую архив файлов AMX Mod X Base. Там есть для linux (<filename>.tar.gz) и для windows (<filename>.zip). Так же рекомендую сразу скачать Counter-Strike Addon - это дополнительный пакет модулей для amxx, что бы можно было воспользоваться большим кол-вом возможностей (статистика, дополнительные моды игры, типа warcraft, zombie и пр...). На странице загрузки нажимайте на Download - тем самым попадёте на скачивание последнего релиза, а не на архив релизов.. Так вы не запутаетесь.
Теперь устанавливаем. Вы скачали 2 архива - amxmodx-1.8.1-base.zip и amxmodx-1.8.1-cstrike.zip. (1.8.1 - это версия на сегодняшний день, потом естественно она поменяется по мере выхода новых версий). 1) Открываем base и видим там папку addons, в которой есть ещё подкаталоги. берём папку addons и распаковываем в <cs-dir>/cstrike. Так как мы там уже создавали папку addons, то Windows попросит заменить папку. Смело заменяйте. Он просто добавит в неё файлы из архива и не тронет папку metamod, которую мы тоже там создали руками. 2) Если нужна статистика или вы будете ставить какой нить мод игры, типа warcraft, zombie, hero и тд... то, открываем архив cstrike и выполняем тоже самое. (папку addons в папку <cs-dir>/cstrike).
3) заходим в папку <cs-dir>/cstrike/addons/metamod/ и создаём там текстовый файл plugins.ini . и вписываем туда такие строчки:
Для Windows:
Code win32 addons\amxmodx\dlls\amxmodx_mm.dll
Для Linux:
Code linux addons/amxmodx/dlls/amxmodx_mm_i386.so
Всё, amxmodx подключен.
О файлах и папках
configs - все конфигурационные файлы amxmodx. data - статистика и в папке lang файлы со строчками сообщений от мода и различных плагинов. в txt файлах хранится несколько вариантов написания одной и тойже строчки на разных языках dlls - библиотека мода. documentation - документация, весьма полезная вещь logs - логи сообщений мода. туда имеет смысл лезть только в случае сбоя в работе модулей иплагинов modules - тут лежат модули в форумате библиотек (для Windows это *.dll файлы, а для Linux это *.so файлы) plugins - сюда бросаются плагины в формате *.amxx scripting - скрипт файлы и исходники плаигнов. Нужны для того, что бы можно было какой нить плагин подправить под себя. Но это не тривиальная задача, поэтому по данному вопросу отдельная тема.
Нам по большому счёту интересна только папка configs, где мы будем редактировать файлы с целью добавления или удаления модулей и плагинов, а так же для настройки модов. файлы из addons/amxmodx/configs/
amxx.cfg - основной конфиг amxmodx. Настроек там не много. configs.ini - список конфигов и их названий для быстрого запуска под определённые нужды. мы им не пользуемся. Это для CW серверов и об этом тоже отдельная статья. maps.ini - список карт, который будет циркулировать на сервере и из которого плагин устанавливающий голосование будет набирать названия карт. Сотрите оттуда всё и вставьте свой набор карт. Содержимое этого файла должно совпадать с содержимом файла <cs-dir>/cstrike/mapcycle.txt speech.ini - фигня для развлекухи админа, которая мешает всем! это проигрывание всяких боемых кличей и команд в игре. core.ini - файл содержит переменные для amxmodx, которые рекомендуется не трогать. modules.ini - список модулей sql.cfg - файл настройки доступа к sql серверу. (некоторые модули и плагины могут использовать для хранения данных как sql_lite в файлах, так и полноценные таблицы БД) custommenuitems.cfg - редактирование основного меню мода amxx - amxmodmenu stats.ini - файл с настройками вкл/выкл функций модуля статистики. clcmds.ini - не смог сформулировать ))) там можно поменять реакцию и уровень доступа команды к серверу. рекомендую не трогать, имхо ничё полезного не принесёт. cvars.ini - набор команд, которые можно менять через основное меню мода, и можно ли через меню или консоли. три различных позиции, которые можно выбрать через меню. plugins.ini - список плагинов. cmdaccess.ini - полезный конфиг для разграничения прав на определённые для админов. Об это в разделе настройки админки. hamdata.ini - не знаю. кто знает, сообщите. users.ini - файл с настройками админки и доступа к серверу. cmds.ini - разрешённые команды в меню и уровень разрешения этих команд. - бесполезняк имхо, не трогайте, он вам в 99% не понадобится.
Настройка amxmodx.
Что бы привести amxx к рабочему чистому виду, нужно сделать следующее: зайти в <cs-dir>/cstrike/addons/amxmodx/configs/ - открыть файл modules.ini и закоментировать там все строчки, поставив в начале каждой строки с название модуля знак ";". Всё что там написано сверху на английском можно снести, что бы просто не занимало пространство. Когда будете копировать содержимое файла на форум, в случае возникновения проблем, то этот мусор будет только мешать... вобщем оставьте только названия модулей и закомментируйте всё, что не закомментированно. Мы это делаем для того, что бы модули не запускались повторно. В amxx 1.8.0 и выше есть функция, которая загружает модули в случае, если они необходимы для каких либо модов или плагинов. Если оставить их раскомментированными, то они будут запускаться повторно и в консоль сервера будет сыпаться ряд ошибок с предупреждениями об уже запущеных модулях, которые ни на что не повлияют, но глаз будут резать. - если вы ставили adodns для amxx, откройте файл amxx.cfg и отлистайте вниз - там несколько параметров добавлено для настройки статистики. Параметр csstats_rank поставьте в значение 0. Это сделано для того, что бы исключить зависание non steam сервера при подключение к нему игровов. Это из-за ошибки в модуле статистики. Так же на зависнет/не зависнет влияет параметр запуска sv_lan, потому что он в свою очередь влияет на то, как сервер будет идентифицировать клиентов, по ip или по стим ip. Так же это зависит от используемого non steam патча. Проблема весьма нагромождённая и решается путём эксперимента с параметром запуска sv_lan 0/1 и параметром в кофиге amxx.cfg - csstats_rank 0/1/2.