Установка и настройка выделенного сервера Left4Dead
Статья максимально упрощена и доступна для любого игрока. Рассматривается только операционная система Windows.
Отдельно необходимо отметить, что по нижеописанной методике можно установить выделенный сервер практически любой игры, распространяемой через систему STEAM.
Часть 1. Установка сервера
1.1 Технические требования для развертывания сервера
Необходимо знать, что для установки лицензионной версии сервера Left4Dead не нужен Steam аккаунт. Нужна выделенная машина, имеющая стабильный симметричный выход в интернет не менее 1000 кбс и внешний IP адрес.
Не рекомендуется устанавливать сервер на той же машине, где запускается клиент л4д (например ваша игровая машина). Ничего кроме проблем себе и другим это не создаст.
1.2 Установка сервера
Процесс установки сервера крайне прост. Установите утилиту HLDSUpdateTool. По умолчанию в установка осуществляется в C:\Program Files\Valve\HLServer (здесь и далее будет фигурировать диск C:\, хотя выбрать для установки можно любой каталог на любом из логических дисков машины).
В той же папке создайте новый файл update-l4d.bat со следующим содержимым:
hldsupdatetool -command update -game left4dead -dir C:\SERVER\GAMES
Рассмотрим эту строчку подробнее. hldsupdatetool -command update : вызов утилиты установки/обновления
-game left4dead: параметр определяет, какая именно игра будет установлена. В данном случае нас интересует именно left4dead.
-dir C:\SERVER\GAMES: определяет корневую папку для установки игры.
Запустите update-l4d.bat. При первом запуске произойдет автоматическое обновление утилиты HLDSUpdateTool, после чего программа завершится. Необходимо повторно запустить update-l4d.bat.
При наличии стабильного соединения с интернетом начнется установка игрового сервера. Все файлы игры будут взяты с официального сервера Steam (~3Gb!). Процесс установки показан в консоли утилиты. В зависимости от скорости канала, установка занимает от 10 минут до нескольких часов.
После завершения работы программы у вас на машине появился свежеиспеченный игровой сервер с настройками по умолчанию. На нем кстати уже можно играть, но мы этого делать пока не будем.
Вместо этого произведем тонкую донастройку параметров сервера, используя конфигурационные файлы. В папке C:\SERVER\GAMES\l4d\left4dead\cfg создайте файл l4d-vs1.cfg со следующим содержимым:
hostname "Имя сервера"
tv_enable 0
sv_search_key "letsplay"
sv_password ""
Здесь hostname - название вашего сервера, которое будет отображаться для всех играющих на нем игроков, sv_search_key - специальный ключ поиска сервера при создании игры через лобби. Ключ может быть любым.
1.3 Установка модов и плагинов
Нас в первую очередь интересует создание турнирного сервера с набором настроек CEVO и плагином ReadyUp. Если вы делаете сервер для публичной игры, данный пункт можно пропустить.
Вы должны скачать и установить следующие моды и плагины в указанном порядке:
1.3.1 Metamod
Это базовый мод ко всем играм на базе движка Source. Необходим для корректной работы всех остальных модов. Посетите официальный сайт http://www.sourcemm.net и скачайте последнюю стабильную (stable) версию метамода. На момент написания статьи версия метамода - 1.8.0. Zip-архив необходимо распаковать в папку игры C:\SERVER\GAMES\l4d\left4dead. В папке addons создайте файл metamod.vdf со следующим содержимым:
"Plugin"
{
"file" "..\left4dead\addons\metamod\bin\server.dll"
}
Данный код означает, что при старте сервера будет загружен файл метамода server.dll, расположенный по указанному выше адресу. Ничего менять в этом коде не требуется.
1.3.2 Sourcemod
Это самый главный мод игры. Он позволяет устанавливать разнообразные плагины, такие как ReadyUp например. Он же отвечает за административные права игроков, а также за огромное количество других полезных и не очень функций. Подробнее о его возможностях расскажет официальный сайт http://www.sourcemod.net/.
На текущий момент последней версией Сорсмода является 2.1.4.
Zip-архив распаковать в ту же папку с игрой C:\SERVER\GAMES\l4d\left4dead, по аналогии с метамодом.
1.3.3 Турнирный плагин ReadyUp
Установленный Сорсмод позволяет ставить специальные дополнения к игре, так называемые плагины. Нас интересует в первую очередь турнирный плагин ReadyUp, поэтому далее будет подробно рассмотрен процесс установки только этого плагина. Полный список плагинов для Left4Dead можно посмотреть здесь.
Плагин постоянно обновляется, поэтому актуальную версию всегда лучше скачать с сайта производителя. Там же прописана полноценная инструкция по установке и решению проблем (правда на английском языке). Здесь же будет дана ссылка на версию 0.17.2, последнюю на момент выпуска статьи. Файл .smx, скаченный по этой ссылке, необходимо переместить в папку C:\SERVER\GAMES\l4d\left4dead\addons\sourcemod\plugins.
Для корректной работы плагина необходимо также установить дополнение DownTown, последняя версия которого 0.4.4 доступна для скачивания. Для установки дополнения необходимо распаковать Zip-архив в папку C:\SERVER\GAMES\l4d\left4dead\addons\sourcemod.
1.3.4 Конфиг CEVO
Сервер не будет полным без специального конфига, ограничивающего игровой процесс в рамках турнирных правил. Благодаря конфигу CEVO на картах нет ни одной случайной аптечки (вместо них только таблетки). Кроме того, на каждой карте гарантированно появляется Танк.
Конфиг состоит из 3 файлов, которые необходимо скопировать в папку C:\SERVER\GAMES\l4d\left4dead\cfg.
// _____ _____ _ _ _____ _ _________
// / __ \| ___| | | || _ | | | / | _ \
// | / \/| |__ | | | || | | | | | / /| | | | |
// | | | __|| | | || | | | | | / /_| | | | |
// | \__/\| |___\ \_/ /\ \_/ / | |___\___ | |/ /
// \____/\____/ \___/ \___/ \_____/ |_/___/
//
// Last updated: June 25, 2009
sv_cheats 0
//Adjust tank spawns: 100% chance on every map
sm_cvar versus_tank_chance_intro 1
sm_cvar versus_tank_chance_finale 1
sm_cvar versus_tank_chance 1
//Adjust witch spawns: 0% chance on 1,5, default chance on 2,3,4
sm_cvar versus_witch_chance_intro 0
sm_cvar versus_witch_chance_finale 0
sm_resetcvar versus_witch_chance
//Adjust boss spawn completion rates: 90% on 1-4
sm_cvar versus_boss_flow_max_intro 0.9
sm_cvar versus_boss_flow_max 0.9
//Tanks spawn in the same place for both teams
sm_cvar versus_tank_flow_team_variation 0.0
//Allow players to switch teams 9999 times per map
sm_cvar vs_max_team_switches 9999
//Turn almost all spawnable medkits into pills
sm_cvar director_convert_pills 0
sm_cvar director_vs_convert_pills 0.0
sm_cvar director_pain_pill_density 5.0
//Disable tank suiciding if no AI path to survivors
sm_cvar tank_stuck_time_suicide 99999999999
//Disable all SM plugins except for core, RUP, scores
//Restart the map after 5 seconds
//sm_restartmap
//Configure the RUP plugin - off
l4d_ready_enabled 1
l4d_ready_both_halves 0
l4d_ready_minimum_players 6
l4d_ready_server_cfg "cevo_map.cfg"
l4d_ready_search_key_disable 0
l4d_ready_competition 1
l4d_unreserve_full 1
exec cevo_map.cfg
//Configure the scores plugin
l4d_team_order 3 // ABABA
sv_visiblemaxplayers 11
/////
say "CEVO Config has been loaded, last updated 6/25/2009"
//Automatically executed by RUP plugin for every map change
//General CVARs
sv_consistency 1
sv_pure 2
sv_pure_kick_clients 1
sv_voiceenable 1
sv_alltalk 0
sv_region 0
sv_minrate 20000
sv_maxrate 30000
sv_maxcmdrate 101
sv_mincmdrate 67
sv_visiblemaxplayers 11
sv_log_onefile 0
sv_logbans 1
//Increase network performance
sm_cvar cl_updaterate 101
sm_cvar cl_cmdrate 101
//Left 4 Dead only CVARs
sv_allow_lobby_connect_only 0
sm_cvar z_difficulty Normal
mp_gamemode versus
exec cevo_personalize.cfg
// Please edit this file to personalize your CEVO config
// You do NOT need to upload this file again when updating
// the config to the latest version
В заключение, откройте файл C:\SERVER\GAMES\l4d\left4dead\cfg\server.cfg и в конце впишите вызов конфига CEVO при смене карты:
//server variables here
rcon_password glhl
neph_nostats 1
sv_steamgroup_exclusive 0
sv_steamgroup "1146090"
exec cevo.cfg
Итак, мы установили Metamod, Sourcemod, DownTown, плагин ReadyUp и конфиг CEVO. Пора запускать сервер.
Часть 2. Запуск выделенного сервера
Запускается сервер еще проще. В папке с игрой (в нашем случае C:\SERVER\GAMES\l4d) создаем файл l4d-start1.bat:
@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 25100 Watchdog
:srcds
echo (%time%) server1 started.
start /wait srcds.exe -tickrate 100 -restart -console -game left4dead +ip 89.20.146.2 +port 27315 +maxplayers 11 -nowatchdog -debug +fps_max 600 +map l4d_vs_airport01_greenhouse +exec l4d-vs1.cfg +map l4d_vs_airport01_greenhouse
echo (%time%) WARNING: server1 closed or crashed, restarting.
goto srcds
Данный код автоматически перезапускает сервер в случае его непредвиденного падения или выключения через удаленный доступ. Основной является строчка start /wait srcds.exe. Особое внимание нужно уделить параметрам +ip [IP] и +port [PORT] . Вам необходимо указать ваш внешний IP-адрес и порт, к которому будут подключаться игроки.
Например, если указать +ip 89.20.146.2 +port 27315, то игрокам для соединения с вашим сервером необходимо в консоли прописать connect 89.20.146.2:27315.
+maxplayers 11: расширяем максимальное число возможных слотов с 8 до 11.
+map l4d_vs_airport01_greenhouse: указываем, что при запуске сервера стартует первая карта кампании dead Air
+exec l4d-vs1.cfg: не забываем вызвать наш персонализированный конфиг.
Внимательный читатель увидит, что в строке запуска +map l4d_vs_airport01_greenhouse указано дважды. Это не ошибка, а средство исправление бага при включении сервера. Подробно останавливаться на нем не буду, скажу только что без этой строчки пользователи не смогут зайти на сервер до тех пор, пока удаленно не произойдет смена карты.
Сохраните файл l4d-start1.bat и запустите его. Сервер будет запущен в консольном режиме. Для проверки функциональности достаточно ввести в консоли l4d_ready_version и нажать enter. Если сервер отозвался на команду - значит все моды и плагины установлены корректно. Можно звать друзей и соперников тестировать новый сервер на конфиге CEVO.
Часть 3. Обновление выделенного сервера
Valve периодически выпускает автоматические обновления для клиентов и серверов Steam. Чтобы пользователи с новой версией игры могли зайти на ваш сервер, необходимо предусмотреть систему обновления.
Важно помнить, что любые обновления должны производиться только при выключенных серверах.
Запустите файл C:\Program Files\Valve\HLServer\update-l4d.bat.
___________________________________________________
Приготовлено в BFG редакторе