Подробный гайд: Установка и настройка выделенного сервера Battlefield 2142 на Ubuntu

Установка сервера Battlefield 2142 на Ubuntu через Wine: настройка, запуск, автоматизация и диагностика для сообщества Revive.

2026.04.26                  


Подробный гайд: Установка и настройка выделенного сервера Battlefield 2142 на UbuntuПодробный гайд: Установка и настройка выделенного сервера Battlefield 2142 на Ubuntu

Важно:

  • Официальные серверы EA/DICE для BF2142 закрыты в 2014 году. Данное руководство описывает запуск сервера через сообщественные патчи (наиболее известный проект – BF2142 Revive). Используйте только если владеете лицензионной копией игры. Сообщество работает в рамках пользовательских соглашений и локальных законов об отказоустойчивом ПО.

Системные требования

Компонент Минимум Рекомендовано
ОС Ubuntu 20.04 / 22.04 / 24.04 LTS 22.04 / 24.04 LTS
CPU 2 ядра 4 ядра
RAM 2 ГБ 4 ГБ
Диск 10 ГБ свободного места SSD
Сеть Открытые порты 16567/UDP, 29900/UDP+TCP Статический IP, NAT/Port Forwarding

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

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl unzip p7zip-full screen tmux

Создайте отдельного пользователя для сервера (без sudo прав):

sudo useradd -m -s /bin/bash bf2142srv
sudo passwd bf2142srv

Шаг 2: Установка Wine и создание префикса

BF2142 – 32-битное приложение. Используем WineHQ Stable с принудительной 32-битной архитектурой.

sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources
sudo apt update
sudo apt install --install-recommends winehq-stable -y

Создаём изолированный префикс:

sudo su - bf2142srv
export WINEPREFIX="$HOME/.wine-bf2142"
export WINEARCH=win32
WINEPREFIX="$HOME/.wine-bf2142" winecfg

В открывшемся окне установите Версия WindowsWindows 7 (или Windows XP), нажмите OK. Закройте окно.


Шаг 3: Получение файлов сервера

  1. Установите лицензионную BF2142 (Steam/EA App/резервная копия).
  2. Скачайте последнюю версию сообщества BF2142 Revive или аналогичный патч с официального GitHub проекта.
3. Распакуйте файлы в домашнюю директорию пользователя:
mkdir -p $HOME/bf2142server
# Замените путь на ваш архив
unzip bf2142_revive_server_vX.X.zip -d $HOME/bf2142server
cd $HOME/bf2142server

Структура папок (пример):

 bf2142server/
 ├── bf2142.exe
 ├── bf2142server.exe (если есть)
 ├── mods/
 ├── levels/
 ├── serverconfig.con
 └── logs/

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

BF2142 использует конфигурационные файлы в формате .con (как BF2). Основные параметры можно передавать через командную строку или прописать в serverconfig.con.

Пример serverconfig.con

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

nano serverconfig.con
# Идентификация
sv.serverName "My BF2142 Ubuntu Server"
sv.serverPassword ""
sv.rconPassword "YourSecureRCONPass123"

# Сеть
sv.port 16567
sv.queryPort 29900
sv.maxPlayers 32

# Геймплей
sv.gameMode "gpm_cq"
sv.mapList "levels/Operation_CleanSweep/Operation_CleanSweep.con, levels/Gulf_of_Oman/Gulf_of_Oman.con"
sv.punkbuster 0
sv.autoBalance 1
sv.friendlyFire 0.5
sv.ticketRatio 1.0

Параметры командной строки (приоритетнее .con)

+dedicated 1
+set sv.serverName "Test"
+set sv.maxPlayers 24
+set sv.port 16567
+set sv.punkbuster 0

Карты и режимы:

  • Список поддерживаемых карт находится в mods/bf2142/levels/. Режимы: gpm_cq (Conquest), gpm_tdm (Team Deathmatch), gpm_skirmish и др.

Шаг 5: Запуск и тестирование

Запустите сервер в screen для фоновой работы:

cd $HOME/bf2142server
screen -S bf2142srv

WINEPREFIX="$HOME/.wine-bf2142" WINEDEBUG=-all wine bf2142.exe +dedicated 1 +set sv.port 16567 +set sv.maxPlayers 32

