Установка 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

  • 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

github.com/TyUser/l4d2_install_hx

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

 ./l4d2_install.sh

github.com/TyUser/l4d2_install_hx

github.com/TyUser/l4d2_install_hx

github.com/TyUser/l4d2_install_hx

Вписываем ип адрес своего л4д2 сервера в l4d2_cron.py

  • nano l4d2_cron.py

github.com/TyUser/l4d2_install_hx

Под учетной записью game

Остановить

  • python3 ./l4d2_stop.py

Запустить, перезапустить и автоматическое обновление l4d2

  • python3 ./l4d2_restart.py

Примечание

  1. Во время своей работы создает лог фаил l4d2.log
  2. cron перезапускает сервер в 6:30 каждый день
  3. cron раз в 2 минуты проводит опрос l4d2 сервера и если он завис, то принудительно перезагрузит
  4. После перезагрузки VDS, сервер l4d2 сам запустится от имени пользователя game

 

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

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

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

RevEmu

RevEmu

 

Ссылки

https://developer.valvesoftware.com/wiki/SteamCMD:ru

https://www.russerver.com/blog/ustanovka-l4d2-servera-na-centos-8-x64

https://docs.linuxgsm.com/linux/firewalls