Выделенный Counter-Strike Server (WIN32)

Автор статьи: madeagle.ru
Сайт Автора: www.madeagle.ru
E-mail Автора: нет
Дата публикации: 05.03.2005

1. Файлы, необходимые для установки сервера Counter-Strike.

• Counter-Strike, полная мод-версия 1.3, cs13full.exe.
• Модуль защиты выделенного сервера HLDS от вандалов HLDS Crash Fix, версия 2, hldsfix.zip

1.1 Процедура установки сервера Counter-Strike.

1.1.1 Версии программ.

На данный момент самой последней версией Counter-Strike (CS) является 1.3. Соответственно, перед установкой необходимо иметь на руках это файл. Если его нет - скачайте с любого доступного Вам сервера (воспользуйтесь нашим разделом Download).

ВНИМАНИЕ! Лично я сам не использую да и Вам тоже не советую устанавливать обновляющие патчи со старой версии HLDS и CS на новую (например, с 4.1.0.7 на 4.1.0.8, hlds41074108.exe и соответственно с 1.1 на 1.3 , csv1113.exe ), предпочтительнее ставить полные версии. Это вызвано бОльшим количеством ошибок, которое могут встретиться в неполных (update) версиях как HLDS, так и CS. Но это только рекомендации, вы можете поступить так как вам больше нравится или позволяет конкретная ситуация в Вашем случае. Вернёмся к процессу установки.

1.2 Установка сервера Counter-Strike (CSDS)

Скачав или просто переписав у кого-нибудь полный дистрибутив CS 1.3, приступаем к его установке. Принципиальных отличий от установки сервера HLDS тут нет, практически те же вопросы и ответы. Всё аналогично. Первый существенный вопрос, который вам задаст программа установки: куда ставить файлы? Отвечаете D:hlserver. Каталог cstrike будет создан автоматически. Второй и последний важный вопрос: каким каналом будет подключён к сети Ваш CSDS-сервер? Тут уже ответ зависит от "ширины" (пропускной способности) Вашего канала. Если сервер устанавливается для игры только по локальной сети, смело выбирайте LAN, если планируете использовать сервер для игры в Интернете, выбирайте значение, соответствующее пропускной способности вашего канала в Интернет (если интернет-канал имеет пропускную способность 10 мегабит или выше- вы так же можете выбрать LAN). Так же будет присутствовать вопрос: "Поместить ярлык на рабочий стол?" - конечно, поместить! Он нам пригодится при создании командной строки сервера CSDS, см. п. 1.3.4

1.3 Настройка сервера CSDS

Я сознательно не описал в соответствующем разделе настройку сервера HLDS, так как без настроек, специфичных для сервера CSDS, она нам попросту не интересна. При настройке сервера CSDS нас в основном интересуют несколько важных файлов. Поскольку после установки файлы CSDS и HLDS очень тесно взаимодействуют между собой, я не буду отделять одни настройки от других, и мы будем рассматривать настройки сервера как нечто целое, не требующее отдельного разбиения на HLDS и CSDS.

1.3.1 Настройка файла server.cfg