Если всё верно, в консоли появятся строки вида:

Server started on port 16567
Loading level: Operation_CleanSweep
Waiting for clients...

Отключитесь от screen: Ctrl+A, D
Вернитесь позже: screen -r bf2142srv


Шаг 6: Настройка сети и фаервола

# UFW
sudo ufw allow 16567/udp comment "BF2142 Game"
sudo ufw allow 29900/udp comment "BF2142 Query"
sudo ufw allow 29900/tcp comment "BF2142 RCON/Master"
sudo ufw reload

На роутере: пробросьте порты 16567 UDP и 29900 UDP/TCP на внутренний IP сервера.
Проверка: используйте nc -vzu <внешний_ip> 16567 или онлайн-портчекеры.


Шаг 7: Автоматизация через systemd

Создаём сервис для автозапуска и восстановления:

sudo nano /etc/systemd/system/bf2142server.service
[Unit]
Description=BF2142 Dedicated Server (Wine)
After=network.target
Wants=network.target

[Service]
Type=simple
User=bf2142srv
Group=bf2142srv
WorkingDirectory=/home/bf2142srv/bf2142server
Environment="WINEPREFIX=/home/bf2142srv/.wine-bf2142"
Environment="WINEDEBUG=-all"
Environment="WINEDLLOVERRIDES=mscoree,mshtml="
ExecStart=/usr/bin/wine bf2142.exe +dedicated 1 +set sv.port 16567 +set sv.maxPlayers 32
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Активируем:

sudo systemctl daemon-reload
sudo systemctl enable --now bf2142server.service
sudo systemctl status bf2142server.service

Логи:

sudo journalctl -u bf2142server.service -f

Шаг 8: Диагностика и типичные ошибки

Проблема Решение
fixme:process:SetProcessDEPPolicy Игнорируйте, это предупреждение Wine.
Сервер падает при загрузке карты Проверьте права на levels/, убедитесь, что .con файлы в кодировке UTF-8 без BOM.
PunkBuster блокирует подключение Установите sv.punkbuster 0 или используйте патч от сообщества.
Не виден в списке серверов Проверьте проброс портов, убедитесь, что используется актуальная версия мастер-сервера Revive.
Высокий CPU/RAM Ограничьте sv.maxPlayers, отключите ненужные моды, используйте nice -n 10 wine ...
Ошибка .dll not found Установите зависимости через winetricks: WINEPREFIX=~/.wine-bf2142 winetricks vcrun2005 directx9

Просмотр логов игры:

tail -f /home/bf2142srv/.wine-bf2142/drive_c/users/bf2142srv/Local\ Settings/Application\ Data/Battlefield\ 2142/logs/server.log

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

  1. Никогда не запускайте от root. Используйте выделенного пользователя.
  2. RCON-пароль должен быть сложным. Меняйте его регулярно.
  3. Обновляйте патчи сообщества только с официальных репозиториев.
  4. Резервные копии: tar -czf bf2142_backup_$(date +%F).tar.gz ~/bf2142server
  5. Мониторинг: настройте logrotate для журналов, используйте htop/glances.

Полезные ресурсы сообщества (2024–2026)

Ресурс Описание
BF2142 Revive (GitHub) Основной патч, мастер-сервер, инструменты администрирования
BF2142 Community Patch Исправления багов, баланс, новые карты
BF2142 Server Manager GUI/CLI утилиты для ротации карт, бана, статистики
Официальный форум bf2142.org Поддержка, моддинг, поиск игроков

Все ссылки ищите через репозитории с открытым кодом.BF2142 Revive.

Чек-лист перед запуском

  • [ ] Лицензионная копия BF2142 приобретена
  • [ ] Отдельный пользователь bf2142srv создан
  • [ ] Wine 32-бит префикс настроен
  • [ ] Файлы сервера распакованы в $HOME/bf2142server
  • [ ] serverconfig.con или аргументы запуска проверены
  • [ ] Порты 16567/udp, 29900/udp+tcp открыты в UFW и роутере
  • [ ] systemd сервис активен и перезапускается при падении
  • [ ] Тестовое подключение с клиента прошло успешно