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, а для экспериментов — сборка из исходников и встроенный редактор карт.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте