Установка и настройка выделенного сервера 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 редакторе