Модули содержат стандартные функции, необходимые для работы плагинов amxx. Если в описании плагина сказано, что он не будет работать без определенного модуля, этот модуль следует включить, убрав ";" в строке перед его названием.
Для начала оставим вот такой набор модулей:
;mysql ;sqlite fun engine fakemeta ;geoip ;sockets ;regex ;nvault cstrike csx ;hamsandwich |
Переходим к файлу users.ini. Как несложно догадаться, в нём расписаны полномочия юзеров. В самом низу файла будут строчки вида<name|ip|steamid> <password> <access flags> <account flags>. Одна строчка – один юзер.
<name|ip|steamid> - ник или ip или steam_id
<password> - пароль
<access flags> - флаги полномочий
<account flags> - флаги входа на сервер
Флаги полномочий:
a - Флаг иммунитета. Человека нельзя кикнуть/забанить/сделать slay/slap и т.п. b - Флаг, разрешающий подключение на резервные слоты. c - Флаг доступа к команде amx_kick. d - Флаг доступа к командам amx_ban и amx_unban. e - Флаг доступа к командам amx_slap и amx_slay. f - Флаг доступа к команде amx_map. g - Флаг доступа для изменений cvar настроек через amx_cvar. h - Флаг доступа к amx_cfg. i - Флаг доступа к amx_chat и другим чат командам. j - Флаг доступа к amx_vote и другим командам голосования. k - Флаг доступа для изменения cvar переменной sv_password. l - Флаг доступа к amx_rcon и возможности изменения всех cvar на сервере. m-t - Зарезервированные флаги (для сторонних плагинов) u - Флаг доступа к меню. z - Флаг пользователя. Не даёт ни каких полномочий. |
Флаги входа на сервер:
a - отключает игрока, если пароль не совпадает b - клан тэг c - это steam_id или won_id d - это ip e - пароль не проверяется (нужен только ник/ip/steam_id) k - имя или тэг чувствительны к регистру (т.е. если вы поставите этот флаг к нику Player и на него стоит пароль, тогда кто угодно может использовать имя plAyEr, никаких полномочий он при этом не получит) |
Пропишем себя админом, добавим такую строчку:
"123.45.67.89" "" "abcdefghijklmnopqrstu" "de"
(где 123.45.67.89 – ваш ip, пароля не требуется)
Или по нику:
"My Name" "my_password" "abcdefghijklmnopqrstu" "a"
(где My Name – ваш ник, а пароль - my_password, не забудьте перед коннектом к серверу прописать в консоли setinfo _pw "my_password")
Теперь плагины. Плагины повышают функциональность сервера, добавляют статистику, эффекты и прочее. Открываем файл plugins.ini, там видим набор стандартных плагинов. Отключить плагин можно точно так же, как модуль – поставить перед его названием ";". Для установки нового плагина скопируйте его в папку plugins, а в plugins.ini пропишите название файла (не забудьте на конце .amxx).
В результате файл addons/amxmodx/configs/plugins.ini может (!) выглядеть так:
; Мои плагины chat_logger.amxx ; Chat Logger v2.1a admin_freelook.amxx ; Admin Free Look admin_spec_esp.amxx ; Admin Spectator ESP v1.3 afkkicker2.amxx ; AFK KiSSS auto_res_in_x_round.amxx ; Autorestart in X Seconds descriptive_fire_in_the_hole.amxx ; Descriptive "Fire In The Hole" high_ping_kicker.amxx ; High Ping Kicker ; Оригинальные плагины admin.amxx ; admin base (required for any admin-related) adminchat.amxx ; console chat commands admincmd.amxx ; basic admin console commands adminhelp.amxx ; help command for admin console commands adminslots.amxx ; slot reservation adminvote.amxx ; vote commands amxmod_compat.amxx ; AMX Mod backwards compatibility layer antiflood.amxx ; prevent clients from chat-flooding the server cmdmenu.amxx ; command menu (speech, settings) imessage.amxx ; displays information messages mapchooser.amxx ; allows to vote for next map mapsmenu.amxx ; maps menu (vote, changelevel) menufront.amxx ; front-end for admin menus miscstats.amxx ; bunch of events announcement for Counter-Strike multilingual.amxx ; Multi-Lingual management nextmap.amxx ; displays next map in mapcycle pausecfg.amxx ; allows to pause and unpause some plugins plmenu.amxx ; players menu (kick, ban, client cmds.) pluginmenu.amxx ; Menus for commands/cvars organized by plugin restmenu.amxx ; restrict weapons menu scrollmsg.amxx ; displays a scrolling message statscfg.amxx ; allows to manage stats plugins via menu and commands statsx.amxx ; stats on death or round end (CSX Module required!) stats_logging.amxx ; weapons stats logging (CSX Module required!) ;telemenu.amxx ; teleport menu (Fun Module required!) timeleft.amxx ; displays time left on map |
Все карты на сервере должны быть прописаны в файле maps.ini. Добавили новую карту в папку maps? Не забудьте прописать её название в maps.ini, иначе она не появится на голосовании.
5. Установка Dproto - нонстим 47/48
Официальный сервер не позволяет присоединятся No-Steam клиентам. Если попытаться зайти на Steam сервер с пиратки, вы увидите сообщение Steam validation rejected. Чтобы исправить это раньше приходилось использовать патчи или патченые библиотеки. К тому же недавно появилась ещё одна проблема: официальный клиент перешел на новый 48 протокол, несовместимый с 47 (т.е. на сервер 48 протокола нельзя зайти с клиентом 47 протокола и наоборот). К счастью, появился нормальный патч-мультипротокол в виде плагина к Метамоду. Dproto пропускает на сервер все известные клиенты (Steam, NoSteam 47/48 протоколы), позволяет настроить SteamID для клиентов и др. Новые версии Dproto выкладывается на форуме (там же можно задать вопрос разработчику): http://cs.rin.ru/forum/viewtopic.php?f=29&t=52728.
Скачиваем последнюю версию. Создайте папку dproto в каталоге D:\Server\cstrike\addons\. Файл dproto.dll из архива, в папке bin\windows скопируте в папку D:\Server\cstrike\addons\dproto\. В файле metamod\plugins.ini допишите такую строчку: win32 addons/dproto/dproto.dll.
Файл dproto.cfg из архива поместите в корень сервера (D:\Server\). Настройки можно не менять.
6. Установка бустера mmtimer
Немного теории. Сервер постоянно просчитывает игровую ситуацию: кто в кого попал, куда передвинулся и т.д. Кадром сервера называется единичный игровой, просчитываемый момент. Частота просчитывания кадров называется FPS (frames per second, кадры в секунду). Чем больше это значение, тем плавнее будет игра для играющих.
Также FPS влияет на прибавку к пингу, она вычисляется по формуле 1000/your_fps. Т.е. если у вашего сервера fps = 64, прибавка к пингу будет 1000/64 ~ 16 ms. Так что чем больше fps, тем лучше игрокам, но нагрузка на сервер больше. По умолчанию частота кадров равна 100, задается переменной sys_ticrate и имеет ограничение в 1000 fps. В Windows обычными средствами поднять fps выше 512 нельзя. Также важна стабильность fps, лучше стабильные 200 fps, чем скачущие 100-500.
Бустеры - плагины (модули), используются для понижения пинга и увеличения fps на сервере за счет увеличения нагрузки на процессор. Наиболее известные бустеры: HLBooster 1.7, 2.4, Lite и ALX Lowping. HLBooster 1.7, релиз которого был аж в 2003, изменял функцию "sleep" ОС, что ускоряло работу сервера. HL Booster Lite заставлял "просыпаться" сервер, как только к нему приходили данные от игрока. Ну а HLBooster 2.40 (2004 год) гордо объединил эти две функции. Проект ALX Lowping почему-то быстро загнулся и не получил большой популярности (возможно, из-за того, что сложен в настройке).
И вот - совсем недавно - crock (автор Dproto) сделал новый бустер - mmtimer. Как пишет автор, он действует сразу в трёх направлениях: увеличивает точность таймера ОС (только под Windows), уменьшает время "сна" процесса HLDS и снимает ограничение 1000 FPS, встроенное в HLDS. Желаемый FPS сервера задаётся значением sys_ticrate. Так же имеется "Insane mode", включается с помощью mm_insane 1, в этом режиме HLDS загружает CPU на 100%, выдавая максимально возможное FPS. Можно, кстати, использовать как бенчмарк. На хорошим процессоре можно получить интересные цифры вроде 50000 FPS.
В режиме mm_insane 2 HLDS более "лояльно" относится к другим приложениям, давая им шанс поработать после обсчета каждого кадра. Этот режим позволяет держать несколько серверов на одном ядре.
Скачиваем mmtimer: http://forum.hlds.us/cs1-6-7/yet-another-booster-mmtimer-9548.
Устанавливается бустер стандартно: файл mmtimer.dll помещается в папку cstrike\addons\mmtimer, а в plugins.ini прописывается путь к этому файлу строчкой win32 addons\mmtimer\mmtimer.dll. Настройки добавляем в server.cfg:
sys_ticrate 1100 // Для 1024 fps mm_insane 0 // Insane mode off |