Сегодня я расскажу вам о том, как ставится Source Dedicated Server (далее SRCDS).
Для начала звоним своему провайдеру и узнаем выделенный (Внешний статический IP-адрес) у вас IP адрес. Это нужно для того чтобы ваш сервер видели другие игроки и могли на него зайти. Стоимость этого удовольствия зависит от вашего провайдера , это значит у когото он идет в подарок уже подключен бесплатно , а у когото нет стоимость идет от 10 руб. до 150 руб. так все с этим мы разобрались теперь идем к установки сервера поехали далее.
I. Установка:
0. Прежде чем приступить к установке, необходимо сказать пару слов о hldsupdatetool. hldsudpdatetool - это единый инструмент для установки и обновления серверов на базе Steam, включя игры Valve на базе HL1 и HL2, а в будущем и сторонние игры, например Red Orchestra.
1. Качаем "дистрибутив" hldsupdatetool
2. Запускаем и проходим короткий мастер установки, заключающийся по большей части в серии нажатий Next и указании папки, в которой будет стоять сервер. Папку указываем на свое усмотрение, в примере будет использована папка c:\server.
см.пример ниже...
Нажимаем Next
Нажимаем I Agree
Нажимаем Browse
Открывается окошко вы его видите ниже! В нижнем правом углу есть стрелочка где можно выбрать диски выбираете какой вам нужно и дописываем к нему Server и получилось у нас вот что D:\Server нажимаем OK и далее Next открывается еще одно окошко там тоже нажимаем Next вам на диск скопируються файлы и откроется следующие окошко
Ставим черную точку на Europe,конечно если вы из РОССИИ и жмем Next откроется еще одно окошко и там нажимаем Next и Finish можете снять галочку с View ReadMe или же оставить и посмотреть его.
На этом первые шаги закончились,идем дальше.
3. Идем в папку D:\server и запускаем лежащий там пока в гордом одиночестве файл hldsupdatetool.exe. Это приведет к обновлению hldsupdatetool.exe до последней версии.
Обновление занимает не больше чем 1 минуту! После того как он обновится окно само закроется.
Перед тем как начать устанавливать выделенный сервер Source убедитесь что на диске достаточно места для его установки (необходимо от 500 мегабайт до 1.3 гигабайта).
4. Создаем батник для установки и последующего обновления сервера (можно обойтись и без него, в этом случае просто используйте тот же синтаксис в командной строке).
Запустите notepad.exe и в появившемся окне напишите следующее:
start /wait D:\server\hldsupdatetool.exe
start /wait D:\server\hldsupdatetool.exe -command update -game "Counter-Strike Source" -dir .
exit
Сохраните файл в папке D:\server с названием update.bat (название файла можете сдалть любое, главное, чтобы расширение было .bat, а не txt!)
Теперь немного о том, что этот батник делает:
Первая строка просто запускает hldsupdatetool, чтобы скачать его последнюю версию, если таковая есть и дожидается пока этот процесс окончится.
Вторая строка запускает установку или обновление сервера Counter-Strike: Source в ту же папку, где находится hldsupdatool.exe и дожидается окончания этого процесса. Для создания сервера HL2DM или DODS используйте в параметре -game значение "hl2mp" или "dods" соответственно (кавычки обязательны!).
Третья строчка гарантирует окончание работы батника по завершению всех команд.
5. Запускаем update.bat. После запуска батника начнется процесс установки сервера. При начальной установке скачивается более гигабайта данных, поэтому в зависимости от скорости вашего соединения, процесс может быть достаточно длительным. После окончания установки, батник закроется самостоятельно.см. рисунок ниже.
II. Базовая настройка
Прежде чем приступить к запуску сервера, желательно его настроить. Подавляющее большинство настроек SRCDS выполняется с помощью файла server.cfg, расположенного в папке cfg установленной игры (/cstrike/cfg для Counter-Strike: Source, /hl2mp/cfg для HL2DM, /dod/cfg для Day of Defeat: Source).
При отсутствии этого файла (как например при начальной становке) сервер запускается со значениями по умолчанию.
Пример файла server.cfg для Counter-Strike: Source можно найти здесь. Детальное описание всех настроек выходит за рамки данной статьи.
Другие файлы, на которые вам стоит обратить внимание (на примере CSS, для других игр, замените cstrike на папку игры):
/cstrike/maplist.txt - содержит список всех карт на сервере. Если карты нет в списке, то ее нельзя поставить, даже если соответствующий .bsp файл находится в папке maps
/cstrike/mapcycle.txt - содержит список карт, которые находятся в игровом цикле. Если карты здесь нет, то поствить ее можно только вручную.
/cstrike/motd.txt - содержит приветственное сообщение, демонстрируемое игрокам при входе на сервер или при смене карты. При форматировании использутеся HTML
/cstrike/cfg/autoexec.cfg - содержит параметры, которые должны выполняться один раз при запуске сервера (в отличие от server.cfg, который исполняется при каждой смене карты).
III. Запуск сервера
При запуске сервера мы будем также использовать батник, который не только избавит нас от необходимости вводить длинную командную строку при каждом запуске, но и гарантирует автоматический перезапуск сервера в случае непредвиденного падения.
Итак, снова открываем notepad.exe и пишем:
@echo off
cls
echo Protecting srcds from crashes...
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog
:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game cstrike +map de_dust +maxplayers 16
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds
Сохраняем наш файл в папку c:\server с названием server.bat (как и раньше, название можете поставить любое, но расширение должно быть bat!)
В случае падения или вылета srcds.exe сервер автоматически теперь перезапуститься с теми же параметрами.
Теперь рассмотрим наш батник в подробностях:
Первая строка просто отключает вывод ненужной информации на экран
Вторая строка очищает экран
Третья строка устанавливает точку, к которой батник вернется в случае падения сервера
Четвертая строка выводит на экран сообщение 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 с указанием даты и времени
Восьмая строка возвращает батник к указанной ранее точке в случае падения или выключения сервера (инициируя таким образом обновление и перезапуск сервера).
Все. Наш батник готов и разобран по косточкам, для запуска сервера нам осталось только запустить батник.
Эти команды можно добавить в наш батник:
Параметры командой строки запуска Source Dedicated Server (srcds.exe, srcds_run)
Команды SrcDS:
-allowdebug
То же, что и -debug ?
-autoupdate
Сервер проверяет обновления при запуске.
-console
SrcDS будет запущен в консольном режиме (только в Windows).
-dev
Показывать сообщение разработчика.
-debug
Режим разработки.
-game <игра>
Задает, какую игру/мод запустить.
-insecure
Запускает сервер без использования технологии защиты от читеров (Valve Anti-Cheat).
-nobots
Отключить ботов.
-port
Порт для подключения клиента к серверу.
-tickrate <число>
Задает tickrate сервера (подробнее в Source Multiplayer Networking).
-verify_all
Производит проверку на то, что каждый файл сервера последней версии.
Консольные значения SrcDS:
+hostname "Имя Сервера"
Задает имя сервера.
+ip
Задает IP сервера, когда в системе несколько сетевых карт.
+map <карта>
Задает карту для запуска.
+maxplayers <число>
Задает максимальное количество игровых слотов.
+hostport <порт>
Задает порт хоста.
+clientport <порт>
Задает порт клиента.
+sv_lan <0/1>
Если установлено в 1, то сервер может принять только пользователей локальной сети (LAN).
+tv_port
Порт для Source TV
Другие команды:
-autoconfig
Устанавливает стандартные настройки видео и быстродействия, основываясь на данных о мощности системы. Пока данный параметр не будет убран, игнорируются любые настройки, заданные внутри cfg-файлов.
-dev
Включает режим разработки. Также отключает автоматическую загрузку меню, фона, карт и убирает необходимость каждый раз подтверждать, что вы действительно хотите выйти из игры.
-condebug
Вести лог всего, что выводится через консоль в текстовый файл console.log.
-toconsole
Запуск движка напрямую из консоли, если не указана карта через параметр +map.
-dxlevel <версия>
Задает версию DirectX, используемую игровым движком. Эта опция очень полезна, если ваша игра совместима с DirectX 9, но гораздо быстрее работает с DirectX 8 (например, NVidia GeForce FX 5200). Версию DirectX необходимо умножить на десять. Например, для DirectX 8.0 необходимо использовать -dxlevel 80.
-32bit
Движок запускается в 32-битном режиме. Используется только в 64-битных Операционных Системах.
-fullscreen
Движок запускается в полноэкранном режиме.
-windowed или -sw
Движок запускается в оконном режиме
-w <ширина>
Движок запускается с разрешением заданным параметром <ширина>.
-h <высота>
Движок запускается с разрешением заданным параметром <высота>.
-refresh <скорость>
Задает специфическую скорость обновления экрана.
-heapsize <килобайт>
Задает количество памяти (в килобайтах), которое игра будет использовать.
-nocrashdialog
Запрещает вывод ошибки 'память не может быть прочитана'.
-novid или -novideo
При запуске игры с этим параметром, вступительный ролик Valve показан не будет.
Параметры командной строки
Команды только для steam.exe:
Консольные значения
+map <имя карты>
Загружает заданную карту сразу после запуска движка.
+map_background <имя карты>
Задает необходимую фоновую карту. Полезно для тестирования собственных фоновых карт. Для отключения загрузки стандартных фоновых карт по причине быстродействия, используйте параметр командной строки -dev.
+sv_lan <0/1>
Когда установлено в 1, запускает игру в LAN режиме. Полезно для запрета присоединения к вашей игре из Интернета.
+sv_cheats <0/1>
Когда установлено в 1, запускает игру с возможностью использования консольных читов.
Примечание: при указании имени карты указывать расширение .BSP не нужно
-applaunch %id
Запускает игру или аппликацию через Steam. Где %id ID Игры/или Программы.
-install %p
Установить игру из заданного места (например, "D:" для DVD-ROM'а, если D: является таковым).
-language %l
Задает язык Steam. (Примеры: "english", "russian").
-login %u %p
Задает имя и пароль для входа в Steam. Где %u имя пользователя, где %p пароль, с которым вы хотите войти (Steam должен быть выключен для того, чтобы это работало).
-nocache
Отключает кэширование в Steam (Steam должен быть выключен для того, чтобы это работало).
-script %s
Запускает Steam-скрипт. Где %s имя файла скрипта. Все скрипты должны находиться в поддиректории Steam под названием "test scripts" (Steam должен быть выключен для того, чтобы это работало).
-shutdown
Завершает работу Steam
-silent
Подавляет показ диалогового окна при запуске Steam. Полезно, когда Steam запускается при старте системы (Steam должен быть выключен для того, чтобы это работало).
IV. Специфика Linux
Установка и запуск сервера под Linux в общем и целом аналогична Windows с поправкой на особенности операционной системы. Поэтому я лишь в кратце пройдусь по основным шагам:
mkdir server
cd server
wget Качаем
chmod +x hldsupdatetool.bin
./hldsupdatetool.bin (вам будет продемонстрировано лицензинное соглашение, введите yes, чтобы согласиться).
./steam (hldsupdatetool под Linux называется steam)
В строку запуска сервера (описана ниже) помимо прочих лучше дописать параметры -command update -autoupdate.
Это позволит обеспечить автоматическое обновление сервера при выходе обязательного апдейта.
Остальное аналогично Windows. Сервера лучше запускать в бэкграунде через screen