OpenRA — свободный движок, который заново реализует механики классических стратегий в реальном времени и запускает их на современных системах. Он поддерживает Tiberian Dawn, Red Alert и Dune 2000, добавляет масштабирование интерфейса, нормальную работу с мышью и сетевую игру. В статье — установка на Linux, подготовка ассетов, настройка графики и разбор сетевых проблем.
Что именно делает OpenRA
Это не эмулятор и не набор патчей к старым исполняемым файлам. OpenRA — самостоятельный движок на C# и .NET, который читает оригинальные файлы ресурсов и воспроизводит правила игры. Поверх него работают моды: cnc для Tiberian Dawn, ra для Red Alert и d2k для Dune 2000.
Геймплей заметно отличается от ностальгических воспоминаний. Добавлены очереди производства, более удобное управление, исправлены некоторые дисбалансы, а в сетевых матчах доступны настройки, которых не было в оригинале. Для одиночной игры это плюс, для турниров — повод заранее договориться о версии движка.
Проект распространяется с открытым исходным кодом. Ресурсы Tiberian Dawn и Red Alert были официально выпущены как бесплатные, поэтому лаунчер умеет скачивать их самостоятельно. Для Dune 2000 нужны файлы оригинальной игры, и в комплект они не входят.
Установка на Linux
Самый простой способ — Flatpak. Он не зависит от версии библиотек в дистрибутиве и обновляется вместе с приложением. Альтернативы — AppImage с официального сайта и пакет из репозитория дистрибутива, если он там есть.
flatpak install flathub net.openra.OpenRA
flatpak run net.openra.OpenRA
flatpak list --app | grep -i openra
Для AppImage скачайте файл, выдайте право на запуск и стартуйте двойным щелчком или из терминала. Первый запуск может занять больше времени: распаковываются ресурсы и создаются каталоги настроек.
chmod +x OpenRA-x86_64.AppImage
./OpenRA-x86_64.AppImage
Если в системе не хватает графических библиотек, AppImage сообщит об этом в терминале. В Debian и Ubuntu обычно достаточно пакетов Mesa и SDL2, которые уже установлены на большинстве рабочих станций.
Ассеты и выбор мода
После запуска открывается лаунчер со списком модов. Для Red Alert и Tiberian Dawn нажмите Manage Content и разрешите докачать бесплатные ресурсы. Лаунчер сам проверит контрольные суммы и разложит файлы по нужным каталогам.
Для Dune 2000 укажите путь к установленной копии игры либо скопируйте файлы данных вручную. Если движок пишет, что ресурсы не найдены, проверьте, что выбрана правильная версия мода и каталог не защищён от чтения.
ls ~/.config/openra
find ~/.config/openra ~/.local/share/openra -maxdepth 3 -type d
cat ~/.config/openra/settings.yaml | head -40
Настройки хранятся в ~/.config/openra/settings.yaml, данные модов и карты — в ~/.local/share/openra. Точную структуру удобно смотреть после первого запуска: она зависит от способа установки и версии движка.
Графика, звук и производительность
Настройки открываются из лаунчера или прямо в игре. В разделе графики переключайте режим окна и вертикальную синхронизацию. На ноутбуках с гибридной графикой помогает запуск через дискретную карту, иначе возможны просадки и чёрный экран после сворачивания.
Graphics:
Mode: Windowed
VSync: true
WindowedSize: 1600,900
Если изображение дёргается, сначала отключите масштабирование в настройках монитора и проверьте, что игра не растягивается на нестандартное разрешение. Для старых карт с программным рендерингом имеет смысл снизить разрешение и убрать сглаживание.
Звук идёт через SDL и системный звуковой сервер. При отсутствии звука проверьте, что PipeWire или PulseAudio работает, а устройство вывода не переключилось на HDMI без колонок.
Сетевая игра и порты
OpenRA использует UDP-порт 1234 по умолчанию. Для игры в локальной сети достаточно, чтобы порт не блокировал файрвол. Для игры через интернет порт нужно пробросить на роутере или использовать выделенный сервер.
ss -lunp | grep 1234
sudo ufw allow 1234/udp
sudo ufw status verbose
Прямое подключение по IP работает, если один из игроков принимает соединения и порт доступен извне. В лаунчере есть список локальных игр: если игра не видна, проверьте, что устройства в одной подсети и не изолированы на точке доступа.
Для регулярных встреч удобнее выделенный сервер: он держит лобби и не зависит от того, закроет ли хост игру. Настройки сервера лежат в отдельном YAML-файле, а порт и правила матча задаются до запуска.
Карты и редактор
Карты распространяются в формате .oramap — это архив с описанием, миниатюрой и данными ландшафта. Файлы кладутся в каталог карт, после чего появляются в списке при создании игры. Встроенный редактор позволяет менять ландшафт, расставлять юнитов и задавать стартовые позиции.
- Проверяйте карту в одиночной игре до сетевого матча.
- Следите за числом стартовых точек: оно должно совпадать с числом игроков.
- Не редактируйте карту во время матча — изменения не применятся.
- Храните резервную копию удачных карт отдельно от каталога игры.
Пользовательские карты из интернета стоит проверять на соответствие версии движка: старые файлы могут открываться, но правила и баланс будут отличаться.
Сборка из исходников
Для разработки и тестирования новых версий проект собирают из репозитория. Нужен .NET SDK версии, указанной в global.json, и стандартный набор инструментов сборки. На Linux сборка не требует Mono.
git clone https://github.com/OpenRA/OpenRA.git
cd OpenRA
dotnet --version
make
После успешной сборки игра запускается скриптом ./launch-game.sh. Если make ругается на версию SDK, установите нужную версию через пакетный менеджер или официальный установщик .NET и повторите сборку.
make test
./launch-game.sh
Проверка YAML-файлов модов полезна перед отправкой изменений: она быстрее ручной проверки каждого мода.
Диагностика
Логи приложения пишутся в каталог настроек. Если игра закрывается сразу после запуска, запустите её из терминала и прочитайте последние строки вывода — там будет имя отсутствующей библиотеки или повреждённого ресурса.
find ~/.config/openra -name '*.log' -mtime -1
tail -n 50 ~/.config/openra/logs/*.log
glxinfo -B | head -20
Команда glxinfo показывает используемый драйвер OpenGL. Если указан программный рендеринг, установите драйвер видеокарты: на Intel и AMD это обычно пакеты Mesa, на NVIDIA — проприетарный драйвер из репозитория дистрибутива.
Итог
OpenRA даёт вторую жизнь классическим стратегиям: современный интерфейс, нормальная сетевая игра и активное сообщество. Начните с Flatpak, докачайте бесплатные ассеты Red Alert, проверьте порт 1234 и только потом зовите друзей на матч. Для тонкой настройки пригодится settings.yaml, а для экспериментов — сборка из исходников и встроенный редактор карт.