Установка l4d2 сервера на Debian 10 x64



Для установки серверной части Left 4 Dead 2 будем использовать арендованный vds

  • 2 ядра процессора
  • 2 Гб оперативной памяти
  • 40Гб SSD накопителя

В панели управлением хостинга переустанавливаем сервер.

В панели управлением хостинга переустанавливаем сервер

Заходим в консоль сервера под root и вводим.

  • apt update && apt full-upgrade

apt update && apt full-upgrade
Перезагружаем сервер.

  • reboot

Чистим от устаревших пакетов.

  • apt autoremove

Смотрим текущую версию ядра

  •  uname -a

Смотрим доступные версии ядер

  • dpkg --list | grep linux-image

Удаляем старые версии ядер. Вместо XXXX вписываем старую версию ядра. Пользоваться только для опытных.

  • apt --purge remove linux-image-XXXX

Обновляем конфиг GRUB

  • update-grub2

Устанавливаем дополнительные пакеты.

  • dpkg --add-architecture i386 && apt update && apt install lib32gcc1 lib32stdc++6 lib32z1
  • dpkg --add-architecture amd64 && apt update && apt install screen vsftpd wget

dpkg --add-architecture i386

dpkg --add-architecture amd64

Изменяем редактор по умолчанию на более удобный nano

  • export EDITOR=nano

Устанавливаем часовой пояс Москвы

  • rm /etc/localtime
  • ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Проверяем правила фаервола (Видим что по умолчанию все открыто).

  • iptables -L -v -n

iptables -L -v -n

Блокируем лишние порты (Данные правила обязательно надо будет изменить и они предназначены лишь обеспечить базовую защиту на момент запуска l4d2 сервера)

  • iptables -F
  • iptables -A INPUT -i lo -j ACCEPT
  • iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT
  • iptables -A INPUT -p udp -m udp --dport 27015 -m state --state NEW -m recent --set --name DEFAULT --rsource
  • iptables -A INPUT -p udp -m udp --dport 27015 -m state --state NEW -m recent --update --seconds 60 --hitcount 20 --name DEFAULT --rsource -j DROP
  • iptables -A INPUT -p tcp --dport 27015 -j DROP

iptables -A

Сохраняем правила фаервола

  • iptables-save -f /etc/hx_iptables.conf

Добавляем новые правила фаервола в автозагрузку

  • nano /etc/network/if-pre-up.d/hx_iptables

#!/bin/sh
/sbin/iptables-restore < /etc/hx_iptables.conf

nano /etc/network/if-pre-up.d

  • chmod +x /etc/network/if-pre-up.d/hx_iptables

Проверяем правила фаервола

  • iptables -L -v -n

Настраивает FTP

Открываем конфигурационный файл ftp и правим примерно так.

  • nano /etc/vsftpd/vsftpd.conf

vsftpd

vsftpd

vsftpd

vsftpd

Делаем рестарт ftp

  • /etc/init.d/vsftpd restart

 

Установка l4d2 сервера скриптами github.com/TyUser/l4d2_install_hx

Заранее настроем крон (под учетной записью root).

  • crontab -e

*/2 * * * * su - game -c 'python3 /home/game/l4d2_cron.py' > /dev/null 2>&1
30 6 * * * su - game -c 'python3 /home/game/l4d2_restart.py' > /dev/null 2>&1

crontab -e

Создаем пользователя и заходим по учетной записью обычного пользователя.

  • adduser game
  • su - game

adduser game

Скачиваем скрипт

  • wget https://www.russerver.com/blog/file/l4d2_install.sh && chmod +x ./l4d2_install.sh

Устанавливаем

  • ./l4d2_install.sh

Необходимо вписать логин и пароль аккаунта Steam через пробел. Рекомендуется создать новый аккаунт для сервера. Пример: steamuser password123

  • nano authorization.txt

После настройки authorization.txt и первом запуске, необходимо ввести ввести код подтверждения SteamCMD Guardian. Данная команда отвечает за запуск, перезапуск и автоматическое обновление сервера l4d2

  • python3 ./l4d2_restart.py

python3 ./l4d2_restart.py

Остановка работы l4d2 сервера

  • python3 ./l4d2_stop.py

Примечание:

  • Во время своей работы создает лог файл l4d2.log
  • cron перезапускает сервер в 6:30 каждый день
  • cron раз в 2 минуты проводит опрос l4d2 сервера и если он завис, то принудительно перезагрузит (файл l4d2_cron.py)
  • После перезагрузки VDS, сервер l4d2 сам запустится от имени пользователя game
  • Данные скрипты работают на python 3
  • За блокировку автоматического запуска отвечает файл l4d2.lock который создается/удаляется автоматически

Установка эмулятора для пуска пиратчиков на сервер.

Скачиваем эмулятор RevEmu для Linux. Фаил rev.ini расположить в папке /steamcmd/l4d2/. Оригинальный steamclient.so (весом примерно 18 183 015 байт) переименовать в steamclient_valve.so

В папку bin поместить эмулятор RevEmu с именем steamclient.so (весом примерно 1 398 476 байт)

RevEmu

RevEmu

 

Ссылки

  • developer.valvesoftware.com/wiki/Ru/SteamCMD
  • developer.valvesoftware.com/wiki/Dedicated_Servers_List
  • https://www.russerver.com/blog/ustanovka-l4d2-servera-na-centos-8-x64
  • https://www.russerver.com/blog/ustanovka-l4d2-servera-na-debian-12-x64
  • github.com/TyUser/l4d2_install_hx