Используемые файлы в статье:
amxmodx-1.8.1
metamod-1.19-win
dproto-0.4.1
hldsupdatetool
HLBooster_lite
Содержание статьи
1.Установка сервера
-скачиваем сервер через HldsUpdateTool
2.Настройка сервера
-настройка server.cfg
-создание скрипта для запуска сервера
3.Установка Metamod
4.Установка и настрока AMX MOD X
-Установка AMX MOD X
5.Настройка AMX MOD X
-Настройка конфига amxx.cfg
-Модули сервера modules.ini
-Администрирование сервера через AMX MOD X, настройка users.ini
-Вход на сервер под админом при помощи setinfo
-Об установке AMX MOD X плагинов
6.Уменьшение пинга при помощи HLBooster
7.Вход на сервер с двух протоколов(47 и 48) Dproto
8.AMX команды
1.Качаем сам сервер.
Качаем HLDS (после всех скачиваний и обновлений размер 315 мб)
Устанавливаем, путь установки лучше оставить по умолчанию (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\.
В принципе сервер уже на этой стадии готов к употреблению, но...
2.Настройка.
Основные параметры хранятся в cstrike\server.cfg.
Открываем и видим кучу надписей вроде этого(можете изменить всё на это или подредактировать то что есть),
Пример server.cfg
// Set the Host Name
hostname "testing…" // Имя сервера.
// 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 0 // Для локальной сети – 1, для Интернета – 0
Внимание!!!
Будьте внимательнее при выборе параметра sv_lan (последняя строка)
Скрипт запуска сервера:
откройте блокнот и скопируйте это:
@echo off
cls
:hlds
echo (%time%) Server has been started!
START/HIGH /wait hlds.exe -noipx -console +port 27016 -tickrate 100 -insecure -game cstrike +maxplayers 20 +map de_dust2
echo (%time%) WARNING! hlds closed or crashed! Restarting...
goto hlds
Рассмотрим подробнее, что здесь написано:
/high – ставим высокий приоритет
-console - сервер стартует в консольном режиме
-game cstrike - запускать сервер под CS
-nomaster – не выводить сервер в списке серверов инета(указывать при необходимости)
-insecure – отключить VAC(античит)
+maxplayers 20 – количество слотов (до 32)
+sv_password 333 – пароль на сервер
+map de_dust2 - сервер запуститься с карты de_dust2
+port 27016 - порт, на котором будет работать сервер
+ip 255.255.255.255 – ip адрес компа, на котором будет находиться сервер(можно неуказывать, ип выдаст автоматически)
-noipx - команда для плагина booster(рассмотрим чуть пожже)
Особенность данного запуска в том что после подвисания сервера(не дай бог, конечно), сервер автоматически перезагрузится)
Меняем всё как вам нужно, Файл -> Сохранить как. Имя файла: Server.cmd либо server.bat. Тип файла: все файлы. Сохраняем в корневом каталоге сервера.
Теперь запускаем сервер только через Server.cmd или server.bat
3. Установка Metamod
Metamod служит для подключения дополнительных модов на сервер, таких как AMX Mod X, StatsMe, античитов и др.
Скачать Metamod можно c официального сайта (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 с официального сайта
Из всего что представлено на странице, качаем AMX Mod X Base и Counter-Strike Addon..
После распаковки закидываем обе папки addons в директорию /cstrike/, на вопрос заменить, пишем ДА!
В папке cstrike/addons/metamod открываем файл plugins.ini (создаем, если нет его), там прописываем строчку:
win32 addons/amxmodx/dlls/amxmodx_mm.dll и сохраняем. Так мы подключили AMX Mod X.
5.НАСТРОЙКА AMX
Идем в папку 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 ModX\nVisit http://www.amxmodx.org" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "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 1
// Максимальный размер файла статистики
// По умолчанию: 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[b], в нём содержится список подключаемых модулей. Всё, что написано с символа [b]";"[b] считается комментарием и не учитывается. Поэтому чтобы отключить модуль, поставьте перед его названием символ [b]";"[b].
Не вдаваясь в подробности, оставьте вот такой набор модулей:
engine
fakemeta
;geoip
;sockets
regex
;nvault
cstrike
csx
;hamsandwich
Переходим к файлу [b]users.ini. В нём расписаны полномочия юзеров. В самом низу файла будут строчки вида . Одна строчка – один юзер.
- ник или ip или steam_id
- пароль
- флаги полномочий
- флаги входа на сервер
Флаги полномочий
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, никаких полномочий он при этом не получит).
Делаем себя Админом:
по ip:
"ваш ип(стандартный 192.168.1.2)" "ваш пароль" "abcdefghijklmnopqrstu" "de"
по нику:
"ваш ник" "ваш пароль" "abcdefghijklmnopqrstu" "a"
Пример:
"192.168.1.2" "123" "abcdefghijklmnopqrstu" "de"
"DanLex" "123" "abcdefghijklmnopqrstu" "a";
Чтобы зайти на сервер как админ надо написать в файле userconfig.cfg(если нет, создать) который лежит в папке cstrike Вашей контры(Не в сервере!!!) строчку setinfo "_pw" "ваш пароль" (пример: setinfo "_pw" "123")..
Или в игре, когда ещё не зашли на сервер , написать в консоли setinfo "_pw" "ваш пароль" (пример: setinfo "_pw" "123")
Теперь о AMX MOD X плагинах:
Включаем плагины в plugins.ini, также как и в модулях чтобы отключить надо поставить ";"
Ну что попробуем??
Рассмотрим на примере плагин admins_online.amxx, который показывает кол-во админов в верхней левой части экрана..
1.Идём в plugins.ini и в самом конце прописываем admins_online.amxx ; online admin, всё что после ";" это комментарии чтоб не забыть что же это за плагин =)
2.Кидаем сам файл плагина (admins_online.amxx) в папку plugins
6.Боремся с пингом на сервере при помощи HLBooster
HLBooster - позволяет снизить пинг игроков, повышая нагрузку на процессор. Помните, что бустер повышает риск падения сервера, так что если у вас с ним сервер падает, попробуйте сначала поменять версию, а если не поможет, лучше его вообще не использовать. В данный момент распространены две версии 2.40 и 1.7.
Создаём в папке addons папку booster, в неё копируем файл из архива, booster_mm.dll. В файл metamod/plugins.ini дописываем строчку win32 addons/booster/booster_mm.dll. В server.cfgпрописываем одну строчку: exec booster.cfg Создаём в папке cstrike файл booster.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.Не заходит на сервер? пишет мол протокол не такой? ИСПРАВИМ! Dproto
Dproto - это библиотека, подключаемая через Metamod, позволяет заходить на сервер с двух протоколов(47 и 48) и имеет много полезных настроек. Новые версии Dproto выкладывается на форуме (там же можно задать вопрос разработчику, если у вас с английским лады): http://cs.rin.ru/forum/viewtopic.php?f=29&t=52728.
Скачиваем последнюю версию. Создайте папку dproto в каталоге C:\serv\cstrike\addons\. Файл dproto.dll из архива, в папке bin\windows скопируйте в папку C:\serv\cstrike\addons\dproto\. В файле metamod\plugins.ini допишите такую строчку: win32 addons/dproto/dproto.dll.
Файл dproto.cfg из архива поместите в корень сервера (D:\Server\). В нём содержаться настройки dproto.
8.AMX команды
Админские
amx_addadmin [password] [authtype] Добавить админа
amx_addban [reason] Добавить бан к бан-листу сервера
amx_ban [reason] Забанить игрока
amx_cfg Выполнить конфиг на сервере
amx_cvar [value] Изменить или показать значение cvar
amx_help Список доступных команд
amx_kick [reason] Кикнуть игрока
amx_last Список недавно вышедших с сервера игроков
amx_leave [tag1] [tag2] [tag3] Кикнуть всех игроков, у которых нет указанных клан-тэгов
amx_map Смена карты
amx_menu Показывает меню, доступное для игроков
amx_modules Лист всех загруженных модулей
amx_nick Смена ника игрока
amx_off Приостанавливает плагины
amx_on Снимает паузу с плагинов
amx_pause Поставить или снять паузу
amx_pausecfg Список команд для управления паузами
amx_plugins Лист всех загруженных плагинов
amx_rcon Выполняет команду на стороне сервера
amx_reloadadmins Обновить админов из users.ini
amx_setlang Установить язык
amx_showrcon Выполнить команду в консоли сервера и отобразить результат
amx_slap [damage] Слэп (толчок) игрока, можно с уроном
amx_slay Слэй (убийство)
amx_unban Разбанить игрока
amx_who Список игроков на сервере (ip, steam_id, nick, time, ping)
Чат
amx_chat Послать сообщение всем админам
amx_csay Сообщение для всех по центру
amx_psay Послать приватное сообщение (одному игроку)
amx_say Послать сообщение всем игрокам
amx_tsay Сообщение для всех слева
say @[@|@|@][w|r|g|b|y|m|c] Сообщение для всех слева
say_team @ Показывает сообщение всем админам (HUD)
Голосование
amx_cancelvote Прерывает предыдущее голосование
amx_vote Любое голосование
amx_voteban Голосование за бан игрока
amx_votekick Голосование за кик игрока
amx_votemap [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
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 // Возможность чата между спектаторами