Оглавление: 1. Установка HLDS + cstrike сервера. 2. Установка metamod для подключения доп. модов. 3. Установка AMX и AMXx. 4. Установка Booster'a. 5. Настройка "Half-Life Fast HTTP Asset Downloading". 6. No-Won патч и лечилка Invallid CD-Key. 7. Список основных команд AMX Особо детально ничего не описано. Прошу заметить, документ до конца не готов. Могуть быть ошибки и т.п. 1. Установка CS 1.6 сервера Если нет возможности тратить трафик на скачивание сервера через интернет, то все ниже описанное про hldsupdatetool не для тебя. Позже я в эту статью добавлю ссылку на архив с сервером. "А какая разница, качать архив или так?" - спросите вы. А разница в том, чтоб при загрузке через hldsupdatetool, передаются непакованные файлы. - Берем hldsupdatetool Для Win32 Для linux Ставим. Запускаем hldsupdatetool.exe (./steam для linux). Проходит процедура проверки на обновление. Далее снова стартуем hldsupdatetool, но уже с ключами: hldsupdatetool.exe -command update -game cstrike -dir c:\hlds Прошу заметить, что c:\hlds - это путь, куда будет установлен сервер. Начинается процесс загрузки. Процедура может занять довольно длительное время. Может возникнуть ошибка, что сервер не отвечает, или что-то в этом роде. В этой ситуации просто следует попробовать еще раз, но позже. После загрузки, следует пропатчить сервер на nowon. Как это сделать, читаем в конце статьи. Далее при настройке сервер, не забываем добавиться в server.cfg параметр sv_lan 1. О настройке сервера, читаем ниже. Настройка сервера. Для настройки сервер используется конфигурационный файл server.cfg, который находится в \cstrike папке. О всех cvar(именно так называются все значения в нем) я рассказывать не буду. Поищите в форуме или в документации. Вот пример server.cfg: (в нем я пометил основные значения) Код // Set the Host Name hostname "My First CS Server" // Имя сервера. // Set the rcon password rcon_password "password" // Пароль для управления сервером через консоль клиента. Чтоб данная функция не работала, оставьте пустым - "". // Server Logging log on // включаем режим записи логов mp_logdetail 3 // определяем детальность записи логов mp_logmessages 1 // записывать сообщения // Server Variables cl_minmodels 0 mp_timelimit 30 // Время, которое отводим на карту. (мин) mp_autokick 0 mp_autoteambalance 1 // Автоматический баланс комманд. mp_c4timer 35 // Время таймера на бомбе. (сек) mp_flashlight 1 mp_footsteps 1 mp_freezetime 2 // Время после которого стартует раунд. (сек) mp_friendlyfire 1 // Включен режим попадания по своим. mp_hostagepenalty 0 mp_limitteams 0 mp_tkpunish 0 mp_roundtime 2.5 // Длительность раунда. (мин) mp_buytime 0.50 // Время на покупку. (сек) mp_fadetoblack 0 mp_forcechasecam 0 mp_forcecamera 0 mp_kickpercent 100 mp_playerid 1 sv_airaccelerate 10 sv_airmove 1 sv_restartround 0 sv_maxspeed 320 sv_proxies 1 allow_spectators 3 mp_startmoney 800 mp_chattime 0 sv_allowupload 1 sv_voiceenable 1 sv_alltalk 0 sv_voicequality 4 sv_voicecodec voice_speex pausable 0 decalfrequency 60 mp_falldamage 1 // cheat and fun modes sv_aim 0 sv_cheats 0 // Set Rates sv_maxrate 25000 sv_spectatormaxspeed 500 sv_maxspeed 320 sv_maxupdaterate 101 sv_minrate 2500 sv_minupdaterate 50 decalfrequency 60 sys_ticrate 10000 // Enable/Disable LAN mode sv_lan 1 // Прошу заметить, если вы пропачили сервер, то этот параметр обязательный! // Contact & Geo sv_contact your@mail // Ваш EMail адрес. sv_region 3 // Exec files on startup exec banned.cfg exec listip.cfg Готово. Сервер настроен и готов к старту. Запуск сервера CS 1.6 Запускается сервер следующей строкой: hlds.exe -console +sv_lan 1 -insecure -game cstrike -nomaster +maxplayers 21 +map de_dust +port 27015 +ip 255.255.255.255 +exec listip.cfg Рассмотрим подробнее: -console - сервер стартует в консольном режиме. -game cstrike - запускать мод CS. (собственно за него и бьемся). +maxplayers 21 - максимальное кол-во игроков, которое сервер будет принимать. +map de_dust - сервер запуститься с карты de_dust. +port 27015 - порт, который сервер будет слушать. +ip 255.255.255.255 - тут вы должны написать IP, на котором будет сервер. 2. Установка metamod. metamod служит для подключения дополнительных модов на сервер, таких как AMX(x), AdminMod, StatsMe и т.п. Скачать metamod можно тут Достаем из архива и кладем в \cstrike\addons\metamod. Если у нас win32 сервер, то туда мы дожны скопировать metamod.dll. В варианте linux, metamod_i386.so. (Я беру во внимание metamod 1.17.4 - 1.18.) Открываем \cstrike\liblist.gam. Для windows иправляем там строчку gamedll "dlls\mp.dll" на gamedll "addons\metamod\metamod.dll". Для linux gamedll_linux "dlls/cs_i386.so" на gamedll_linux "addons\metamod\metamod_i386.so". Все готово для подлючения доп. модов. 3. Установка AMX u AMXX. В оригинальной статье была описана установака обоих модов, но на настоящий момент лучше ставить АМХХ, поэтому я опишу именно этот вариант. На момент написание последняя версия АМХХ 1.7.1 Качаем AMXХ. Делаем это либо отсюда, либо с оффициального сайта www.amxmodx.org. Если ставить автоматом, то всё само поставится, если ручками то делаем следующее: Распаковываем папки amxmodx и metamod в cstrike/addons/. Идем в папку cstrike/addons/metamod/ и открываем файл plugins.ini, там прописываем строчку: win32 addons/amxmodx/dlls/amxmodx_mm.dll Далее идем в папку csrtike/addons/amxmodx/configs Открываем amxx.cfg Код // AMX Configuration File echo Executing AMX Mod X Configuration File // Доступ всем пользователям по умолчанию (дополнительные уровни в файле users.ini) amx_default_access "z" // Имя setinfo, которое будет хранить ваши пароли amx_password_field "_pw" // Показывать действия админов // 0 - не показывать // 1 - показывать без имени админа // 2 - показывать с именем админа amx_show_activity 2 // Частота в секундах и текст серверного сообщения amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600 // Частота отправки сообщений игроками в секундах amx_flood_time 0.75 // Количество зарезервированных слотов amx_reservation 0 // Если стоит 1 - вы можете скрывать зарезервированные слоты amx_hideslots 0 // Минимальное время между двумя воутами в секундах amx_vote_delay 10 // Продолжительность голосования amx_vote_time 10 // Открытое голосование amx_vote_answers 1 //Могут ли клиенты выбирать свой язык amx_client_languages 1 Сохраняем, закрываем. Открываем modules.ini: Код ; ------------------------------ fun_amxx_i386.so fun_amxx.dll fun_amxx_amd64.so ; ---------------------------------------------------- ; Engine - provides engine functions core to Half-Life ; ---------------------------------------------------- ;engine_amxx_i386.so engine_amxx.dll ;engine_amxx_amd64.so ; ---------------------------------------------------------- ; Fakemeta - provides a massive interface into the HL engine ; ---------------------------------------------------------- ;fakemeta_amxx_i386.so fakemeta_amxx.dll ;fakemeta_amxx_amd64.so ; ------------------------------------------- ; Database Access - only enable one of these ; ------------------------------------------- ; 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 ; SQLite ;sqlite_amxx.dll ;sqlite_amxx_i386.so ;sqlite_amxx_amd64.so ; --------------------------------------------- ; GeoIP - determines the country of ip adresses ; --------------------------------------------- ;geoip_amxx_i386.so ;geoip_amxx.dll ;geoip_amxx_amd64.so ; -------------------------------- ; Sockets - network socket support ; -------------------------------- ;sockets_amxx_i386.so sockets_amxx.dll ;sockets_amxx_amd64.so ; -------------------------- ; Regular Expression support ; -------------------------- ;regex_amxx_i386.so ;regex_amxx.dll ;regex_amxx_amd64.so ; -------------------- ; Binary Vault support ; -------------------- ;nvault_amxx_i386.so ;nvault_amxx.dll ;nvault_amxx_amd64.so ; ---------------------------------------------------------- ; Counter-Strike - adds functions specific to Counter-Strike ; ---------------------------------------------------------- cstrike_amxx_i386.so cstrike_amxx.dll cstrike_amxx_amd64.so ; ----------------------------------------------------- ; CSX - adds functionality for CS statistics and events ; ----------------------------------------------------- csx_amxx_i386.so csx_amxx.dll csx_amxx_amd64.so Впринципе можете снять все комментарии, но это значительно увеличит нагрузку сервера, поэтому следует подгружать только модули, которые требуют устанавливаемые вами плагины. Обычно необходимые модули пишутся в шапке плагинов. Сохраняем файл. Далее открываем users.ini. В самом низу мы будем прописывать админов. Есть несколько вариантов. Закрепление на имя или на IP. Для имени у нас будет следующая строка: "superadmin" "password" "access flag" "account flags" Для IP: "255.255.255.255" "password" "access flag" "account flags" "И что же это такое?!?!?" Подробнее: В первых ковычка ставится имя или IP адрес. Во вторых задается пароль для доступа на сервер. Далее проставляются флаги полномочий. В последних - флаги доступа на сервер. Список флагов полномочий: Код a - Флаг иммунитета. Человека нельзя кикнуть/забанить/сделать slay/slap и т.п. b - Флаг разрешающий подключение на резервные слоты. c - Флаг доступа к команде amx_kick. d - Флаг доступа к командам amx_ban и amx_unban. e - Флаг доступа к командам amx_slap и amx_slay. f - Флаг досутпа к команде amx_map. g - Флаг доступа для изменений cvar настроек через amx_cvar. Прошу заметить, доступны не все cvar переменные. h - Флаг доступа к amx_cfg. i - Флаг доступа к amx_chat и другим чат командам. j - Флаг доступа к amx_vote и другим командам голосования. k - Флаг доступа для изменения cvar переменной sv_password. l - Флаг доступа к amx_rcon и возможности изменения всех cvar на сервере. u - Флаг доступа к меню amx. z - Флаг пользователя. Не даёт ни каких полномочий. Флаги доступа на сервер: Их несколько, но используются не все. Код a - отлючать игрока если пароль не совпадает. d - Это IP адрес. e - Пароль не проверяется. Два способа сразу сделать себя админом: 1. Пишем такую строчку в конце файла users.ini "123.45.678.90" "" "abcdefghijklmnopqrstu" "de" Что мы сделали? Мы написали, что при заходе с IP 123.45.678.90 следует дать пользователю максимальные полномочия, и флаги доступа на сервер "de" значат, что первым параметром явлется IP и что пароля не требуется. 2. "pap0_K4rl0" "pinnokio" "abcdefghijklmnopqrstu" "a" Теперь ползователю с ником "pap0_K4rl0" и паролем (прописанным через setinfo _pw) "pinnokio" будут даны максимальные полномочия. Вот и все. О плагинах и т.п. пока не рассказываю. Возможно добавлю позже. Можете сами заглянуть в plugins.ini и посмотреть там, какой плагин за что отвечает. Возможно вам какой нибудь и не нужен. Чтоб его отключить, достаточно поставить ";" перед ним. Запускаем сервер. Для того чтоб админу получить права на сервер, ему надо в консоле своего клиента написать setinfo _pw mypass. И только !после этого!, подключаться к серверу. 4. Установка Booster Booster - мод для HL движка, понижающий пинг игроков. Весело да? Да не все так просто... Происходит это понижение за счет того, что booster заставляет работать ваш процессор. Т.е. на процессор повышается нагрузка, и при этом понижается пинг. Конечно если связь с вашим сервер совсем плоха, то и это не поможет. Сразу скажу, владельцы *nix систем могут дальше не читать. Вы можете использовать встроенный бустер, который активировать можно, добавив в строку запуска сервера параметр -pingbooster 2. Плохой результат? Пробуем -pingbooster 3. Владельцы win32 систем. Качаем Booster 1.70. Ссылки пока не будет, так как сам не пользуюсь, а ссылка из оригинальной статьи битая Как со всеми модами, расспаковываем его в \cstike\addons\booster. Прописываем dll файл в plugins.ini, в папке с metamod. Настройка booster'a идет по средствам cvar значений, которые в свою очередь прописываются в server.cfg. Ниже приведен пример моих установок на сервере. Код // Booster configuration: booster_show_connmsg 1 booster_autofps 400 booster_minsleepms 5 booster_force_systicrate 0 booster_cpu_enabled 0 booster_cpu_spikemax 3 booster_cpu_spikelevel 75 booster_cpu_floor 50 booster_cpu_mminc 2 booster_cpu_quiettime 300 booster_cpu_mmmin 3 booster_cpu_mmmax 8 booster_lite_mode 3 booster_lite_extra_sleep_frequency 0 Сразу прошу заметить. Booster повышает риск падения сервера. Если сервер у вас падает с этой версией, то попробуйте поставить Booster Lite. Ставить Booster v2.40 смысла наверное нет, слишком много на него жалоб на нашем форуме. Смысл ставить бустер имеет только на "мясных" серверах (10x10-12x12). Если у вас CW сервер (5x5-6x6), то на мой взгляд, смысла в его установке нет. 5. Инструкция по настройке "Half-Life Fast HTTP Asset Downloading" Вместо скачивания при коннекте дополнительных ресурсов (карт, скинов, звуков и т.д.) напрямую с игрового сервера (в данном конексте с hlds), в Half-Life поддерживается скачивание с HTTP-сервера (т.е. с веб-сервера). Скачивание через HTTP имеет три важных преимущества: 1. Скачивание дополнительных ресурсов не оказывает влияния на игровой сервер, т.к. передачу файлов очуществляет отдельный веб-сервер с дополнительными ресурсами 2. Игроки будут закачивать дополнительные ресурсы на максимально возможной для них скорости, что существенно ускорит процесс закачки 3. Игроки, закачивающие дополнительные ресурсы, не занимают слот на сервере ЧТО БУДУТ ВИДЕТЬ ИГРОКИ, СОЕДИНЯЮЩИЕСЯ С СЕРВЕРОМ, ИМЕЮЩИМ ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ Когда игрок соединяется с сервером, имеющим дополнительные ресурсы, произойдет одно из двух: 1.Если сервер не сконфигурирован на скачивание через HTTP, будет использоваться обычный метод скачивания "струйкой" 2.Если сервер сконфигурирован на скачивание через HTTP, игрок увидит расширенный диалог закачки, и получит гораздо более быстрое скачивание. Пока идет закачка, игрок не соединен с игровым сервером. Как только закачка завершена, игрок автоматически пересоединяется с сервером и может играть. КОНФИГУРИРОВАНИЕ ВАШЕГО СЕРВЕРА НА ИСПОЛЬЗОВАНИЕ БЫСТРОГО СКАЧИВАНИЯ ЧЕРЕЗ HTTP 1. Создайте список всех нестандартных файлов (bsp, wav, mdl, etc.), использующихся на вашем сервере. 2.Выложите эти файлы на веб-сервер, сохраняя структуру каталогов. 3.НЕОБЯЗАТЕЛЬНО: Для показа баннера игрокам, закачивающим дополнительные ресурсы, положите рисунок в формате GIF (340x56) в путь: /gfx/banner.gif 4.Установите серверную переменную sv_downloadurl в "http://yourserver/custom_content_directory/". Пример: Ваш сервер использует нестандартную карту "de_generic", которая требует наличия следующих файлов: C:\Valve\cstrike\maps\de_generic.map C:\Valve\cstrike\de_generic.wad C:\Valve\cstrike\sound\ambience\de_generic_a.wav C:\Valve\cstrike\sound\ambience\de_generic_b.wav C:\Valve\cstrike\sound\ambience\de_generic_c.wav Предположим, у вас есть место на веб-сервере с адресом: http://game.online/, которое вы хотите использовать для хостинга ваших дополнительных ресурсов. Чтобы сделать это, закачайте файлы, требующиеся для карты de_generic на ваш веб-сервер, в созданную директорию cs16_1, сохраняя структуру подкаталогов. Теперь вы имеете следующие файлы на вашем веб-сервере: http://game.online/cs16_1/maps/de_generic.map http://game.online/cs16_1/de_generic.wad http://game.online/cs16_1/s...e_generic_a.wav http://game.online/cs16_1/s...e_generic_b.wav http://game.online/cs16_1/s...e_generic_c.wav Теперь установите серверную переменную: "sv_downloadurl""http://game.online/cs16_1/" Теперь игроки, соединящиеся с вашим сервером, автоматически скачают карту de_generic и требующиеся для нее дополнительные файлы с вашего веб-сервера (конечно, если только они еще не имеют этой карты и необходимых файлов). ТЕХНИЧЕСКИЕ ДЕТАЛИ * Максимальная длина значения переменной sv_downloadurl - 127 символов * Имеется возможность указать имя/пароль для доступа к веб-серверу, в значении переменной - http://username:password@game.online/ ( Замечание - последние заплатки для IE могут отключить эту функциональность) * Если соединяющийся игрок имеет файл с тем же именем, этот файл не будет переписан, скачивание этого файла будет пропущено. * Некоторые критические и/или опасные файлы не могут быть скачаны (ie: *.exe, *.vbs, etc) 6. No-Won патч и лечилка Invallid CD-Key. Для linux hlds: Цитата("zap") Для тех, у кого сервера на Linux, сделал нормальный патч (на Питоне) на основе своего старого nowon патча, который плюс к тому же исправляет некоторые дополнительные вещи: Исправляет работу в режиме LAN без использования Steam (так называемый no-WON patch) (нужен например, если у пользователей попросту нет Интернета), а также исправляет работу последних версий Cheating Death. Также я выключил дурацкое сообщение "NET_SendPacket ERROR:" которое у меня частенько выводится из-за того, что центральный сервер Valve недоступен из нашей локальной сети. Работает для библиотек engine_XXX.so, включая engine_amd64.so для версий начиная как минимум с версии 16 (Февраль 2005) вплоть до Linux Server Engine version 29 (Январь 2006), и с большой вероятностью будет работать для следующих версий (пока Valve опять что-нибудь не придумает чтобы усложнить жизнь честным пользователям). Большое спасибо Hand за то, что сделал самую сложную часть работы (а именно, нашел конкретные места с проверками) :-) Также в архиве есть скрипт steam_update, который обновляет в автоматическом режиме сервер через STEAM, тут есть такая тонкость, что перед обновлением неплохо бы восстановить первоначальное содержимое файлов engine_XXX.so, иначе он их скачивает по новой. Ну а после обновления, естественно, он их обратно исправляет (уже новые версии). Инструкция по эксплуатации внутри скриптов :-) (в кодировке 1251, уж такую я кодировку у себя в Linux использую, и другим рекомендую). linux_server_update_0_1_.2.1.rar ( 4.12 килобайт ) Кол-во скачиваний: 93 Для win32 hlds: Эта лечилка подходит для последней на данный момент версии сервера (версию сервера можно посмотреть, набрав в консоли version Код Protocol version 47 Exe version 1.1.2.5 (cstrike) Exe build: 21:57:36 Feb 8 2006 (3382) Заменяем ваш swds.dll, находящийся в корне сервера, на этот swds.dll 7. Список основных команд AMX Большое спасибо Slonoboy за предоставленную информацию. Можете также скачать в формате .doc AMX.doc ( 75.5 килобайт ) Кол-во скачиваний: 4426 Цитата amx_kick [reason] Кикнуть игрока с сервера amx_ban [reason] Забанить игрока на сервере amx_banid [reason] Забанить игрока на сервере по SteamID/WonID amx_banip [reason] Забанить игрока по IP amx_unban Разбанить игрока amx_slay Убить игрока amx_slap [power] Пнуть игрока. Ёж птица гордая пока не пнёшь не полетит. amx_leave [tag] [tag] [tag] Оставить на сервере только игроков с определёным "tag" в имени amx_pause Поставить/Убрать паузу amx_who Отобразить кто на сервер amx_cvar [value] Изменить или отобразить значения Cvar-ов amx_map Сменить карту amx_cfg Выполнить конфиг amx_rcon Выполнить команду в консоле сервера. amx_plugins Список всех загруженых плагинов amx_modules Аналогично список всех загруженых модулей amx_say Отправить сообщение всем игрокам amx_chat отправить сообщение админам amx_psay Отправить приватное сообщение amx_tsay Отправить сообщение всем игрокам (слева жирным) amx_csay Тоже что и выше только по центру экрана amx_help Показывает справку amx_votemap [map] [map] [map] Начать голосование за смену карты amx_votekick начать голосование на кик игрока amx_voteban Начать голосование на бан игрока amx_vote Просто так любое голосование типа Вася му№;%№ 1. Да 2. Да конечно amx_cancelvote Прервать последнее голосование say /hp Показать информацию о Вашем убийце say /statsme Отобразить Вашу статистику say /stats Показать статистику остальных say /top15 Отобразить 15 лучших игроков say /rank Отобразить Ваше место на сервере. say nextmap отображает какая карта будет следующей say timeleft Сколько времени до конца текущей карты say thetime Отображает текущее время amxmodmenu Отображает меню amx_cvarmenu Отображает меню cvars-ов amx_mapmenu Отображает меню смены карт amx_votemapmenu Отображает меню голосований на смену карты amx_kickmenu Отображает меню киканья игроков amx_banmenu Отображает меню для бана игроков amx_slapmenu Отображает slap/slay меню amx_teammenu Отображает меню выбора команды игроков amx_clcmdmenu Отображает меню клиентских команд amx_restmenu Меню для установки ограничений на использование оружия amx_teleportmenu Отображает меню телепортаций amx_pausecfgmenu Постановка и снатие с паузы с использованием меню amx_pausecfg [name] Список команд для управления паузами: Commands: off - приостановить все плагины не включёные в список on - возобновить работу всех плагинов stop - остановить плагин pause - приостановить плагин enable - разрешить плагин save - сохранить список остановленых плагинов clear - обнульть список остановленых плагинов list [id] - список плагинов add amx_statscfgmenu Отобразить меню конфигурации статистики amx_statscfg [parameters] Отображает справку по конфигурации статистики: Команды: on - опция доступна off - опция недоступна save - сохранить конфигурацию статистики load - загрузить конфигурацию статистики list [id] - отобразить статус статистики add - добавить стат в список amx version Отобразить версию amx amx modules Отобразить модули amx amx plugins отобразить плагины amx
|