Это - основной файл конфигурации любого выделенного сервера (при запуске listen server'a задействуется другой файл, listenserver.cfg). Первоначальные базовые настройки этого фала достаточно скудны, однако и они позволяют базово защищаться от вандалов-читеров и использовать некоторые правила для сервера и его игроков.

- пример файла server.cfg (в скобках мои комментарии):

log on (включить протоколирование сервера, в нашем случае это каталог d:hlservercstrikelogs)
hostname "CS 1.3 MADEagle Server" (имя Вашего сервера)
maxplayers 16 (максимальное количество возможных подключений к серверу)

// General HL Cvars (основные переменные HLDS)

decalfrequency 60
mp_falldamage 1 (включена система смертельных повреждений)
pausable 0 (отключена пауза)
sv_aim 0 (отключено авто наведение)
sv_cheats 0 (отключены читы)
sv_maxrate 10000 (максимальная скорость для подключения к серверу)
sv_maxspeed 300 (максимальная скорость игрока в игре)
sv_minrate 500 (минимальная скорость для подключения к серверу)

// CS Specific Cvars (переменные CSDS)

mp_autokick 1 (кикать при плохом поведении ;) )
mp_autoteambalance 1 (авто-баланс команд Т и СТ)
mp_c4timer 45 (таймер бомбы, в секундах)
mp_flashlight 1 (разрешён фонарик)
mp_footsteps 1 (слышно шаги игроков)
mp_forcechasecam 1 (следовать камерой только за своими игроками)
mp_freezetime 10 (время простоя на старте, для закупки оружия и уравнивания HPB и LPB)
mp_friendlyfire 1 (можно наносить повреждения своим)
mp_hostagepenalty 3 (столько заложников можно убить прежде чем вас autokick'нет)
mp_limitteams 2 (различие между командами не более чем на 2 человека)
mp_logmessages 1 (записывать в лог переговоры игроков, для последующих разборок)
mp_mapvoteratio 0.6 ( 60% голосов набрано- и карта на сервере меняется на нужную)
mp_roundtime 5 (время одного раунда, в минутах)
mp_timelimit 30 (общее время на одну карту, в минутах)
mp_tkpunish 1 (валить и топтать до смерти тим-киллера на старте)

sv_restartround 10 (через 10 секунд после старта раунда будет рестарт)

//My own cvars

sv_allowdownload 1 (разрешено скачивание с сервера недостающих файлов)
sv_netsize 0 (авто-определение сетевых настроек)
sv_spectalk 1 (спектраторы могут участвовать в общем чате)
sv_timeout 300 (в секундах, указывается время ожидания подключения игрока со стороны сервера, полезно при обычном лаге; при значительном лаге этот параметр лучше попробовать плавно увеличить).

1.3.2 Настройка файл mapcycle.txt

Этот файл содержит в себе список карт, которые доступны серверу для загрузки, игрокам для голосования и админу для смены карты БЕЗ указания полного пути и расширения *.bsp. Первоначальные базовые настройки этого фала позволяют играть с 80-90% установленных на сервере по умолчанию карт, однако этот файл должен быть отредактирован если на сервер добавлены нестандартные карты (нужно добавить имена карт и при необходимости поменять их очерёдность). Файл имеет простой текстовый формат. Обратите внимание, что карты вносятся в этот файл БЕЗ расширения *.bsp. Файл находится в каталоге d:hlservercstrike. Не путайте с точно таким же файлом, который находится в каталоге d:hlserver !!! Этот файл не имеет никакого отношения к Counter-Strike, он - часть сервера Half-Life, и если вы видите,что при изменении Вашего mapcycle.txt карты и порядок их загрузки не меняются, удостоверьтесь, что вы редактировали именно тот файл, который нужно.

- пример файла mapcycle.txt (это просто пример фрагмента файла, не более того, в скобках комментарии)

de_dust2
de_train
de_nuke
de_survivor (стандартная карта, из дистрибутива CS 1.3)
de_torn
de_aztec
as_oilrig
de_rats (нестандартная карта, добавлена в mapcycle.txt)
de_dust
cs_delta_assault (нестандартная карта, добавлена в mapcycle.txt)
cs_italy

Откройте свой файл (во как сказал ;) mapcycle.txt в любом текством редакторе (желателен notepad) и внесите в него карты, которые не входят в состав стандартного дистрибутива но будут играться на Вашем сервере. Так же выберите очерёдность их загрузки (в порядке внесённых строк).

1.3.3 Настройка файла motd.txt

Этот файл содержит в себе приглашение, предупреждение, или просто сообщение, которое выдаётся игроку сразу после его подключения к серверу. Содержит в себе стандартное приветствие для подключающихся. Можете заменить стандартное сообщение сервера на своё, типа "Welcome to CS 1.3 MadEagle server! Visit the official CS and STATS web sites, www.madeagle.ru!" и всё такое, в том же духе или что-то в этом роде, оставим это на Ваше усмотрение ;)....

ВНИМАНИЕ! НИ CS, НИ HL НЕ ПОНИМАЮТ РУССКИЙ ЯЗЫК (КИРИЛЛИЦУ), ПОЭТОМУ ВОЗДЕРЖИТЕСЬ ОТ ПРИМЕНЕНИЯ РУССКИХ БУКВ ГДЕ БЫ ТО НИ БЫЛО ПРИ НАСТРОЙКЕ СЕРВЕРА!!!

1.3.4 Командная строка для запуска сервера (редактирование ярлыка)

Последнее, что мы настроим перед первым запуском сервера, это - командная строка. В командной строке ярлыка сервера можно и НУЖНО указать несколько ОЧЕНЬ важных параметров загрузки и дальнейшего функционирования сервера.

- пример командной строки для сервера CSDS

hlds.exe -game cstrike +exec server.cfg +exec my-serv-cfg.cfg +ip 192.168.0.1 +port 27015 +sv_lan 1 -nomaster +maxplayers 18 +map de_dust

Пояснения:

-game cstrike - запуск выделенного сервера Counter-Strike.
+exec server.cfg - выполнение при запуске сервера основного файла конфигурации.
+exec my-serv-cfg.cfg - выполнение (при необходимости) дополнительного файла конфигурации.
+ip 192.168.0.1 - адрес Вашего сервера (забейте свой ip-адрес; в основном актуально только для серверов с несколькими сетевыми платами или ip-адресами).
+port 27015 - порт Вашего сервера.

