Изначально данная статья писалась на примере AMX Mod'a, но после того как создатель AMX mod'a - OLO прекратил поддержку проэкта(Установку АМХ я всё равно описал выше;), стало целесообразно переписать сей документ на примерах продолжателя традиций AMX Mod'a, сейчас ставшем совершенно отдельным проэктом в котором практически ничего не осталось от прородителя кроме идеи. Я говорю о AMX Mod X. Тем более что 15 ноября 2004 года парни выпустили релиз мода - AMX Mod X вер.1.0.
Итак, сегодня мы будем максимально, насколько это возможно, автоматизировать процедуру проведения кланворов.
Для
этого нам необходимо, всего ничего: AMX Mod X, дополнение к AMX Mod X с
поддержкой Counter-Strike, Metamod, плагин для AMX'a под названием AMX
Match Deluxe и конфиги для этого плагина.
Все программы так-же можно скачать с этого сайта.
Загружаем AMX mod X (v.1.0 последняя на момент написания статьи) с сайта http://amxmodx.org/, оттуда же качаем дополнение к AMX Mod X с поддержкой Counter-Strike
Загружаем
плагин AMX Match Deluxe (v.4.00 так же последняя версия на момент
написания статьи) с форума сайта AMX mod X'a, из раздела Plugins.
Конфиги для AMX Match Deluxe находятся в архиве с плагином.
Загружаем Metamod с сайта http://metamod.org/ и устанавливаем его.
Я думаю всем понятно, что все эти действия производятся на выделенном игровом сервере Counter-Strike 1.6. На более раннихпоздних версиях игры 100% работы плагина и AMXX я гарантировать не могу. Мы будем рассматривать отдельный конкретный случай с CS 1.6 (оптимизированной для российских условий ;) patch 19).
Важно!!! Для работы AMXX файлы располагаем следующим образом (иначе AMXX просто не будет работать):
1. Устанавливаем metamod:
/cstrike/addons/metamod/dlls/metamod.dll
/cstrike/addons/metamod/dlls/metamod_i386.so
/cstrike/addons/metamod/plugins.ini
В файле /cstrike/liblist.gam делаем следующие изменения
ставим знаки коментария на старых файлах gamedll
//gamedll "dllsmp.dll"
//gamedll_linux "dlls/cs_i386.so"
и дописываем пути к новым
gamedll "addonsmetamoddllsmetamod.dll"
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
Установка Metamod'a завершена.
2. Устанавливаем AMX mod X
Распаковываем AMXX в папку с контрой следующим образом:
/cstrike/addons/amxmodx/dlls/amxmodx_mm.dll
/cstrike/addons/amxmodx/modules/fun_amxx.dll
/cstrike/addons/amxmodx/modules/csx_amxx.dll
/cstrike/addons/amxmodx/modules/engine_amxx.dll
/cstrike/addons/amxmodx/modules/sockets_amxx.dll
/cstrike/addons/amxmodx/modules/cstrike_amxx.dll
/cstrike/addons/amxmodx/modules/mysql_amxx.dll
/cstrike/addons/amxmodx/scripting/*.sma
/cstrike/addons/amxmodx/scripting/include/*.inc
/cstrike/addons/amxmodx/logs/...
/cstrike/addons/amxmodx/plugins/*.amxx
/cstrike/addons/amxmodx/configs/plugins.ini
/cstrike/addons/amxmodx/configs/modules.ini
/cstrike/addons/amxmodx/...
и т.д.
Открываем или создаем файл cstrike/addons/metamod/plugins.ini и вставляем
в него следующие строки.
; AMX Mod
win32 addons/amxmodx/dlls/amxmodx_mm.dll
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
Открываем
файл cstrike/addons/amxmodx/configs/modules.ini и записываем туда
следующее. Если конечно этих строк там уже нет. И следим чтобы
некоторые нужные строки не были закомментарены (после знака ";" вся
строка считается просто текстом, комментарием). Удаляем знак
комментария (;) с нужных нам строк.
Далее идет пример моего
modules.ini с моими комментариям. Предназначен для игры по локальной
сети (WIN32 HLDS), добавлены только необходимые для работы AMX Match
Deluxe модули.
; AMX Mod X Modules
; You can specify both linux & win32 modules here
; To enable a module, remove the semi-colon from the line
; ------------------------------
; Fun - provides extra functions (добавляет дополнительные функции необходимые
; некоторым плагинам, для работы AMX Match Deluxe не требуется)
; ------------------------------
;fun_amxx_i386.so
fun_amxx.dll
;fun_amxx_amd64.so
; ----------------------------------------------------
; Engine - provides engine functions core to Half-Life (позволяет работать с
; основными функциями движка, НЕОБХОДИМ для работы AMX Match Deluxe)
; ----------------------------------------------------
;engine_amxx_i386.so
engine_amxx.dll
;engine_amxx_amd64.so
; ----------------------------------------------------------
; Fakemeta - provides a massive interface into the HL engine (модуль для
; продвинутого вызова и управления функциями игрового движка, для работы AMX
; Match Deluxe не требуется)
; ----------------------------------------------------------
;fakemeta_amxx_i386.so
;fakemeta_amxx.dll
;fakemeta_amxx_amd64.so
; -------------------------------------------
; Database Access - only enable one of these (модули для работы с базами данных, ; для работы AMX Match Deluxe не требуется)
; -------------------------------------------
; MySQL
;mysql_amxx_i386.so
;mysql_amxx.dll
;mysql_amxx_amd64.so
; PostgreSQL
;pgsql_amxx_i386.so
;pgsql_amxx.dll
; Microsoft SQL
;mssql_amxx.dll
; ---------------------------------------------
; GeoIP - determines the country of ip adresses (модуль для определения страны
; по IP адресу, для работы AMX Match Deluxe не требуется)
; ---------------------------------------------
;geoip_amxx_i386.so
;geoip_amxx.dll
;geoip_amxx_amd64.so
; ------------------------------------
; Array - advanced arrays in scripting (модуль для работы с массивами, для
; работы AMX Match Deluxe не требуется)
; ------------------------------------
;array_amxx_i386.so
;array_amxx.dll
;array_amxx_amd64.so
; --------------------------------
; Sockets - network socket support (модуль для управление сетевыми сокетами
; (TCP/UDP), требуется для записи демок во ремя кланвора)
; --------------------------------
;sockets_amxx_i386.so
sockets_amxx.dll
;sockets_amxx_amd64.so
; --------------------------
; Regular Expression support (поддержка регулярных выражений, НЕОБХОДИМ для
; работы AMX Match Deluxe)
; --------------------------
;regex_amxx_i386.so
regex_amxx.dll
;regex_amxx_amd64.so
; ----------------------------------------------------------
; Counter-Strike - adds functions specific to Counter-Strike (модуль добавляет
; специальные функции встречающиеся только в Counter-Strike, НЕОБХОДИМ для
; работы AMX Match Deluxe)
; ----------------------------------------------------------
;cstrike_amxx_i386.so
cstrike_amxx.dll
;cstrike_amxx_amd64.so
; -----------------------------------------------------
; CSX - adds functionality for CS statistics and events (модуль для ведения
; статистики в CS, для работы AMX Match Deluxe не требуется)
; -----------------------------------------------------
;csx_amxx_i386.so
csx_amxx.dll
;csx_amxx_amd64.so
Мы подключили к AMXX все необходимые для AMX Match Deluxe модули, далее установим собственно сам AMX Match Deluxe.
Если у AMXX установлен у вас в стандартные папки. Просто распаковываемархив с плагином в папку /cstrike/ и дописываем в конец файла /cstrike/addons/amxmodx/configs/plugins.ini название плагина полностью.
amx_match_deluxe.amxx
Точнее говоря у вас должно получиться следующее:
Распаковываем файл amx_match_deluxe.amxx в папку /cstrike/addons/amxmodx/plugins/
и дописываем в конец файла /cstrike/addons/amxmodx/configs/plugins.ini название плагина полностью.
amx_match_deluxe.amxx
Распаковываем конфиги для плагина в папку /cstrike/addons/amxmodx/configs/.
Распаковываем исходник плагина amx_match_deluxe.sma в папку /cstrike/addons/amxmodx/scripting/
На этом с копированием файлов покончено. Необходимо создать логин для админа.
Но сначала необходимо добавить строку следующего содержания в файлы /cstrike/listenserver.cfg и /cstrike/server.cfg.
amx_match_swaptype 1
Открываем файл cstrike/addons/amxmodx/configs/users.ini и добавляем в него строку по такому шаблону
" Твое имя" "пароль" "abcdefghijklmnopqrstu" "a"
Открываем свой конфиг или если своего конфига нет, то стандартный конфиг /cstrike/config.cfg и дописываем в него следующие строки
setinfo "_pw" "пароль"
и если нет в стандартном конфиге (в своем собственном скорее всего есть:))), то
name "Твое имя"
Вот мы и создали логин для админа с именем - Твое имя и паролем - пароль. :)))
Это
было необходимо сделать для того чтобы можно было управлять AMX'ом
непосредственно во время игры. Для управления AMX'ом из консоли HLDS
создавать логин админа не обязательно, хотя я всеравно рекомендую тебе
создать его, так как я уверен, что ты сам играешь на собсвенном
выделенном сервере, а с этим логином ты сможешь управлять AMX'ом прямо
из игры.
Теперь запускай игру. Загружай свой конфиг, если есть. Если нет, стандартный загрузится сам. Создавай карту. Жди друзей и можно начинать кланвор.
Вот тебе важные консольные команды.
Конфигурация кланвора.
Матч с указанием клантегов:
amx_match <клантег для CT> <клантег для T>
где
mrXX - максимальное число раундов XX
tlXX - время XX через которое закончится игра
стандартные названия конфигов
cal - это CAL Config
ecup - это ClanBase EuroCup
jul - это JUL Config
recdemo - запись демки от первого лица
rechltv - запись HLTV демки
recboth - запись обеих демок
или
Матч без указания клантегов (отличается лишь тем, что не пишется название кланов):
amx_match2
Например:
amx_match SK eoL mr12 ecup recboth
В примере SK начинают за контров, eoL начинают за терроров. Игра ведется до 24 раундов (12 за одну команду, 12 за другую) по правилам ClanBase EuroCup, с автоматической записью демок игроков и HLTV демок.
amx_match2 mr12 cal rechltv
Во втором примере клантег не учитывается. Игра ведется так же до 24 раундов, по правилам CAL, с автоматической записью HLTV демок.
Важно !!! Для того чтобы автоматически записывать демки HLTV, необходимо его, этот HLTV, сначала правильно настроить и запустить, об этом подробно написано в этой статье и я не буду вдаваться в подробности настройки. Скажу лишь что необходимо указать в консоли пароль для HLTV (HLTV adminpassword), adminpassword искать в ..путь к Half-Lifehltv.cfg
amx_matchhltv <пароль (HLTV adminpassword)>
amx_matchstop - принудительно остановить матч
amx_matchstart - админ принудительно начинает матч (не дожидаясь готовности игроков)
amx_swapteams - поменять команды местами
Если вы все сделали правильно. Запускается кланвор с вормапа (разогрев). После того как команды готовы все игроки каждой команты пишут командой say - ready (в консоль say ready или кнопка [Y] ready) и матч начинается после трех рестартов. После первой половины матча игроков автоматически меняют командами и снова начинается вормап. После того как игроки скажут ready начинается вторая половина матча. После окончания матча появляются 2 скриншота со счетом после первой и после второй половины матча. А так же демки если вы их писали.
И на последок очень важный совет!
Если
у вас есть такая возможность используйте как можно меньше
откомпилированных плагинов. Компилируйте плагины САМИ из исходников. И
не забывайте почаще обновлять плагины с форума AMX mod X. Для примера
компиляции плагина давайте откомпилируем наш AMX Match Deluxe заново.
Помните я писал: "Распаковываем исходник плагина amx_match_deluxe.sma в папку /cstrike/addons/amxmodx/scripting/". Amx_match_deluxe.sma -
это и есть исходник плагина написанный на языке сходном с СИ. Если вы
владеете этим языком то можете попробовать отредактировать плагин под
свои нужды. Но сейчас не об этом, сейчас мы попробуем перекомпилировать
плагин.
Итак исходник на месте. Значит необходимо проделать следующие действия:
1. Открываем диалог выполнить (Пуск -> Выполнить)
2. Моя игра находится на диске C:, поэтому в открывшийся диалог пишем следующую строку:
C:путь к игре Counter-Strike/cstrike/addons/amxmodx/scripting/amxxsc.exe amx_match_deluxe.sma
Если все прошло успешно, то в папке C:путь к игре Counter-Strike/cstrike/addons/amxmodx/scripting должен появиться файл amx_match_deluxe.amxx, который нужно перенести в папку C:путь к игре Counter-Strike/cstrike/addons/amxmodx/plugins
И
все. Внимание если у вас не появился файл amx_match_deluxe.amxx, то это
означает либо ошибка в исходном коде плагина, либо вы неверно выполнили
компиляцию (строго следуйте инструкциям выше)
На этом все.
Если
вы владеете английским языком, то для более подробной информации
читайте исходный код плагина amx_match_deluxe.sma. Его можно
просматривать в любом текстовом редакторе, например в блокноте.
Зачастую в начале каждого плагина дается исчерпывающее описание.
И никокого гемора и хаоса на кланворах.
Вот так. И это только один из тысяч полезных и не очень плагинов AMX'a.