Установка чистого сервера:
Сначала определимся, что такое HLDS, и где его взять. HLDS – Half Life Dedicated Server – выделенный сервер для Half-Life и CS 1.6. Выделенный – значит отдельный, для его запуска лучше использовать отдельный компьютер, сервер создается без запуска самой игры, что очень удобно. Чаще всего ставятся именно выделенные сервера. В no-steam версиях CS он обычно устанавливается вместе с самой игрой, т.к. сервер использует многие файлы самой игры. Использовать этот сервер не рекомендуется, но вполне реально. Нам нужна последняя, официальная, "чистая" версия HLDS. Он бесплатный, его можно скачать из интернета.
Скачиваем готовый архив.
Автор этой статьи специально выложил последнюю версию HLDS на данный момент в архиве.
Эта версия сервера 48 протокола, последняя на данный момент.
Скачиваем Half Life Dedicated Server и распаковываем в нужную папку.
Сам сервер уже можно запустить, заходим в папку сервера, hlds.exe. Выбираем параметры и Start Server.
2. Настройка сервера:
Все основные параметры сервера хранятся в файле cstrike/server.cfg.
Открываем его блокнотом. Смело от туда всё удаляем и вставляем следующее:
// Set the Host Name
hostname "Test server" // Имя сервера.
// Set the rcon password
rcon_password "password" // Пароль для управления сервером через консоль клиента. Чтобы данная функция не работала, оставьте пустым.
// Server Logging
log on // включаем режим записи логов
mp_logdetail 3 // определяем детальность записи логов
mp_logmessages 1 // записывать сообщения
// Server Variables
mp_timelimit 30 // Время на карту (в мин)
mp_autokick 0
mp_autoteambalance 1 // Автоматический баланс команд.
mp_c4timer 35 // Время таймера на бомбе (в сек)
mp_flashlight 1 // Разрешить фонарик
mp_footsteps 1
mp_freezetime 2 // Время для закупки в начале раунда, когда нельзя двигаться (в сек)
mp_friendlyfire 0 // Режим попадания по своим тим-мэйтам
mp_hostagepenalty 0
mp_limitteams 0
mp_tkpunish 0
mp_roundtime 2.5 // Длительность раунда (в мин)
mp_buytime 0.50 // Время, от начала раунда, когда ещё можно купить оружие (в мин)
mp_fadetoblack 0
mp_forcechasecam 1
mp_forcecamera 0
mp_kickpercent 100
mp_playerid 1
mp_startmoney 800
mp_chattime 3
mp_falldamage 1 // Есть урон от падений
sv_airaccelerate 10
sv_airmove 1
sv_restartround 0
sv_maxspeed 320
sv_proxies 1
sv_allowupload 1
sv_voiceenable 1
sv_alltalk 0
sv_voicequality 4
sv_voicecodec voice_speex
allow_spectators 1
pausable 0
cl_weather 0
// cheat and fun modes
sv_aim 0
sv_cheats 0
// Set Rates
sv_maxrate 20000
sv_spectatormaxspeed 500
sv_maxspeed 320
sv_maxupdaterate 101
sv_minrate 2500
sv_minupdaterate 20
decalfrequency 10
sys_ticrate 200
// Enable/Disable LAN mode
sv_lan 1 // Для локальной сети – 1, для Интернета – 0.
Теперь открываем блокнот и пишем следующую строчку:
start "Server" /min /high "hlds.exe" -game cstrike +port 27015 +map de_dust2 +maxplayers 16 -nomaster -insecure -console
Рассмотрим подробнее:
start "Server" – запуск консоли с заголовком Server
/min – свернуть после запуска
/high – ставим высокий приоритет
-console - сервер стартует в консольном режиме
-game cstrike - запускать сервер под CS
-nomaster – не выводить сервер в списке серверов инета
-insecure – отключить VAC
+maxplayers 17 – количество слотов (до 32)
+sv_password 333 – пароль на сервер
+map de_dust2 - сервер запуститься с карты de_dust2
+port 27015 - порт, на котором будет работать сервер
+ip 255.255.255.255 – ip адрес компа, на котором будет находиться сервер
Меняем всё как вам нужно, Файл -> Сохранить как.
Имя файла: Server.cmd
Тип файла: все файлы.
Сохраняем в корневом каталоге сервера. Теперь запускаем сервер только через Server.cmd.
3. Установка metamod:
Metamod служит для подключения дополнительных модов на сервер, таких как AMX Mod X, StatsMe, античитов и других модулей.
Скачать metamod можно пройдя по данной ссылке: Metamod 1.19.zip (версия 1.19).
В папке cstrike создаем папку addons, а внутри неё папку metamod. И распаковываем файлmetamod.dll в неё. Открываем "cstrike/liblist.gam" (блокнот) и исправляем строчку gamedll "dllsmp.dll" на gamedll "addons/metamod/metamod.dll" и сохраняем.
Всё, метамод установлен, можно приступать к установке модов.
4. Установка и настройка AMX Mod X
Скачиваем отдельно AMX Mod X Base (это базовые файлы, для всех модов) и Mod Addon Pack.
Открываем первый архив, выделяем в WinRar папку addons и извлекаем в "cstrike" (например: D:\Server\cstrike). Открываем второй архив, делаем абсолютно всё так же, соглашаемся на замену всех файлов.
В папке "cstrike/addons/metamod" создаем файл plugins.ini , там прописываем строчку:
win32 addons/amxmodx/dlls/amxmodx_mm.dll и сохраняем. Так мы подключили AMX Mod X.
Вот так у нас выглядит папка addons:
--addons - папка addons в /cstrike/
|--metamod - здесь установлен Metamod
|--amxmodx - здесь установлен AMX Mod X
|--dlls - файл amxmodx_mm.dll должен быть здесь
|--modules - папка модулей (.dll)
|--plugins - папка плагинов (.amxx)
|--scripting - папка исходников плагинов и компилятора скриптов
|--include - папка библиотек (includes)
|--compiled – скомпилированные плагины
|--doc - документация
|--data - статистика
|--lang - переводы на разные языки
|--configs - файлы настроек
|--logs - логи AMX Mod X
Переходим к самой длинной части этого руководства – настройке AMX Mod X. Далее идем в папку"csrtike/addons/amxmodx/configs". Открываем файл amxx.cfg, в нём содержатся основные настройки AMX Mod X.
Заменяем все на следующие:
// AMX Mod X
echo Executing AMX Mod X Configuration File
// Уровень доступа всех, кто не прописан в users.ini (обычных игроков)
// По умолчанию: "z"
amx_default_access "z"
// Поле (~переменная) для пароля
// Для ввода пароля (админам) используется команда setinfo _pw pass (где _pw – это и есть поле пароля, а pass - сам пароль)
// По умолчанию: "_pw"
amx_password_field "_pw"
// Вход на сервер
// 0 – отключить авторизацию, игроки не будут проверяться (не будет присвоен ни один уровень доступа)
// 1 – нормальный режим, все флаги в аккуантах ставятся
// 2 – кикать всех, кого нет в листе юзеров (users.ini)
// По умолчанию: 1
amx_mode 1
// Показывать активность админа
// 0 – не показывать
// 1 – показывать, но без ника админа (например, ADMIN Kicked Player)
// 2 – показывать, с ником (например, ADMIN MegaPlayer Kicked Player)
// По умолчанию: 2
amx_show_activity 2
// Частота в секундах и текст сообщения, которое будет прокручиваться
// По умолчанию: "Welcome to %hostname% -- This server is using AMX Mod X" 600
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
// Сообщение по центру экрана (в конце цвет в RGB)
// По умолчанию: "Welcome to %hostname%" "000255100"
// "This server is using AMX ModXnVisit http://www.amxservera.ru" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod XnVisit http://www.amxservera.ru" "000100255"
// Частота вывода на экран этого сообщения (см. выше) в секундах
// По умолчанию: 180
amx_freq_imessage 180
// Время бана для меню (amx_banmenu)
// Используйте 0 для перманент банов (навсегда)
// По умолчанию: 0 5 10 15 30 45 60
amx_plmenu_bantimes 0 5 10 15 30 45 60
// Урон от слэпа (slap) для меню (amx_slapmenu)
// Слэй автоматически идет первым параметром
// По умолчанию: 0 1 5
amx_plmenu_slapdmg 0 1 5
// Как часто игроки могут писать сообщения в чат в секундах (защита от флуда)
// По умолчанию: 0.75
amx_flood_time 0.75
// Количество резервируемых слотов для админов
// По умолчанию: 0
amx_reservation 0
// Скрывать резервируемые слоты
// По умолчанию: 0
amx_hideslots 0
// Показывать оставшееся время до конца карты
// a – белый текст внизу по центру экрана
// b – голосовое сопровождение
// c – не добавлять "remaining" (для голоса)
// d – не добавлять "hours/minutes/seconds" (для голоса)
// e – показывать/озвучивать, если текущее время меньше, чем установлено в параметре
// По умолчанию: "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
amx_time_display "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
// Сопровождать голосом команды "say thetime" и "say timeleft"
// По умолчанию: 1
amx_time_voice 1
// Минимальная задержка в секундах между двумя голосованиями
// По умолчанию: 10
amx_vote_delay 10
// Сколько длится голосование в секундах
// По умолчанию: 10
amx_vote_time 10
// Показывать, кто за что проголосовал
// По умолчанию: 1
amx_vote_answers 1
// Отношения для результатов голосования
// По умолчанию: 0.40
amx_votekick_ratio 0.40
// По умолчанию: 0.40
amx_voteban_ratio 0.40
// По умолчанию: 0.40
amx_votemap_ratio 0.40
// По умолчанию: 0.02
amx_vote_ratio 0.02
// Максимальное время, на которое может быть продлена карта (в минутах)
// По умолчанию: 90
amx_extendmap_max 90
// На сколько может быть продлена карта за раз (в минутах)
// По умолчанию: 15
amx_extendmap_step 15
// Разрешить выбирать язык
// По умолчанию: 1
amx_client_languages 1
// Дебаг-режим
// 0 - отключен
// 1 – плагины с опцией "debug" в plugins.ini запускаются в debug режиме
// 2 – все плагины запускаются в debug режиме
// По умолчанию: 1
amx_debug 1
// Статистика ведётся
// 0 – по нику
// 1 - по authid
// 2 - по ip
// По умолчанию: 1
csstats_rank 0
// Максимальный размер файла статистики
// По умолчанию: 3500
csstats_maxsize 3500
// Записывать статистику ботов
// По умолчанию: 0
csstats_rankbots 0
// Время для отображения статистики после смерти (в секундах)
// По умолчанию: 12.0
amx_statsx_duration 12.0
// Время отображения статистики (HUD) после конца раунда
// Отрицательное время уберёт статистику до того, как freezytime раунда закончится
// По умолчанию: -2.0
amx_statsx_freeze -2.0
Теперь открываем modules.ini, в нём содержится список подключаемых модулей. Всё, что написано с символа ";" считается комментарием и не учитывается. Поэтому чтобы отключить модуль, поставьте перед его названием символ ";".
Не вдаваясь в подробности, оставьте вот такой набор модулей:
engine
fakemeta
;geoip
;sockets
regex
;nvault
cstrike
csx
;hamsandwich
5. Установка HLBooster
HLBooster позволяет снизить пинг игроков, повышая нагрузку на процессор. Ставить только на мясные сервера, если слотов больше 14. Если меньше – то смысла особого нет. Помните, что бустер повышает риск падения сервера, так что если у вас с ним сервер падает, попробуйте сначала поменять версию, а если не поможет, лучше его вообще не использовать. В данный момент распространены две версии 2.40 и 1.7. Я не ощутил между ними большой разницы, но т.к. версию 2.40 много ругают, будем ставить 1.7. Скачиваем hl_booster.rar
Создаём в папке addons папку booster, в неё копируем файл из архива, версия 1.70, booster_mm.dll. В файл "metamod/plugins.ini" дописываем строчку win32 addons/booster/booster_mm.dll. Настройки прописываем в файл server.cfg
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_mminc 2
7. Ошибка Invalid CD-Key, 47 и 48 протокол
Invalid CD-Key. Ошибка возникает если версия контры у клиента ниже 19 патча, а также если у вас пиратская версия, а вы пытаетесь подсоединиться к лицензионному серверу. Если сервер не стим, ставьте 19 или 21 патч.
Поскольку сервер у нас официальный, то на него не будет пускать игроков без стима. Это исправляется заменой файла swds.dll в корневой директории сервера на его взломанную версию.
Протоколы 47 и 48. Совсем недавно вышел патч для сервера, позволяющий заходить на него клиентам с 47 и 48 протоколом (пускает steam и nosteam).
Качаем: HLDS патч 47+48 протокол
Список основных настроек сервера CS 1.6
mp_allowspectators 1 // На сервере можно присутствовать спектатором
mp_autocrosshair 0 // Автоаим (примитивный AimBot)
mp_autokick 0 // Автокик тимкиллеров
mp_autoteambalance 1 // Автобаланс команд (разница игроков не может быть больше mp_limitteams
mp_buytime 0.5 // Время, от начала раунда, когда ещё можно купить оружие (в мин)
mp_consistency 1 // Проверка файлов клиента
mp_c4timer 35 // Время от установки до взрыва бомбы (в сек)
mp_chattime 10 // Количество секунд, на которое сервер позволяет игрокам писать в общий чат после конца карты и до загрузки новой
mp_decals 200 // Количество отображаемых одновременно дыр от выстрелов , пятен крови и т.д
mp_fadetoblack 0 // Черный экран после смерти до конца раунда
mp_flashlight 1 // Разрешить использовать фонарик
mp_forcechasecam 0 // После смерти можно смотреть только за своей командой (1); нельзя двигать камеру после смерти (2); откл. (0)
mp_forcecamera 2 // Режим камеры в спектаторе после смерти
mp_freezetime 2 // Время для закупки в начале раунда, когда нельзя двигаться (в сек)
mp_footsteps 1 // Слышно шаги (при беге)
mp_friendlyfire 1 // Можно ранить, убивать своих
mp_limitteams 10 // Сколько максимум игроков может играть за команду
mp_hostagepenalty 0 // После этого кол-ва убитых заложников вас кикнет
mp_limitteams 1 // См. mp_autoteambalance
mp_maxrounds 0 // До скольки раундов идет карта
mp_playerid 1 // Что видит игрок принаведениии прицела на цель: 2 - ничего, 1 - видит имя игрока ( если он из твое команды), 0 - видит имена всех
mp_roundtime 2.5 // Длительность раунда (в мин)
mp_startmoney 800 // Начальное количество денег в первом раунде
mp_timelimit 30 // Время на карту (в мин)
mp_tkpunish 0 // Убивать игрока в след. раунде за тимкилл
sv_aim 0 // Включить авто-аим
sv_allow_download // Возможность загружать карты (и декали) на комп клиента
sv_allow_upload // Возможность загружать карты (и декали) на сервер от клиентов
sv_alltalk 0 // Разговор по микрофону доступен всем играющим на сервере (включая умерших)
sv_cheats 0 // Включение читов
sv_gravity 800 // Гравитация
sv_lan 1 // Для локальной сети – 1, для Интернета – 0.
sv_language 0 // Устанавливает язык
sv_maxspectators 8 // Максимальное кол-во спектаторов
sv_password 0 // Пароль для входа на сервер
sv_spectalk 1 // Возможность чата между спектаторами |