Подробный гайд: Выделенный сервер Battlefield 2142 на Astra Linux

Гайд по настройке выделенного сервера Battlefield 2142 на Astra Linux: установка, зависимости, конфиги, фаервол и автозапуск.

2026.04.28                  


Подробный гайд: Выделенный сервер Battlefield 2142 на Astra LinuxПодробный гайд: Выделенный сервер Battlefield 2142 на Astra Linux

Важно:

  • Официальная поддержка BF2142 прекращена компанией EA в 2014 году. Серверная часть работает только с сообщественными патчами (например, BF2142 Revive / Project 2142), которые восстанавливают мастер-сервер, исправляют уязвимости и адаптируют бинарные файлы под современные ОС. Гайд ориентирован на Astra Linux Common Edition (x86_64). Для Special Edition см. примечания в разделе безопасности.

Шаг 1: Подготовка системы

1. Обновите репозитории и систему
   sudo apt update
   sudo apt upgrade -y
2. Установите базовые утилиты
   sudo apt install -y wget curl unzip psmisc net-tools screen htop
3. Создайте отдельного пользователя (запуск от root не рекомендуется)
   sudo useradd -m -s /bin/bash bf2142srv
   sudo passwd bf2142srv  # задайте пароль
4. Проверьте версию Astra
   cat /etc/astra_version

Рекомендуется Astra Linux Common Edition 1.8+ или 1.7 с обновлённым ядром.


Шаг 2: Установка зависимостей (32-битная совместимость)

Сервер BF2142 поставляется в виде 32-битного бинарного файла bf2142_lnxded. Для его работы в 64-битной системе необходимы i386-библиотеки.

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 libstdc++6:i386 zlib1g:i386 libncurses5:i386 libssl1.1:i386 libcrypto++6:i386

Проверка зависимостей:

cd /home/bf2142srv
wget https://example.com/bf2142_lnxded.tar.gz  # замените на актуальный источник сообщества
tar -xzf bf2142_lnxded.tar.gz
cd bf2142_lnxded
ldd ./bf2142_lnxded | grep "not found"

Если вывод пустой → зависимости удовлетворены. Если нет → установите недостающие пакеты через apt search <имя>:i386.


Шаг 3: Структура каталогов и получение файлов

Сообщественные проекты обычно предоставляют архив, содержащий:

bf2142_lnxded          # бинарный файл сервера
mods/                  # модификации и карты
Profiles/Default/      # конфиги
levels/                # уровни
logs/                  # логи

Разместите всё в домашней директории пользователя:

sudo chown -R bf2142srv:bf2142srv /home/bf2142srv/bf2142_lnxded
sudo chmod -R 755 /home/bf2142srv/bf2142_lnxded

Шаг 4: Настройка сервера

Основной конфиг: Profiles/Default/server.con

Создайте или отредактируйте файл:

nano /home/bf2142srv/bf2142_lnxded/Profiles/Default/server.con

Пример минимальной конфигурации:

game.setServerName "Astra BF2142 | RU"
game.setServerDescription "Dedicated server on Astra Linux"
game.setGameMode gpm_cq
game.setMapList "conquest" "conquest" "conquest"
game.setMaxPlayers 32
game.setPort 16567
game.setJoinPort 16568
game.setDedicated 1
game.setJoinEnabled 1
game.setFpsLimit 60
game.setAllowAdminControl 1
game.setAdminPassword "ваш_сложный_пароль"
game.setLog 1

Рекомендации:

  • game.setPort и game.setJoinPort должны совпадать с правилами фаервола.
  • game.setAdminPassword обязателен для удалённого управления через RCON.
  • Список карт указывается через пробел в кавычках.

Шаг 5: Сетевая настройка и фаервол

Откройте порты:

  • 16567/udp – игровой трафик
  • 16568/udp – query/join
  • 27900/tcp или udp – мастер-сервер (если используется сторонний)
  • Дополнительно: 17178/tcp (RCON, если включён)

Для Astra Linux Common Edition (nftables по умолчанию)

sudo nft add rule inet filter input udp dport 16567 accept
sudo nft add rule inet filter input udp dport 16568 accept
sudo nft add rule inet filter input tcp dport 17178 accept
sudo nft list ruleset > /tmp/nftables.conf
sudo mv /tmp/nftables.conf /etc/nftables.conf
sudo systemctl enable nftables

Для Astra Linux Special Edition (Parsec MAC)

В Special Edition включён мандатный контроль доступа.

Перед запуском сервера:

  1. Проверьте текущий уровень безопасности: parsecd status
  2. Временно снизьте уровень или добавьте исключение в политику:
   sudo parsec-admin add-allow bf2142srv /home/bf2142srv/bf2142_lnxded/bf2142_lnxded
  1. Либо переключите профиль пользователя в Low/Medium (только для изолированных серверов).

Подробная настройка Parsec выходит за рамки гайда. См. документацию astra-security или обращайтесь к администратору безопасности вашей организации.


Шаг 6: Автозапуск через systemd

Создайте юнит-файл:

sudo nano /etc/systemd/system/bf2142srv.service

Содержимое:

[Unit]
Description=Battlefield 2142 Dedicated Server
After=network.target nftables.service

[Service]
Type=simple
User=bf2142srv
Group=bf2142srv
WorkingDirectory=/home/bf2142srv/bf2142_lnxded
ExecStart=/home/bf2142srv/bf2142_lnxded/bf2142_lnxded +restart 10 +port 16567
Restart=on-failure
RestartSec=15
StandardOutput=journal
StandardError=journal
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Активация и запуск:

sudo systemctl daemon-reload
sudo systemctl enable --now bf2142srv
sudo systemctl status bf2142srv

Мониторинг логов:

journalctl -u bf2142srv -f

Шаг 7: Устранение типичных проблем

Симптом Решение
./bf2142_lnxded: No such file or directory Установлены не все i386-библиотеки. Запустите ldd ./bf2142_lnxded
Сервер не виден в списке серверов Мастер-сервер EA отключён. Используйте клиентский патч сообщества с альтернативным списком
Permission denied при запуске Проверьте владельца: sudo chown -R bf2142srv:bf2142srv ~/bf2142_lnxded
Высокий latency / packet loss Откройте порты корректно, отключите QoS на роутере, проверьте sysctl net.core.rmem_max
Astra Linux SE блокирует запуск Проверьте dmesg | grep -i parsec или auditd. Добавьте правило в политику MAC

Клиентская часть и подключение игроков

  • Игроки обязаны использовать патченную версию клиента от сообщества (например, BF2142 Revive / Project 2142).
  • Официальные клиенты 2006–2014 годов не смогут подключиться к современным серверам.
  • Для удобства рекомендуется развернуть веб-страницу с инструкциями по установке клиента и ссылкой на ваш сервер.

Безопасность и поддержка

  1. Регулярно обновляйте ОС: sudo apt update && sudo apt upgrade -y
  2. Не храните пароли в открытом виде. Используйте game.setAdminPassword с длинной случайной строкой.
  3. Делайте резервные копии Profiles/Default/ и mods/ еженедельно.
  4. Мониторьте логи на предмет попыток RCON-брутфорса или injection.

Сообщество и ресурсы

  • BF2142 Revive / Project 2142 – актуальные патчи, серверные файлы, клиентские обновления. Ищите официальные каналы на GitHub.
  • Руководство по Parsec/usr/share/doc/parsec/ или man parsecd

Готово.

  • Ваш выделенный сервер Battlefield 2142 работает на Astra Linux. При правильной настройке сети и использовании сообщественного клиента он будет стабилен даже на современном оборудовании.