Подробный гайд: Выделенный сервер 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/join27900/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 включён мандатный контроль доступа.
Перед запуском сервера:
- Проверьте текущий уровень безопасности:
parsecd status - Временно снизьте уровень или добавьте исключение в политику:
sudo parsec-admin add-allow bf2142srv /home/bf2142srv/bf2142_lnxded/bf2142_lnxded
- Либо переключите профиль пользователя в
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 годов не смогут подключиться к современным серверам.
- Для удобства рекомендуется развернуть веб-страницу с инструкциями по установке клиента и ссылкой на ваш сервер.
Безопасность и поддержка
- Регулярно обновляйте ОС:
sudo apt update && sudo apt upgrade -y - Не храните пароли в открытом виде. Используйте
game.setAdminPasswordс длинной случайной строкой. - Делайте резервные копии
Profiles/Default/иmods/еженедельно. - Мониторьте логи на предмет попыток RCON-брутфорса или injection.
Сообщество и ресурсы
- BF2142 Revive / Project 2142 – актуальные патчи, серверные файлы, клиентские обновления. Ищите официальные каналы на GitHub.
- Руководство по Parsec –
/usr/share/doc/parsec/илиman parsecd
Готово.
- Ваш выделенный сервер Battlefield 2142 работает на Astra Linux. При правильной настройке сети и использовании сообщественного клиента он будет стабилен даже на современном оборудовании.