Установка и настройка сервера CS 1.6 и AMX Mod X * (с) by FixeR, v. 2.3 (28.03.10). Оригинал статьи - mixfixer.narod.ru. * Статья периодически обновляется. Задать вопрос можно здесь. Содержание 0. Вступление 1. Установка чистого сервера 2. Настройка сервера 3. Установка Metamod 4. Установка и настройка AMX Mod X 5. Установка Dproto - нонстим 47/48 6. Установка бустера mmtimer 7. Ссылки Приложение 1: Список всех команд Amx Mod X 1.8.1 Приложение 2: Список дополнительных настроек сервера CS 1.6 0. Вступление Давно уже была мысль написать свою статью про создание выделенного сервера CS 1.6 с AMX Mod X. Если даже очень хорошо поискать мануалы про установку AMX, то вряд ли вы найдёте больше двух-трех разных статей, чаще их просто копируют. Инструкции сильно устарели, ссылки побились, вышли новые версии программ, много чего поменялось, есть много непонятных моментов, особенно для новичков. Так что решил написать статью полностью с нуля, никакого копи-паста. Сразу скажу, что для сервера требуется достаточно мощная машина (Pentium 4 3 GHz, 1 GB Ram минимум), тем более, если вы рассчитываете играть на своем сервере с этого же компьютера (Core 2 Duo 2.6 GHz, 2 GB Ram). Если сервер не только для локальной сети, но и для инета, то вам понадобиться широкий канал (от 4 мб/с на 16 слотов) и самое главное – выделенный ip адрес, он чаще всего покупается у провайдера за отдельную абонентскую плату (или бесплатно, если повезёт). 1. Установка чистого сервера Сначала определимся, что такое HLDS, и где его взять. HLDS – Half Life Dedicated Server – выделенный автономный сервер для Half-Life и CS 1.6. Выделенный – значит отдельный, для его запуска лучше использовать отдельный компьютер, сервер создается без запуска самой игры, что очень удобно. Чаще всего ставятся именно выделенные сервера. В no-steam версиях CS он обычно устанавливается вместе с самой игрой, т.к. сервер использует многие файлы самой игры (т.е. HLDS – это серверная часть игры). Использовать этот сервер не рекомендуется, но вполне реально. Нам нужна последняя, официальная, "чистая" версия HLDS. Он бесплатный, его можно спокойно скачать из интернета. Сервер скачивается с серверов steam, размер 315 мб. Для этого нам понадобиться программка hldsupdatetool. Скачиваем её: http://storefront.steampowered.com/download/hldsupdatetool.exe. Устанавливаем, путь установки лучше оставить по умолчанию (C:\Program Files\Valve\HLServer). Запускаем HldsUpdateTool.exe, пойдет процесс проверки обновлений (программы, а не самого сервера). Если есть обновления, она сама их скачает и установит. Создаем папку serv на диске C:. В эту папку (C:\serv\) будет скачиваться сервер. Далее нам нужно запустить HldsUpdateTool.exe с ключами -command update -game cstrike -dir c:\serv. Как запустить программу с ключами? Проще всего это сделать через ярлык: нажимаем правой кнопкой по hldsupdatetool.exe и выбираем создать ярлык. Заходим в его свойства (правой кнопкой мыши по ярлыку -> свойства). Смотрим на поле объект, там у нас должно быть "C:\Program Files\Valve\HLServer\HldsUpdateTool.exe" (если вы делали всё в точности по этой статье). Нам нужно всего лишь к этой строчке добавить ключи, написанные выше. В результате это будет выглядеть так: "C:\Program Files\Valve\HLServer\HldsUpdateTool.exe" -command update -game cstrike -dir c:\serv. Не напутайте с пробелами, всё должно выглядеть точно так, как написано; нажимаем "Применить". Запускаем ярлык, пойдет процесс загрузки HLDS. Внимание! Бывает, что сервер не отвечает и скачка не идет, придется попробовать еще раз, но позже. По окончанию загрузки в папке C:\serv\ появится куча файлов, это и есть наш HLDS. Сразу сделайте копию этой папки на всякий случай, чтоб было откуда восстанавливаться. Папку с сервером можно его перенести в любое другое удобное место. Пусть это будет D:\Server\. Сам сервер уже можно запустить, заходим в папку сервера, запускаем hlds.exe. Выбираем параметры и жмем Start Server. Не забудьте, что сейчас у вас в руках официальный сервер, а значит с No-Steam (пиратская кс) на сервер вы не зайдёте. Будет ошибка "STEAM validation rejected". Чтобы это исправить, нужно установить Dproto, но об этом позже. Как узнать версию сервера? Наберите в консоли сервера version:
2. Настройка сервера Все основные параметры сервера хранятся в файле server.cfg в папке cstrike. Открываем его блокнотом. Смело оттуда всё удаляем и вставляем примерно следующее:
Всё, что идет после "//" считается комметарием. В скобках указано значение по умолчанию. Здесь, конечно, не все настройки, только основные, этого вполне хватит. Теперь открываем блокнот и пишем следующую строчку (строка запуска сервера): start "Server" /min /high "hlds.exe" -game cstrike -console +port 27015 +ip 255.255.255.255 Рассмотрим подробнее, что здесь написано: start "Server" – запуск консоли с заголовком Server /min – свернуть после запуска /high – ставим высокий приоритет -game cstrike - запускать сервер под CS -console - сервер стартует в консольном режиме +port 27015 - порт, на котором будет работать сервер (по умолчанию порт 27015) +ip 255.255.255.255 – ip адрес сервера Меняем всё как вам нужно, Файл -> Сохранить как. Имя файла: Server.cmd. Тип файла: все файлы. Сохраняем в корневом каталоге сервера. Теперь запускаем сервер только через Server.cmd. Можно также добавить вот эти параметры: -nomaster – не выводить сервер в списке серверов инета -insecure – отключить VAC Вобще в строку запуска можно приписать хоть все параметры из server.cfg: +map de_dust2 - сервер запуститься с карты de_dust2 +maxplayers 17 – количество слотов (до 32) +sv_password 333 – пароль на сервер ...и так далее. Естесственно, если вы вписываете какую-то консольную переменную в строку запуска, из server.cfg её лучше удалить, а то запутаетесь :) 3. Установка Metamod Metamod служит для подключения дополнительных модов на сервер, таких как AMX Mod X, StatsMe, античитов и др. Он встроен в автоматический установщик Amx Mod X Full Installer, но мы всё будем делать ручками, так что... Скачать Metamod можно c официального сайта: http://prdownloads.sourceforge.net/metamod/metamod-1.19-win.zip?download (310 Кб, версия 1.19). В папке cstrike создаем папку addons, а внутри неё папку metamod. И распаковываем файл metamod.dll в неё. Открываем \cstrike\liblist.gam (блокнот) и исправляем строчку gamedll "dlls\mp.dll" на gamedll "addons\metamod\metamod.dll" и сохраняем. Всё, метамод установлен, можно приступать к установке модов. 4. Установка и настройка AMX Mod X Качаем AMX Mod X 1.8.1 с официального сайта http://www.amxmodx.org/downloads.php. Есть два варианта: первый - скачать Full Installer, тогда всё поставится автоматически, просто следуйте указаниям инсталлятора, не забудьте там выбрать тип мода: CS 1.6; второй – скачать отдельно AMX Mod X Base (это базовые файлы, для всех модов) и Mod Addon Pack - Counter-Strike Addon – Windows. Но я больше доверяю ручному (второму) способу, так что качаем архивы. Открываем первый архив (amxmodx-1.8.1-base.rar), распаковываем в папку \cstrike\ сервера (у меня это D:\Server\cstrike), жмём Ок. Открываем второй архив, распаковываем туда же, соглашаемся на замену всех файлов. В папке cstrike/addons/metamod создаём файл plugins.ini. В этом файле будут содержаться пути к библеотекам подключаемых модов. Впишите туда первую строчку: win32 addons/amxmodx/dlls/amxmodx_mm.dll и сохраните. Так мы подключили AMX Mod X. По ходу статьи нам придется подключить ещё несколько модов, в результате файл addons/metamod/plugins.ini может (!) выглядеть так:
Переходим к самой длинной части этого руководства – настройке AMX Mod X. Переходим в папку csrtike/addons/amxmodx/configs. Открываем файл amxx.cfg, в нём содержатся основные настройки AMX Mod X.
Теперь открываем modules.ini, в нём содержится список подключаемых модулей. Модули содержат стандартные функции, необходимые для работы плагинов amxx. Если в описании плагина сказано, что он не будет работать без определенного модуля, этот модуль следует включить, убрав ";" в строке перед его названием. Для начала оставим вот такой набор модулей:
Переходим к файлу users.ini. Как несложно догадаться, в нём расписаны полномочия юзеров. В самом низу файла будут строчки вида <name|ip|steamid> <password> <access flags> <account flags>. Одна строчка – один юзер. <name|ip|steamid> - ник или ip или steam_id <password> - пароль <access flags> - флаги полномочий <account flags> - флаги входа на сервер Флаги полномочий:
Флаги входа на сервер:
Пропишем себя админом, добавим такую строчку: "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 может (!) выглядеть так:
Все карты на сервере должны быть прописаны в файле 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:
8. Ссылки Сайты http://www.steampowered.com - Официальный сайт Steam. Англ. http://www.amxmodx.org - Официальный сайт мода Amx Mod X. Англ. http://forums.alliedmods.net - Огромный форум разработчиков плагинов под Amx Mod X. http://www.metamod.org - Официальный сайт разработчика metamod. Англ. http://www.unitedadmins.com - Официальный сайт создателей HL Guard. Англ. http://forum.hlds.us - Огромный форум по HLDS, много статей. Рус. http://www.a-gaming.ru - Интересен раздел форума про создание серверов. Рус. Скачать HldsUpdateTool: http://storefront.steampowered.com/download/hldsupdatetool.exe Metamod 1.19: http://prdownloads.sourceforge.net/metamod/metamod-1.19-win.zip?download AMX Mod X Base 1.8.1: http://www.amxmodx.org/dl.php?filename=amxmodx-1.8.1-base.zip AMX Mod X Addon Pack - Counter-Strike 1.8.1: http://www.amxmodx.org/dl.php?filename=amxmodx-1.8.1-cstrike.zip mmtimer: http://forum.hlds.us/cs1-6-7/yet-another-booster-mmtimer-9548 Dproto: http://cs.rin.ru/forum/viewtopic.php?f=29&t=52728 Приложение 1: Список всех команд Amx Mod X 1.8.1 Админские amx_addadmin <playername|auth> <accessflags> [password] [authtype] Добавить админа amx_addban <authid or ip> <minutes> [reason] Добавить бан к бан-листу сервера amx_ban <name or #userid> <time> [reason] Забанить игрока amx_cfg <filename> Выполнить конфиг на сервере amx_cvar <cvar> [value] Изменить или показать значение cvar amx_help Список доступных команд amx_kick <name or #userid> [reason] Кикнуть игрока amx_last Список недавно вышедших с сервера игроков amx_leave <tag> [tag1] [tag2] [tag3] Кикнуть всех игроков, у которых нет указанных клан-тэгов amx_map <mapname> Смена карты amx_menu Показывает меню, доступное для игроков amx_modules Лист всех загруженных модулей amx_nick <original name> <new name> Смена ника игрока amx_off Приостанавливает плагины amx_on Снимает паузу с плагинов amx_pause Поставить или снять паузу amx_pausecfg Список команд для управления паузами amx_plugins Лист всех загруженных плагинов amx_rcon <rcon command line> Выполняет команду на стороне сервера amx_reloadadmins Обновить админов из users.ini amx_setlang <language> Установить язык amx_showrcon <command line> Выполнить команду в консоли сервера и отобразить результат amx_slap <name or #userid> [damage] Слэп (толчок) игрока, можно с уроном amx_slay <name or #userid> Слэй (убийство) amx_unban <authid or ip> Разбанить игрока amx_who Список игроков на сервере (ip, steam_id, nick, time, ping) Чат amx_chat <message> Послать сообщение всем админам amx_csay <color> <message> Сообщение для всех по центру amx_psay <name or #userid> <message> Послать приватное сообщение (одному игроку) amx_say <message> Послать сообщение всем игрокам amx_tsay <color> <message> Сообщение для всех слева say @[@|@|@][w|r|g|b|y|m|c] <text> Сообщение для всех слева say_team @<text> Показывает сообщение всем админам (HUD) Голосование amx_cancelvote Прерывает предыдущее голосование amx_vote <question> <answer1> <answer2> Любое голосование amx_voteban <name or #userid> Голосование за бан игрока amx_votekick <name or #userid> Голосование за кик игрока amx_votemap <map> [map] [map] [map] Голосование за следующую карту Статистика say /hp Показывает информацию о вашем убийце (в чате) say /me Показывает текущую статистику раунда (в чате) say /rank Показывает ваш ранг на сервере (в чате) say /rankstats Показывает your server stats (MOTD) say /report Показывает статус оружия (в чате для команды) say /score Показывает статистику команд (в чате) say /stats Показывает статистику других (меню / MOTD) say /statsme Показывает вашу статистику (MOTD) say /switch Включает/выключает статистику у клиента say /top15 Показывает топ 15 игроков (MOTD) Команды в чате say currentmap Показывает текущую карту say ff Показывает статус Friendly Fire say nextmap Показывает следующую карту say thetime Показывает текущее время say timeleft Показывает время до конца карты Команды меню amxmodmenu Показывает основное меню Amx Mod X (из него доступны все остальные меню) RCON команды (на стороне сервера) amxx cmds Показывает команды Amx Mod X amxx cvars Показывает CVAR-ы Amx Mod X amxx gpl Показывает лицензию GNU amxx modules Показывает модули amxx pause Приостановить запущенный плагин amxx plugins Показывает плагины amxx unpause Запустить приостановленный плагин amxx version Показывает версию Amx Mod X Приложение 2: Список дополнительных настроек сервера CS 1.6 decalfrequency 60 // Ставить свое лого можно раз в Х секунд log on // Включить запись логов mp_allowspectators 1 // На сервере можно присутствовать спектатором mp_consistency 1 // Проверять файлы клиента mp_hostagepenalty 0 // Бан за убийство Х заложников. 0 - выключено mp_logdetail 3 // Детальность логов mp_logecho 1 // Лог-записи отображаются в консоли mp_logfile 1 // Вести логи в файлы в папке logs mp_logmessages 1 // Записывать сообщения mp_maxrounds 0 // Лимит раундов Maximum number of rounds to be played on a map, leave at 0 to obey mp_timelimit. mp_startmoney 800 // Начальное количество денег mp_tkpunish 0 // Убивать тимкиллеров в следующем раунде mp_winlimit 0 // Лимит количества побед pausable 1 // Сервер можно поставить на паузу rcon_password "" // Пароль от ркона sv_allowdownload 1 // Разрешить клиенту скачивать файлы с сервера sv_allowupload 1 // Разрешить серверу скачивать файлы с клиента sv_alltalk 0 // Разрешить голосовое общение между командами sv_cheats 0 // Разрешить использовать читерские команды sv_gravity 800 // Гравитация sv_password "" // Пароль для входа на сервер sv_proxies 2 // Сколько HLTV Proxy может присоединится к серверу sv_voiceenable 1 // Разрешить голосовое общение sys_ticrate 1000 // Тикрейт сервера (с) by FixeR, 28.03.10 |