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

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

Перезагружаем сервер.
Чистим от устаревших пакетов.
Смотрим текущую версию ядра
Смотрим доступные версии ядер

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

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


Изменяем редактор по умолчанию на более удобный nano
Устанавливаем часовой пояс Москвы
Проверяем правила фаервола (все чисто)

Блокируем лишние порты (Данные правила обязательно надо будет изменить и они предназначены лишь обеспечить базовую защиту на момент запуска l4d2 сервера)
Блокируем лишние порты (Данные правила обязательно надо будет изменить и они предназначены лишь обеспечить базовую защиту на момент запуска l4d2 сервера)
#!/usr/sbin/nft -f
flush ruleset
table ip filter {
set ban_list {
type ipv4_addr
flags dynamic
timeout 60s
size 10000
}
chain input {
type filter hook input priority filter; policy drop;
ip saddr @ban_list drop
iif lo accept
ct state established,related accept
icmp type echo-request accept
tcp dport { 23, 25, 53 } add @ban_list { ip saddr } drop
udp dport 53 add @ban_list { ip saddr } drop
tcp dport 22 ct state new limit rate 10/minute add @ban_list { ip saddr } drop
tcp dport 20 accept
tcp dport 21 accept
tcp dport 49000-49050 accept
udp dport 27015-27050 accept
tcp dport 27015-27050 accept
udp sport 27000-27030 udp dport 1025-65355 accept
udp sport 4380 udp dport 1025-65355 accept
}
chain forward {
type filter hook forward priority filter; policy drop;
}
chain output {
type filter hook output priority filter; policy accept;
}
}

Проверяем корректность правил. Если команда ничего не вывела — всё заполнено правильно.
Применяем новые правила:
Перезапускам службу (на всякий случай)
Открываем конфигурационный файл ftp и правим примерно так.




Делаем рестарт ftp
Изменяем ограничения на максимальное число открытых файлов (Рекомендация valve по настройке SteamCMD)
Вписываем

Заранее настроем крон (под учетной записью root).
*/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

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

Выходим с учетной записи root и заходим под учетной записью game

Скачиваем скрипт
Устанавливаем
Необходимо вписать логин и пароль аккаунта Steam через пробел. Рекомендуется создать новый аккаунт для сервера. Пример: steamuser password123
После настройки authorization.txt и первом запуске, необходимо ввести ввести код подтверждения SteamCMD Guardian. Данная команда отвечает за запуск, перезапуск и автоматическое обновление сервера l4d2

Остановка работы l4d2 сервера
Примечание: