[L4D2] Установка и настройка сервера под Linux

Регистрация
19 Май 2017
Сообщения
1
Реакции
1
Баллы
3
Возраст
35
Во первых, начну с разговора об автоматизации, среди протестированных скриптов запуска, контроля упал ли сервер или нет, я нашел самый удобный и рабочий: Linux Game Server Managers - Quick, simple deployment and management of various dedicated game servers Linux Game Server Managers, на этой базе и будем рассматривать установку и настройку.

Обращаю ваше внимание на то, что для VDS/VPS в качестве операционной системы рекомендуется Debian, в данном руководстве я рассматриваю Debian 8 X64.

Нам понадобится следующее программное обеспечение:
  1. ExtraPuTTY - для входа на сервер через протокол SSH
  2. WinSCP - это файловый менеджер, через который мы будем работать с файлами.
А так же необходимые пакеты для корректной работы SteamCMD, расширения dbi.mysql.ext входящей в состав SourceMod, HLstatsX:CE, а так же самого скрипта автоматизации:

Эта библиотека нужна расширению работы с mysql базами данных dbi.mysql.ext
Код:
apt-get install lib32z1
Нужное для корректной работы скрипта:

Код:
dpkg --add-architecture i386; apt-get update; apt-get install tmux mailutils postfix ca-certificates curl file lib32gcc1 libstdc++6 libstdc++6:i386
Для запуска серверного Daemon HLstatsX:CE необходим модуль работы с базами данных:

Код:
apt-get install libdbd-mysql-perl
Чтобы HLstatsX:CE корректно распознавала местоположение игроков устанавливаем модуль Geo :: IP :: PurePerl

Код:
wget http://search.cpan.org/CPAN/authors/id/B/BO/BORISZ/Geo-IP-PurePerl-1.25.tar.gz
tar -zxf Geo-IP-PurePerl-1.25.tar.gz
cd Geo-IP-PurePerl-1.25
perl Makefile.PL
make
make test
make install
Код:
apt-get install libgeo-ip-perl
Если у вас будет использоватся параметр -debug ставим дебагер, если его не будет сервер будет просить установить:

Код:
apt-get install gdb

Установка:

Создаем нового пользователя с названием сервера, можно как хотите это просто для понятности, т.к. под root не безопасно и крайне не рекомендуется самой Valve, в процессе вас попросят указать пароль, если пароль одинаков с названием учетной записи то, он спрашиваться не будет.

Код:
adduser l4d2_test_coop
Заходим под только созданным пользователем:

Код:
su - l4d2_test_coop

Скачиваем скрипт управления сервером:
Код:
wget http://gameservermanagers.com/dl/l4d2server
Даем права на выполнение скрипта:
Код:
chmod +x l4d2server
Теперь заходим в WinSCP заходим под учетной записью root админа и идем в каталог /home/<имя учетной записи созданной ранее> и переименовываем название скрипта l4d2server в желаемое название через файловый менеджер, допустим l4d2_test_coop, и после открываем этот файл двойным кликом мыши прямо в файловом менеджере.

В открывшемся окне, в разделе # Start Variables настраиваем:


  • defaultmap - это начальная карта с которой стартует сервер
  • maxplayers - максимальное кол-во игроков
  • port - желаемый порт сервера.
  • ip - ип текущего сервера.

После ниже находим и заменяем:

Код:
parms="-game left4dead2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
На:

Код:
parms="-game left4dead2 -ip ${ip} -port ${port} +map ${defaultmap} -maxplayers ${maxplayers} +servercfgfile ${servercfg}"
т.к. из-за strictportbind сервер не видно в списках игровых серверов Steam в меню игры.
Сохраняем и переходим к следующему шагу.
Запускаем установку, и следуем указаниям:

Код:
./l4d2_test_coop install
В процессе установки скрипт сам настроит SteamCMD и положит все в папку созданного нами пользователя, файлы сервера будут располагаться в папке serverfiles, steamcmd в папке steamcmd ну в общем все достаточно понятно.

Автоматический мониторинг сервера:

Код:
crontab -e
Код:
0 5 * * *  /home/l4d2_test_coop/l4d2_test_coop monitor > /dev/null 2>&1
Теперь наш сервер каждые 5 минут проверяется, и если он зависнет или упадет то запустится вновь.

Разберем команды управления сервером:
Официальная документация тут
Запуск:
Код:
./l4d2_test_coop start
Остановка:
Код:
./l4d2_test_coop stop
Перезапуск:
Код:
./l4d2_test_coop restart
Обновление:
Код:
./l4d2_test_coop update
проверка файлов:
Код:
./l4d2_test_coop validate
Мониторинг:

Код:
./l4d2_test_coop monitor
Консоль сервера:
Для выхода из консоли сервера нажмите “CTRL+b d”.
Заметка: нажатие “CTRL+c” выключает сервер.

Код:
./l4d2_test_coop console
Настройка
Для того чтобы сервер корректно отображался и к нему можно было подключится нужно добавить конфиг сервера, он называется server.cfg и содержит:

Код:
// *Server settings* //

// Название сервера
hostname "l4d2_coop_server"

sv_lan 0

sv_region 255

// Ваш ркон пароль
rcon_password "l4d2_coop_server"

// Кол-во неудачных попыток перед баном IP адреса того кто пытается зайти
sv_rcon_maxfailures 5

sv_search_key "l4d2_coop_server"
sv_tags "теги"
sv_contact "сайт или почта"

// *Additional settings* //
// Разрешенные режимы игры,если их несколько то через запятую без пробелов
sm_cvar sv_gametypes "coop,realism"

sm_cvar sv_alltalk 1
sm_cvar sv_cheats 0

// *Slot and players settings* //
// Allow or disallow the wait command on clients connected to this server
sm_cvar sv_allow_wait_command 0
sm_cvar sv_allow_lobby_connect_only 0
sm_cvar sv_maxplayers 4
sm_cvar sv_visiblemaxplayers 4
sm_cvar sv_force_unreserved 1
Кладем server.cfg в папку /l4d2_test_coop/serverfiles/left4dead2/cfg и пробуем запустить, на этом все, удачных экспериментов!
 
Последнее редактирование:
Сверху Снизу