(эти две настройки должны ОБЯЗАТЕЛЬНО присутствовать в командной строке!).

+sv_lan 1 - работа в режиме локальной сети (сервером производится проверка адресов всех подключающихся на принадлежность их подсети класса "С"; работа только с адресами 192.168.*.* и подобным им, не маршрутизируемыми)

-nomaster - сервер не пробует авторизовать себя в WON (работа в режиме локальной сети).

+maxplayers 18 - максимальное количество возможных подключений.
+map de_dust - первая карта, которая будет запущена на сервере при его загрузке, вне зависимости от указанной в файле mapcycle.txt на сервере.

Так же можно воспользоваться переменной -heapsize 128000 - размер выделенной серверу оперативной памяти (в мегабайтах; при ощутимом дифиците оперативной памяти не отдавайте серверу CSDS всю память, поступайте осмотрительно).

1.3.5 Настройка выделенного сервера Counter-Strike для Интернет

Если вы хотите установить Ваш сервер для подключения к нему через интернет, а не только из локальной сети, то воспользуйтесь специальными patch'ами, любезно предоставленными нам Basilio Cat'ом. Скачать patch'и Вы можете с этой страницы. Добавить тут нечего, разве что ещё раз напомню, как правильно запускать выделенный интернет-сервер Counter-Strike.

После применения patch'а (отличие пропатченного от непропатченного сервера проявится сразу же- в логе сервера появится длинное сообщение о том что "...отключился броадкаст по UDP" ) сервер больше не проверяет адреса подключающихся на принадлежность сети класса "С", соответственно снимается ограничение на использовании только в локальной сети.

Что бы интернет-сервер Counter-Strike начал функционировать, требуется следовать следующим , нехитрым требованиям:

I. Сервер должен быть запущен в LAN-mode, используйте для этого sv_lan 1.
II. Можно, но не обязательно, использовать переменную -nomaster. Это при любых условиях не даст Вашему серверу "засветиться" на мастер-серверах WON. Эффект- Ваш сервер не будет виден через GameSpy, пока вы не добавите его вручную.
III. Если сервер довольно быстро "падает", попробуйте отключить Ваш Admin Mod (если он установлен, см. раздел Программа HL Admin Mod для Win32).
IV. Пример короткой командной строки для Интернет-сервера:

hlds.exe -game cstrike -nomaster +sv_lan 1 +maxplayers 16 +map de_dust

1.3.6 Защита сервера CSDS от вандалов

По неизвестным обычным людям причинам, некоторые враги нормального сосуществования в рамках одного сообщества изготавливают и распостраняют вредоносные программы, которые могут серьёзно Вам осложнить эксплуатацию Вашего новенького выделенного сервера. Поэтому группы и одиночки-энтузиасты (valve в это время очевидно почивает на лаврах) создают модули для защиты выделенного сервера от атак через интернет и для противостояния не менее мерзким личностям, в просторечье именуемым "читеры". Читеры -игроки, использующие специальное программное обеспечение, которое в свою очередь использует недокументированные дырки и просто недоработки программистов Valve в движке Half-Life. Я уверен, что рано или поздно, но Вы сталкнётесь с ними на Вашем сервере, так как желание слабых быть быстрее+выше+сильнее своих более опытных или удачлиывх соперников находит своё отражение именно в применении читов, а не в оттачивании бойцовского мастерства...

Грустно, господа. Но тут уж ничего не поделаешь. Но мы МОЖЕМ и БУДЕМ бороться с читерам, тем более что нам это вполне по силам, кто бы что ни думал и не говорил! Обсуждение вопросов безопасности постоянно идёт на нашем форуме, рекомендую Вам зайти и ознакомиться с последними достижениями в этой области.

Подробно на вопросе обеспечения безопасности Вашего сервера мы остановимся в разделе Безопасность нашего руководства. Здесь же мы рассмотрим только один, но очень и очень важный базовый модуль защиты Вашего сервера. Это - HLDS Crash Fix, разработанный и собранный совместно Basilio Cat и Vasiliy Pupkin. Краткое описание и руководство по установки доступно в самом архиве. От себя добавлю лишь одно: Вы очень сильно рискуете стабильностью Вашего сервера, пока не установите этот замечательный патч. Он защитит Ваш сервер от DOS-атак (Denial of Service). Файл можно скачать здесь. Ещё раз повторю для недоверчивых: СТАВИТЬ! СТАВИТЬ НЕПРЕМЕННО И НЕМЕДЛЕННО!

Ну вот, выделенный сервер установлен и настроен, теперь саме время заняться установкой программы удалённого администрирования, Half-Life Admin Mod.