Здесь со временем появятся различные интересные статьи, которые имеют отношение к игре Counter-Strike Source. Будут опубликованы как наши наработки так и других команд и авторов, естественно со ссылками на источник.

Итак, приступим. Первая статья будет симбеозом полученных мной знаний из статей интернета, при установке собственного выделенного сервера для игры CS:S.

 
 
1.1 Установка:

0. Прежде чем приступить к установке, необходимо сказать пару слов о hldsupdatetool. hldsudpdatetool - это единый инструмент для установки и обновления серверов на базе Steam, включая игры Valve на базе HL1 и HL2, а в будущем и сторонние игры, например Red Orchestra.
1. Качаем "дистрибутив" hldsupdatetool и сохраняем во временную папку.
2. Запускаем и проходим короткий мастер установки, заключающийся по большей части в серии нажатий Next и указании папки, в которой будет стоять сервер. Папку указываем на свое усмотрение, в примере будет использована папка c:\server.
3. Идем в папку c:\server и запускаем лежащий там пока в гордом одиночестве файл hldsupdatetool.exe. Это приведет к обновлению hldsupdatetool.exe до последней версии.
4. Создаем батник для установки и последующего обновления сервера (можно обойтись и без него, в этом случае просто используйте тот же синтаксис в командной строке). Запустите notepad.exe и в появившемся окне напишите следующее:
start /wait c:\server\hldsupdatetool.exe
start /wait c:\server\hldsupdatetool.exe -command update -game "Counter-Strike Source" -dir .
exit
Сохраните файл в папке c:\server с названием update.bat (название файла можете сделать любое, главное, чтобы расширение было .bat, а не txt!)
Теперь немного о том, что этот батник делает:
Первая строка просто запускает hldsupdatetool, чтобы скачать его последнюю версию, если таковая есть и дожидается пока этот процесс окончится.
Вторая строка запускает установку или обновление сервера Counter-Strike: Source в ту же папку, где находится hldsupdatool.exe и дожидается окончания этого процесса. Для создания сервера HL2DM или DODS используйте в параметре -game значение "hl2mp" или "dods" соответственно (кавычки обязательны!).
Третья строчка гарантирует окончание работы батника по завершению всех команд.
5. Запускаем update.bat. После запуска батника начнется процесс установки сервера. При начальной установке скачивается более гигабайта данных, поэтому в зависимости от скорости вашего соединения, процесс может быть достаточно длительным. После окончания установки, батник закроется самостоятельно.

1.2 Базовая настройка:

Прежде чем приступить к запуску сервера, желательно его настроить. Подавляющее большинство настроек SRCDS выполняется с помощью файла server.cfg, расположенного в папке cfg установленной игры (/cstrike/cfg для Counter-Strike: Source, /hl2mp/cfg для HL2DM, /dod/cfg для Day of Defeat: Source).

При отсутствии этого файла (как например при начальной установке) сервер запускается со значениями по умолчанию.

Пример файла server.cfg для Counter-Strike: Source можно найти здесь. Детальное описание всех настроек выходит за рамки данной статьи

Примечание: Основные настройки сервера можно выполнить при помощи он-лайн конфигуратора на сайте CSSTRIKE PLANET, а получившийся результат скопировать в ваш файл server.cfg


Другие файлы, на которые вам стоит обратить внимание (на примере CSS, для других игр, замените cstrike на папку игры):
/cstrike/maplist.txt - содержит список всех карт на сервере. Если карты нет в списке, то ее нельзя поставить, даже если соответствующий .bsp файл находится в папке maps
/cstrike/mapcycle.txt - содержит список карт, которые находятся в игровом цикле. Если карты здесь нет, то поствить ее можно только вручную.
/cstrike/motd.txt - содержит приветственное сообщение, демонстрируемое игрокам при входе на сервер или при смене карты. При форматировании использутеся HTML
/cstrike/cfg/autoexec.cfg - содержит параметры, которые должны выполняться один раз при запуске сервера (в отличие от server.cfg, который исполняется при каждой смене карты).

1.3 Запуск сервера:

При запуске сервера мы будем также использовать батник, который не только избавит нас от необходимости вводить длинную командную строку при каждом запуске, но и гарантирует автоматический перезапуск сервера в случае непредвиденного падения.
Итак, снова открываем notepad.exe и пишем:

@echo off
cls
:loop
echo (%date% %time%) Checking for updates
start /wait c:\server\update.bat
echo (%date% %time%) Starting SRCDS
start /wait c:\server\srcds.exe -console -game cstrike +maxplayers 16 +map de_dust
echo (%date% %time%) Restarting SRCDS
goto loop
Сохраняем наш файл в папку c:\server с названием server.bat (как и раньше, название можете поставить любое, но расширение должно быть bat!)
Теперь рассмотрим наш батник в подробностях:
Первая строка просто отключает вывод ненужной информации на экран.
Вторая строка очищает экран.
Третья строка устанавливает точку, к которой батник вернется в случае падения сервера.
Четвертая строка выводит на экран сообщение Checking for updates с указанием даты и времени.
Пятая строка запускает созданный нами ранее батник обновления сервера. Это позволит нам обновлять сервер простым его перезапуском.
Шестая строка выводит на экран сообщение Starting SRCDS с указанием даты и времени
Седьмая строка запускает собственно сервер.
Рассмотрим ее параметры подробнее:
-console - запускает сервер в консольном режиме. Без этого параметра сервер запустится с графическим интерфейсом (как через Steam) и потребует ручного нажатия кнопки для действительного запуска.
-game - указывает игру, для которой запускается сервер. Для серверов HL2DM и DOD Source необходимо указывать hl2mp и dod соответственно.
+maxplayers - указывает максимальное количество игроков на сервере.
+map - указывает стартовую карту для сервера. Этот параметр обязателен, кроме случая установки SourceTV прокси.
Другие параметры:
+ip - указывает ip адрес, на котором запускается сервер. Использовать только в случае наличия нескольких адресов на сервере!
-port - указывет UDP порт, на котором запускается сервер. По умолчанию используется порт 27015. Если порт по умолчанию занят, автоматически используется следующий.
+tv_port - указывает UDP порт, на котором запускается SourceTV. По умолчанию используется порт 27020, если он занят, автоматически используется следующий.
-tickrate - указывает тикрейт сервера. По умолчанию CSS запускается с тикрейтом 33, HL2DM и DOD: Source - 66.
Выставление значений ниже значений по умолчанию или значений не кратных 33 приведет к проблемам на сервере!
Полный список параметров доступен здесь
Восьмая строка нашего батника выводит на экран сообщение Restarting SRCDS с указанием даты и времени.
Девятая строка возвращает батник к указанной ранее точке в случае падения или выключения сервера (инициируя таким образом обновление и перезапуск сервера).

Все. Наш батник готов и разобран по косточкам, для запуска сервера нам осталось только запустить батник.

Примечание: Приведенный пример батника подходит только для лицензионного STEAM сервера. Так как мы делаем NOSTEAM сервер, то у нас есть два варианта:
1) Удалить четвертую и пятую строки батника, которые выполняют обновление сервера, и обновлять сервер вручную, а потом его патчить.
2) Кто силен в DOS-овских командах, может дописать пару строк в батник (после строк обновления), которые будут запускать батник для пропатчивания сервера и доведения его до NOSTEAM


1.4 Специфика Linux:

Установка и запуск сервера под Linux в общем и целом аналогична Windows с поправкой на особенности операционной системы. Поэтому я лишь в кратце пройдусь по основным шагам:

mkdir server
cd server
wget http://www.steampowered.com/download/hldsupdatetool.bin
chmod +x hldsupdatetool.bin
./hldsupdatetool.bin
(вам будет продемонстрировано лицензинное соглашение, введите yes, чтобы согласиться).
./steam (hldsupdatetool под Linux называется steam)

В строку запуска сервера (описана ниже) помимо прочих лучше дописать параметры -command update -autoupdate.

Это позволит обеспечить автоматическое обновление сервера при выходе обязательного апдейта.

Остальное аналогично Windows. Сервера лучше запускать в бэкграунде через screen.

1.5 Делаем сервер доступным для NOSTEAM:

Для того чтобы сделать сервер доступным для NOSTEAM клиентов нужно скачать универсальный патч для игр фирмы VALVE. Сделать вы это сможете на форуме CSMANIA.RU. Там же можно выразить свою благодарность автору патча. Универсальность патча в том, что он не трогает библиотеку steam.dll, а "работает" с самим движком сервера (файл engine.dll) тем самым делая возможным заход на сервер как лецинзионных клиентов, так и с пираток. И так, вы скачали последнюю версию патча (на данный момент это VUP 1.11 Final), разархивируйте файл vup.exe в папку C:\server\bin, далее делаем копию файла engine.dll и переименовываем его в engine_copy.dll. Так как VUP это консольное приложение, то для удобства его запуска создадим батничек (файл patch.bat в папке C:\server\bin) следующего содержания:
vup -o engine.dll engine_copy.dll
Данная команда загрузит в память файл engine_copy.dll, проанализирует его, и, если обнаружен поддерживаемый двиг, то и пропачит, и сохранит ломанный файл как engine.dll. Ну вот и всё, сервер готов к работе.
Но стоит поговорить об обновлении сервера. Лучше всего обновлять сервер вручную, где-то один раз в месяц, но нужно помнить, что после каждого обновления, требуется заново его патчить. Последоватьность действий для обновления сервера будет следующая:
1) Заходим в папку C:\server\bin и удаляем файлы engine.dll и engine_copy.dll
2) Запускаем обновление сервера запустив файл update.bat из C:\server см. выше
3) Ждем пока сервер полностью обновиться
4) Заходим в папку C:\server\bin копируем engine.dll переименовав его в engine_copy.dll
5) Запускаем батник patch.bat в этой же папке
Всё, сервер обновлен и готов к работе.



Автор пунктов I-IV: Newbie с форума Наша-Life
Автор патча VUP: ViTYAN с форума CSMANIA.RU
Автор примечаний и п.V: Snake 60
Сайт управляется системой uCoz