BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
Razdor는 ‘분열의 시대’용 오픈 엔진으로 현대 Windows와 Linux에서 원본 시나리오와 캠페인을 실행합니다
Razdor — открытый движок для «Времён раздора». Играет оригинальные сценарии и кампании с вашей копии игры на современных Windows и Linux.
게임Rust · PythonGitHub @indicozy온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Открытый движок для «Времён раздора» (Discord Times) — играйте со своей копией игры
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Небольшой прототип на Rust по мотивам Discord Times («Времена раздора», Aterdux, 2004): путешествуйте по карте королевства, нанимайте отряд в городах, сражайтесь в пошаговых тактических боях на клетчатом поле.README 전문 보기 ↗
Небольшой прототип на Rust по мотивам Discord Times («Времена раздора», Aterdux, 2004): путешествуйте по карте королевства, нанимайте отряд в городах, сражайтесь в пошаговых тактических боях на клетчатом поле.
Все права на оригинальный код и графику «Времён раздора» принадлежат их авторам — Николаю и Денису (Aterdux Entertainment).
Сайт: indicozy.github.io/razdor · Трейлер: youtu.be/p7g0yvwtEeM
cargo run --release
cargo test # правила игры
Код «Раздора» распространяется по лицензии MIT. Шрифты в data/fonts/ сохраняют
свою лицензию (файлы *-OFL.txt и *-LICENSE.txt рядом с ними).
Ни один коммит не может добавлять ничего из перечисленного ниже, и это соблюдает каждый, кто вносит вклад:
razdor.log, razdor-play.log), сохранения, файлы
настроек и всё остальное, что относится к конкретной машине.Если что-то такое всё же попадёт в коммит, его нужно удалить из истории (переписать её и сделать force-push), а не просто удалить новым коммитом: старый коммит его сохраняет. Вся история была проверена на соответствие этим правилам 2026-09-30 и ничего такого не содержит.
Заметки по обратной разработке могут оставаться: адреса в исполняемом файле, смещения в
памяти, дизассемблированный код и то, как исполняемый файл был прочитан
(docs/reference/original-mechanics/, свидетельства [exe]/code в
docs/reference/mechanics.md). Лицензия игры (License.txt в установленной игре, пункт 5)
разрешает использовать, копировать, эмулировать, декомпилировать, дизассемблировать и изучать
её код любыми средствами. При этом распространение игры она по-прежнему оставляет за её
авторами (пункт 3) и запрещает сдавать её в прокат, в аренду или продавать (пункт 6), поэтому
заметки описывают оригинал нашими словами и не цитируют подробно его тексты или данные (это
относится к содержимому игры, см. выше).
data/kingdom.txt, один символ на
клетку, нечётные ряды сдвинуты на полклетки): щёлкните в любом месте, чтобы увидеть самый дешёвый путь и его время, щёлкните туда же ещё раз (или дважды) — чтобы пройти его. Дороги быстрые, лес и болото медленные, вода и горы
непроходимы. Правая кнопка мыши или Space останавливает.docs/reference/mechanics.md). Каждая сторона стоит в
построении 2×6 (широкий ряд Community Update; ванильное 3×4 с резервным рядом, если в
установленной игре OptValue11 равно чему-либо, кроме 1). Как в оригинале, бой начинается,
когда открывается его окно: построение — то, что было заранее задано в окне армии. Пока
никто не сходил, «Быстрый бой» (Q / Enter) сразу разыгрывает его; позже «Доиграть
самим» (Q) доигрывает остаток; «Смотреть» (W) позволяет посмотреть, как его играет ИИ (см. ниже).Mnvr, и каждое тратится на атаку, заклинание или шаг.
Наведите курсор на карточку в рамке, чтобы увидеть действие заранее («удар: -12 жизней»,
действие проклятия), щёлкните левой кнопкой, чтобы выполнить его, правой — для
альтернативы (удар мага вместо проклятия). Щёлкните подсвеченную клетку, чтобы шагнуть туда
(столбцы c−1..c+1); Space делает то же, что щелчок по собственной карточке отряда.«Раздор» становится движком для сценариев оригинальной игры. Он читает данные из вашей собственной установленной копии Discord Times (Community Update) во время работы; в репозитории нет оригинальных карт, данных, текстов или графики, и ничего из вашей установки никогда не копируется и не записывается. Если игры нет, главное меню объясняет, что нужна своя копия (версия 1.8 с Community Update 1.2), и ведёт к инструкции по установке и в Discord, где её берут.
export RAZDOR_DT_DIR="/path/to/Discord Times" # the folder with DiscordTimes.exe
cargo test # also checks the readers against your files
Тесты скорости ИИ на картах рассчитаны на быстрые ядра; на медленных задайте множитель
бюджета, например RAZDOR_PERF_BUDGET_SCALE=2.
Установленная игра ищется по порядку: RAZDOR_DT_DIR (читается также из файла .env в
текущей папке или рядом с программой, RAZDOR_DT_DIR="/path/to/Discord Times"); собственная
папка программы, так что Razdor.exe (Windows), razdor (Linux) или razdor-macos (macOS),
скопированные рядом с DiscordTimes.exe, играют эту копию (на Mac — в папке игры внутри
бутылки Wine или CrossOver); папка, запомненная с прошлого запуска; поиск в ~/Games,
~/Downloads и домашней папке. Сделано для Community Update 1.2 (игра 1.8.1).
Моды. Поддерживается мод Evolution (проверен с версией 9.0 на Community Update: 161
отряд, его дерево улучшений, предметы, заклинания и карты). Мод Discord Times — это изменённая
установка (свои файлы Rus_*.ini, листы графики и карты), поэтому укажите в RAZDOR_DT_DIR
копию игры с установленным модом. «Раздор» читает ini-файлы так же снисходительно, как
оригинал: значение, которое он не может прочитать, считается отсутствующим, запись без
пригодного GlobalIndex (или предмет без Type) пропускается, и каждый такой случай
записывается в razdor.log, а не приводит к отказу от установки. Моды, которые изменяют сам
DiscordTimes.exe, не поддерживаются. Проверки, которые cargo test запускает на вашей
установке, рассчитаны на чистый Community Update, поэтому многие из них не проходят на
модифицированной.
scripts/dist.sh собирает обе программы в dist/: razdor для Linux и Razdor.exe для
Windows (x86_64, один файл без собственных DLL; кросс-сборка с помощью
llvm-mingw, см. скрипт), с их SHA-256 в dist/SHA256SUMS.
Выпуски собираются на GitHub (.github/workflows/release.yml): укажите версию в
Cargo.toml, превратите «Не выпущено» в CHANGELOG.md в раздел этой версии, сделайте коммит,
затем отправьте тег vX.Y.Z. Конвейер запускает тесты, собирает обе программы тем же
скриптом и теми же зафиксированными инструментами (Rust в rust-toolchain.toml, llvm-mingw в
workflow) и публикует выпуск с разделом журнала изменений и SHA-256.
Razdor.exe получается одинаковым из одного и того же коммита на любой машине. Программа для
Linux зависит ещё и от системы, на которой она компонуется (её библиотеки C и компоновщика):
конвейер собирает её на Ubuntu 22.04, благодаря чему она работает и на более старых
дистрибутивах, поэтому выпуски берут её оттуда.
Значок в меню приложений Linux: положите razdor в папку из PATH (например, ~/.local/bin) и
выполните
install -Dm644 data/icon/razdor-256.png ~/.local/share/icons/hicolor/256x256/apps/razdor.png
и install -Dm644 data/icon/razdor.desktop ~/.local/share/applications/razdor.desktop.
scripts/dist-macos.sh собирает razdor-macos на Mac (нужен SDK от Apple из Xcode или его
Command Line Tools): одна универсальная программа для Apple Silicon и Intel, macOS 11 и
новее, добавляется в dist/SHA256SUMS. Конвейер собирает её на раннере GitHub с macOS 15. Как
и программа для Linux, она зависит от системы, на которой компонуется (здесь — SDK и
компоновщик Xcode): один и тот же коммит на одном и том же образе раннера даёт тот же SHA-256,
другой Xcode может дать другой. Она не подписана разработчиком, поэтому macOS блокирует её
после скачивания: перед первым запуском выполните
xattr -d com.apple.quarantine razdor-macos (или правая кнопка → Open в Finder). При запуске
двойным щелчком она открывается в Terminal. Запуск конвейера вручную
(Actions → Release → Run workflow) собирает три программы коммита как артефакты запуска,
ничего не публикуя.
Если не запускается или не играется: каждый запуск пишет razdor.log (%APPDATA%\razdor\ в
Windows, ~/.local/share/razdor/ в Linux, ~/Library/Application Support/razdor/ в macOS;
предыдущий — razdor.previous.log): версию и коммит, систему, папку программы и рабочую папку, переменные RAZDOR_* и
файлы .env, как была найдена установленная игра или почему папка ею не является, версию
OpenGL, затем каждый шаг запуска, так что последняя строка показывает, где он остановился.
Паника (с трассировкой стека) или падение тоже записываются туда, а в Windows ещё и
показываются в окне сообщения. При запуске без терминала всё, что выводят программа и её
библиотеки, попадает в лог; при запуске из cmd или терминала оно выводится и туда.
RAZDOR_LOG=<file> переносит лог; RAZDOR_CRASH_TEST=panic или crash намеренно вызывает
сбой, чтобы проверить отчёт.
Журнал игры, razdor-play.log в той же папке (предыдущий —
razdor-play.previous.log), записывает сеанс, чтобы его можно было перечитать, когда что-то
играется не так, каждую строку — с игровой датой: начало или загрузку игры (карта, герой,
деньги), каждый экран, каждое сообщение, каждый заданный переход, события мира (столкновения,
встречи, посещённые и захваченные здания, полуденные отчёты, события сценария и задания по
номеру и названию) и каждый бой полностью: обе стороны отряд за отрядом (ячейка, уровень,
жизни, все характеристики, защиты, бонусы, надетые предметы), весь журнал боя и итог. Он
остаётся на компьютере игрока.
«WGL_ARB_pixel_format is required» / нет драйвера OpenGL (Windows): «Раздору» нужен
OpenGL 2, а машина предлагает только запасной OpenGL 1.1 из Windows. Так бывает в сеансе
удалённого рабочего стола (RDP), который скрывает видеокарту от программ OpenGL, или без
графического драйвера (часто в виртуальных машинах). Положите программный OpenGL от Mesa
(opengl32.dll, а в новых выпусках ещё и libgallium_wgl.dll, из папки x64
mesa-dist-win) рядом с Razdor.exe, или
подключитесь не через RDP (Parsec, VNC, консоль виртуальной машины), или установите
графический драйвер. Тогда «Раздор» сам покажет этот совет вместо голой ошибки.
Что читается (только читается, никогда не изменяется): Rus_Units.ini, Rus_Artefacts.ini,
Rus_Spells.ini, _Global.ini и карты сценариев Maps_Rus/*.DTm. Код чтения находится в
src/dt/ (dt::install::DtInstall::from_env()); форматы описаны в
docs/reference/. rules::content::Content::from_dt превращает их в определения, которыми
пользуются правила. Без переменной всё по-прежнему работает, а тесты, которым нужны
настоящие файлы, пропускаются.
Если переменная задана, игра открывается главным меню оригинала; «Новая игра» перечисляет
одиночные сценарии и первую карту каждой кампании из вашей Maps_Rus с картой, её
статусом, размером и описанием (прочитанными из ваших файлов во время работы). Выберите
одну, затем одного из трёх героев карты. Карта мира использует текстуры местности,
объекты, здания и фигурки на карте из оригинала; наведите курсор на армию или здание, чтобы
увидеть подсказку (построение, предводитель, владелец, «дань уже собрана»); пока вы идёте,
белые стрелки отмечают путь, а полоска показывает оставшееся время; колесо мыши или +/- — масштаб. Враждебные армии преследуют вас и сражаются при встрече, дружественные
приветствуют; враждебные замки, форты и руины с гарнизоном сражаются, когда вы входите в их
ворота, и завоёванный замок или форт становится вашим вместе с доходом (пустой враждебный
захватывается простым входом). Города, замки, форты, церкви, деревни, рынки и таверны
открывают окна зданий с запасами, ценами и заклинаниями карты.
События и задания карты работают, как описано в руководстве к редактору оригинала: окна
сюжета (заголовок, текст, картинка, полученное, OK) открываются с течением времени, когда вы
входите в здание или ступаете на точку события, после боя или когда вы встречаете армию в
пути; движение останавливается, чтобы вы могли их прочитать, и пока окно открыто, время стоит.
У вопросов есть «Да» / «Нет». Принятые задания попадают в дневник героя (флаг на нижней панели,
клавиша J) со своими текстами, а выполненные там отмечаются; главный зал перечисляет задания
здания и предлагаемые слухи (по 10 золотых). Событие победы или поражения сценария завершает игру. Туман войны скрывает то, чего герой
ещё не видел (неисследованная земля чёрная, по ней нельзя пройти и по ней нельзя щёлкнуть); M или спиральная кнопка «карта» на нижней панели открывает мини-карту
исследованных земель, а щелчок по ней перемещает камеру. «Верфь» продаёт корабль за
ShipCost золотых (250): щёлкните по воде рядом с ней, чтобы выйти в море, щёлкните по
берегу, чтобы высадиться; корабль ждёт там, где вы его оставили, пока вы снова на него не
взойдёте (только один корабль за раз; если уйти с верфи пешком, он теряется). Пиратские
корабли плавают и нападают, как враждебные армии, торговые корабли никогда не нападают.
Деревни раз в день вместо дани предлагают исцеление у священника, расплату с неоплаченными,
долгое благословение, меха, стоящие больше золота, или магический ритуал ради маны. Герой
начинает в стартовом здании заготовки, если карта его называет, а экран выбора класса
принимает для него имя (#HERONAME; пустое — имя класса). Для русского текста нужен шрифт
TrueType с кириллицей: распространённый системный шрифт находится автоматически, или задайте
RAZDOR_FONT=/path/to/font.ttf (без него имена пишутся транслитом).
«Раздор» при каждом запуске ищет на GitHub более новый выпуск в отдельном потоке: игра никогда
его не ждёт, и ничего не показывается, если новой версии нет (src/update.rs).
Затем в спокойный момент (титульный экран, настройки, карта без других окон, никогда — в
бою) окно предлагает её вместе с изменениями с вашей версии («Обновлять всегда» делает то
же самое и переключает настройку на «Всегда»): «Обновить» скачивает её,
пока вы играете, сверяет с SHA256SUMS выпуска и ставит на место программы;
она работает со следующего запуска (титульный экран также предлагает «Перезапустить»).
«Настройки» → «Ещё…» → «Обновления»: «Спрашивать» (по умолчанию), «Всегда» (без окна)
или «Выключены», и «Проверить». Нужен системный curl (он есть в Windows 10 и новее,
macOS и почти любом Linux). Сборка через cargo (в target/) никогда не проверяет обновления;
RAZDOR_UPDATE_AS=0.3.0 заставляет её считать себя этой версией, чтобы проверить всё
обновление на настоящих выпусках.
В выпусках на GitHub есть файл razdor.apk для Android 8 и новее (процессоры ARM). Это пока проба: управление касанием (жесты, см. ниже; есть и режим тачпада). Обновления приходят внутри программы, как на компьютере: «Раздор» скачивает новый APK и передаёт его установщику Android, а вы подтверждаете установку (APK можно поставить и вручную, поверх старого).
Внутренняя память/DiscordTimes) или в Download: в ней должны быть папка карт
(Maps_Rus) и файл Rus_Units.ini, как в папке с DiscordTimes.exe на компьютере.Обновить игру из архива (например, чтобы поставить игру с модом вроде Community Update Evolution
Mod). В главном меню откройте настройки звука, графики и геймплея и нажмите «Обновить игру из
архива…», затем выберите архив .zip или .7z. Архив со всей папкой игры заменяет игру в папке
DiscordTimes (после вопроса); сохранения остаются. Архив с частью файлов (мод, патч) ставится поверх
игры. Архив распаковывается рядом с игрой, и игра меняется только когда распаковка прошла; при ошибке
игра остаётся прежней. Кнопка есть, когда игра стоит в папке DiscordTimes Раздора (на телефоне это так
всегда); вашу копию игры в другой папке она не меняет.
Управление жестами (по умолчанию): палец и есть курсор.
Режим тачпада — необязательный, выключен по умолчанию. Включается галочкой «Режим тачпада» в настройках звука, графики и геймплея (последний пункт списка). Тогда экран работает как тачпад ноутбука, курсор рисует сама игра:
Ориентация экрана — в настройках звука, графики и геймплея, строка «Ориентация экрана»: «Авто» (экран поворачивается вместе с телефоном), «Альбомная» или «Книжная» (экран не поворачивается).
Сохранения, журнал и кэш картинок лежат в папке Razdor во внутренней памяти (Razdor/saves).
Эта папка не удаляется вместе с программой, так что переустановка не теряет ваши сохранения.
Без доступа ко всем файлам игра читается не может: титульный экран остаётся с демо-картой.
В выпусках на GitHub есть файл razdor.ipa для iPhone и iPad с iOS 14 и новее. Это пока проба: управление только касанием, те же жесты, что на Android (см. выше; режим тачпада в настройках тот же), обновления внутри программы нет (новый IPA ставится поверх старого). Файл не подписан, поэтому его ставят через AltStore или Sideloadly со своим Apple ID; подписывать самому ничего не нужно.
Maps_Rus и файлом Rus_Units.ini) в
«Файлы» → На iPhone → Раздор → папка DiscordTimes. С компьютера то же делается через
Finder (или iTunes): устройство → Файлы → Раздор.Сохранения, журнал и кэш картинок лежат в «Файлы» → На iPhone → Раздор → Razdor (папка saves
внутри). Разрешений для этого не нужно.
Нажмите F1 на любом экране, чтобы увидеть список его клавиш. Клавиши не действуют, пока вы набираете текст (имя героя, название сохранения, поле редактора) или пока открыт диалог или вопрос (там Esc и N означают «Нет», а любая другая клавиша, кроме Tab, Alt и стрелок вверх и вниз, — «Да», как в оригинале, если не считать N, добавленной Раздором).
| Где | Клавиша | Что делает |
|---|---|---|
| Везде | F1 | список клавиш этого экрана (закрывается F1, Esc или щелчком) |
| Везде (и в редакторе карт) | F2 | следующий язык списка (русский, английский, найденные переводы) |
| Везде | F9 | быстрая загрузка: загружает быстрое сохранение |
| Везде | N | музыка выкл. / вкл. |
| Главное меню | Esc | сразу выходит из игры, как в оригинале |
| Выбор героя | Esc | назад в главное меню |
| Карта мира | щелчок, затем щелчок по тому же месту | показать путь и время на него, затем пройти его |
| Карта мира, в пути | щелчок или любая клавиша | остановиться в конце текущего шага (клавиши ниже, которые меняют только вид, музыку или справку, его не останавливают) |
| Карта мира | правый щелчок, пробел | стоп: путь — в конце текущего шага, ожидание или чтение заклинания — сразу; убирает показанный путь |
| Карта мира | правая кнопка зажата | подсказка об армии или здании под мышью |
| Карта мира | правая кнопка зажата и мышь движется | тащить карту рукой |
| Карта мира | колесо, + / − | масштаб (и в пути) |
| Карта мира | стрелки, мышь у края или угла окна | прокрутка карты со скоростью прокрутки оригинала (щелчок по карте или Tab возвращает вид) |
| Карта мира | 1 / 4 или левый / правый щелчок по панели времени | ждать 1 или 4 часа |
| Карта мира | F4 / F5 | ждать без конца (бесконечное ожидание из Community) / прекратить |
| Карта мира | M | мини-карта |
| Карта мира | Tab | навести камеру на героя |
| Карта мира | J / B / A | дневник героя / книга заклинаний / герой и армия (и в пути или при ожидании, как кнопки панели) |
| Карта мира и её окна | F5 | быстрое сохранение: ручное сохранение с именем «Быстрое сохранение», заменяющее прежнее (во время бесконечного ожидания F5 вместо этого прекращает ожидание) |
| Карта мира |
Клавиши карты, окон, мини-карты и F1 можно поменять: Настройки → «Ещё…» → «Клавиши…». Щелчок по клавише и новая клавиша; клавиша, занятая другим действием, переходит к нему.
Всю игру можно пройти с геймпадом (Xbox, PlayStation и подобные; Windows, Linux и macOS) — этого нет в оригинале. Геймпад управляет своим указателем мыши, так что всё работает, как мышью:
| Кнопка | Что делает |
|---|---|
| Левый стик / крестовина | двигает указатель (сначала медленно, для точного наведения, затем быстрее) |
| A (крест) | левая кнопка мыши; удерживайте её, чтобы перетаскивать (предметы, отряды) |
| B (круг) | правая кнопка мыши (подсказка, стоп, удержание и движение указателя тащат карту) |
| Правый стик | прокрутка карты мира; в списках и текстах — колесо |
| LB / RB | колесо вверх / вниз (масштаб карты, прокрутка списков) |
| Start | Esc (меню, назад); на заставке игра по нему не закрывается |
| X (квадрат) | Enter (ОК, «Да», быстрый бой) |
| Y (треугольник) | пробел (стоп на карте, щелчок по своей карточке в битве) |
Пока указателем управляет геймпад, Раздор рисует его сам; стоит сдвинуть мышь — снова работает
мышь. Без подключённого геймпада ничего не меняется. Имена (героя, сохранения) по-прежнему
набираются с клавиатуры. Геймпад читается, только пока окно игры активно. В Linux нужна
libudev.so.1 (есть почти в любом дистрибутиве) и доступ к /dev/input/event* (обычно есть у
вошедшего пользователя). cargo build --no-default-features --features audio собирает Раздор
без поддержки геймпада.
Настройка «Шрифт» в окне настроек звука, графики и геймплея меняет шрифт всего интерфейса сразу:
Graphics/Windows/SanSerif*.lit для текста, Benguiat*.lit для заголовков, кнопок и
имён) с их собственными тенями. Буквы увеличиваются только в целое число раз, без
размытия, поэтому остаются пиксельно-чёткими. Знаков, которых в шрифтах игры нет («», —, ×,
№), заменяет PT Sans.Шрифты «Современного» идут вместе с Раздором (data/fonts/, лицензии
лежат рядом с файлами) и встроены в программу. RAZDOR_FONT, RAZDOR_FONT_BOLD,
RAZDOR_FONT_TITLE и RAZDOR_FONT_SUBTITLE указывают на другие файлы шрифтов (например,
купленный Benguiat Cyrillic) и действуют при любой настройке.
Тексты на других языках (например, карты, переведённые razdor-translate) тоже видны: букву,
которой в текущем шрифте нет, берёт следующий шрифт по цепочке — PT Sans, Noto Sans
(греческий, вьетнамский и другие расширенные латиница и кириллица) и Noto Sans Devanagari
(хинди), оба SIL Open Font License 1.1, а для остального (китайский, японский, корейский,
арабский…) — подходящий шрифт системы. Хинди и арабский собираются по правилам письма:
лигатуры и огласовки на своих местах.
Язык выбирается в списке: ссылка с названием языка в углу главного меню, кнопка «Язык» в окне
«Ещё…» настроек; F2 на любом экране переходит к следующему языку списка. В списке —
Русский (игра как есть), English и каждый перевод данных игры, найденный в папке игры
(его делает переводчик, см. «Переводчик карт»: файлы Имя-языка_Units.ini и другие рядом с
русскими, первая строка называет язык). Собственный интерфейс Раздора (кнопки, окна, подсказки,
сообщения, журнал битвы, редактор карт, имена и тексты встроенного демо) есть только на русском
и английском: при «Русском» он русский, при любом другом выборе — английский. Названия и
описания воинов, предметов и заклинаний и тексты окон игры берутся из файлов выбранного языка;
чего в них нет — по-английски (или как в игре, если нет и английского). Тексты сценариев — из
выбранных в новой игре карт. Выбор хранится в settings.json в папке сохранений (рядом с
audio.json; прежние «en» и «ru» читаются как раньше); если ничего не сохранено, игра
запускается на русском (на английском, если не нашлось шрифта с кириллицей). Имена демо
переключаются для следующей новой игры или загрузки; идущая игра сохраняет свои.
Русский текст — наш собственный перевод: data/lang/ru/*.txt, по строке English = Русский на
каждый текст (английский служит ключом и запасным вариантом), встраивается при сборке; в
src/i18n.rs есть tr("…"), trf!("… {name} …", name) и метка n_("…"). Один тест проверяет,
что каждый текст, который переводит код, есть в каталоге, каждая строка каталога используется,
а подстановки совпадают; другой — что ни одна английская строка не передаётся напрямую в
функцию рисования в src/ui.
Дополнение Раздора, как автобой в других стратегиях: когда битва открывается и никто ещё не
ходил, «Быстрый бой» (Q / Enter) разом разыгрывает всю битву боевым ИИ за обе стороны, а
позже «Доиграть самим» (Q) делает то же для оставшейся части.
Ваши воины следуют ровно тем же правилам, что и любая сторона ИИ (один ход резерва за ход,
никогда в резерв, никаких упрощений, как в закадровых битвах ИИ); пропускается только
просмотр. Окно итогов появляется сразу, а битва завершается как сыгранная: потери, опыт и
новые уровни, добыча, захваченные замки, последующие события. Одна и та же битва всегда
кончается одинаково (Battle::auto_play_to_end).
«Смотреть» (W) — тот же быстрый бой, сыгранный на экране битвы: ИИ играет и за вас, ход за
ходом с обычной анимацией, в темпе 1×, 2× или 4× (S или кнопка темпа). «К концу» (Q)
сразу завершает его, «Управлять» (W) возвращает вам ваших воинов там, где остановился
просмотр. Просмотренная, пропущенная или мгновенная — битва кончается одинаково: каждый ход —
это шаг самого быстрого боя (Battle::auto_step), и тест играет битву всеми тремя способами.
Дополнение Раздора (issue #1): «Свой бой» в углу главного меню открывает окно подготовки битвы вне всякой кампании. Выберите воинов своей армии (внизу на экране битвы) и вражеской (вверху) из типов воинов вашей установки (без неё — из типов демо): на вкладке «Воины» слева щелчок по типу добавляет его в армию, обведённую золотом (щелчок по названию армии выбирает её), до 12 клеток строя. Каждому воину задаётся уровень (− / +, от 1 до 30) и предметы: щелчок по воину в армии открывает вкладку «Предметы» со всем, что он может надеть; кнопки сверху оставляют один вид (оружие, доспехи, шлемы, щиты, кольца, амулеты), кнопка «Цена» сортирует от дешёвых к дорогим и обратно, а строка отбора (щелчок по ней или Ctrl+F) оставляет предметы, в названии, типе, характеристиках или описании которых есть набранные слова, в любом регистре. Буква, набранная над списком, переводит к следующему названию на эту букву (так же на вкладке «Воины»). Щелчок по предмету надевает его, щелчок по надетому предмету под армиями снимает; действуют правила ношения из игры. Выберите строй (широкий ряд из 6 или обычный 3 × 4), силу боевого ИИ (обычный, улучшенный или «Максимум», как «Сила ИИ в бою» в настройках; «Максимум» играет за сторону ИИ, когда за другую играете вы) и кто играет за каждую сторону: вы или ИИ (ИИ за обе — чтобы смотреть, вы за обе — чтобы играть за обе стороны по очереди). «В бой!» (Enter) начинает битву на обычном экране битвы по обычным правилам; обе стороны расставляются авторасстановкой оригинала, а быстрый и просматриваемый бой работают как в любой битве. Окно итогов предлагает «Ещё раз» (Enter, те же армии), «Сменить армии» (Esc) и «Главное меню»; оно считает выигранные и проигранные раунды. Подготовка хранится, пока игра не закрыта. Ничто из этого не затрагивает игру или сохранение: ни опыта, ни добычи, а боевые счётчики патча Community (Голод, Стая) возвращаются к тому состоянию, в каком их застал раунд.
Код боя. «Скопировать код боя» (или Ctrl+C) кладёт в буфер обмена одну строку вида
RZB1:… (буквы и цифры): обе армии с уровнями и предметами, строй, кто играет за каждую
сторону и сила ИИ. Вставьте её в чат; друг копирует строку, нажимает «Вставить код боя»
(или Ctrl+V) в окне своего боя — и бой загружен, без файлов. Можно копировать и всё сообщение
целиком: код найдётся в нём. Испорченный или обрезанный код ничего не меняет и показывает,
что не так. Если код сделан на другой установке или моде, игра предупредит, а воинов и
предметы, которых у вас нет, пропустит и посчитает.
Дополнение Раздора (issue #1), похожее на поиск Spotlight: на экране героя и армии над рюкзаком стоит строка отбора, а на вкладке рынка — над его списком (товары и продажа). Начните набирать (на пустой строке A и N сохраняют своё значение: тогда начинайте с Ctrl+F или щелчка по строке), и список по мере набора оставляет предметы, в названии, типе, характеристиках, бонусе или описании которых есть все набранные слова, в любом регистре и любой раскладке (Ё считается как Е). Совпавшая часть каждого названия подсвечивается (в рюкзаке совпадения перечислены в поле описания, пока вы не наведёте на предмет). Enter берёт первое совпадение: на экране армии его надевает или выпивает выбранный воин, на рынке оно выбирается для «Купить» или «Продать». Esc очищает строку; второй Esc, как обычно, закрывает окно.
Дополнение Раздора (issue #1): ~ (клавиша слева от 1, Ё в русской раскладке) на карте мира
и в битве открывает командную строку поверх верхней части экрана с короткой историей вывода
(PgUp / PgDn, колесо). Пока она открыта, все клавиши идут в неё, а не в игру; стрелки вверх и
вниз возвращают прежние команды, ~ или Esc закрывает её. Названия команд английские, в любом
регистре; help перечисляет их с описанием на языке интерфейса.
| Команда | Что делает |
|---|---|
help | список команд |
gold N, mana N | даёт N золота или маны (отрицательное N отнимает) |
reveal | открывает всю карту |
heal | лечит армию и поднимает её павших |
xp N | N опыта каждому живому воину армии (уровни растут, как после битвы) |
level N | ставит герою уровень N |
item <номер или название> | кладёт предмет в рюкзак |
spell <номер или название> | вписывает заклинание в книгу (до её 15) |
unit <номер или название> [уровень] | воин вступает в армию с этим уровнем, если есть место |
time H | проходит H часов, как при ожидании (полдни, армии ИИ, события) |
win, lose | в битве: падает другая сторона или ваша; битва кончается, как любая выигранная или проигранная (окно итогов, опыт, потери) |
god | вкл. / выкл.: ваша армия не получает урона в битве |
speed N | герой ходит по карте в N раз быстрее (1 — обычно) |
noclip | вкл. / выкл.: герой проходит сквозь всё в любую клетку |
peace | вкл. / выкл.: вражеские армии не нападают на героя и не выбирают его целью погони; сам он может напасть на них, шагнув на армию. Гарнизоны и охрана зданий, а также битвы из событий сценария остаются как были |
routes | вкл. / выкл.: мини-карта (M) показывает пути вражеских армий линиями и кружком — куда каждая идёт |
Название ищется в любом регистре (Ё как Е): сперва точное совпадение, затем название,
начинающееся с набранного, затем содержащее его; если подходят несколько, консоль говорит,
сколько. Армия, её опыт и время не меняются во время битвы; win и lose работают и в своём
бою. Игра, в которой сработал чит, хранит отметку в своих сохранениях (список загрузки
показывает «(читы)» после сценария), и каждая команда попадает в журнал игры.
Дневник — в окне героя (флаг на нижней панели или J), в том же виде, что в оригинале. Над его списком четыре вкладки: «Задания» — текущие задания, как в оригинале; «Выполнено», «Слухи» и «Послания» (сюжетные сообщения скриптовых событий; молчаливые не попадают) — история Раздора с игровой датой, новые сверху, с заголовком каждой карты кампании. Выберите запись, чтобы увидеть её полный текст. История — часть сохранения (старые сохранения начинают с пустой) и переходит с карты на карту в кампании. Это дополнение Раздора: дневник оригинала перечисляет только текущие задания.
Экраны повторяют раскладку оригинала (видео игрового процесса 960×720, масштабированное под
окно; docs/reference/video-notes.md). На нижней панели — овальные кнопки оригинала:
меню, настройки, сохранение, загрузка слева, журнал, герой и армия, книга заклинаний и карта
справа (синие; серые, пока открыто окно, зелёные для открытого экрана, оранжевые, пока
показана мини-карта), посередине панель времени, а под ними мана, золото, доход и жалованье.
Карта занимает экран над панелью, как в оригинале. Битва — окно поверх карты с названиями
обеих армий в заголовке: слева фигура в полный рост, список характеристик и особенности
ходящего (или наведённого) воина; сверху строй врага, полоса подсказок, снизу ваш, каждая
карточка — портрет с полосой характеристик (A: 45 D: 35/40, Mnvr: 1 Ini: 12, Hits: 70;
Pwr у магов); пустые клетки показывают мечи (передний ряд), лук (задний) или шатёр
(резерв). Карточка ходящего обведена зелёным, клетки, куда он может шагнуть, — синим, его
цели — красным (зелёным под мышью) или синим; наведение на цель показывает действие заранее
(«Щёлкните, чтобы проклясть: «X» / Инициатива: -5 Действия: -1»), а удары и заклинания
проигрывают анимации битвы и заклинаний из оригинала. Окна зданий (столбец вкладок и
содержимое), экран героя и армии (панель воина с четырьмя ячейками предметов, рюкзак или
древо развития, описание предмета, карточки армии), диалоги, подсказки и мини-карта
используют те же рамки.
С установленной игрой всё это — графика оригинала, расшифрованная во время работы из
Graphics/Windows, Graphics/Battle, Graphics/Spells и портретов и фигур воинов
(src/ui/chrome.rs, src/dt/gfx.rs); описания особенностей берутся из
Rus_DiscordTimes.ini установки. Ничего расшифрованного не сохраняется. Без установки та же
раскладка рисуется в нашем собственном временном стиле (процедурный мрамор и пергамент,
нарисованные значки и силуэты). Весь текст использует шрифт TrueType, если он найден.
Масштаб интерфейса (окно настроек, «Масштаб интерфейса»; «Авто» — самый крупный, что помещается в окно): от 1× до 4× в шагах 1, 1.25, 1.5, 1.75, 2, 2.5, 3, 3.5, 4, но не больше, чем помещается на экране: окна всегда видны целиком, и настройки не уезжают за край. Выбранный больше масштаб сводится к размеру экрана. Вернуть «Авто» можно с любого экрана клавишами Ctrl+0. Нижняя панель, счётчик кадров и строка ввода остаются того размера, что помещается в окно.
Армии сценария живут своей жизнью, пока вы ходите (src/rules/ai.rs). Каждая примерно раз в
игровой час выбирает цель исходя из своего стиля поведения (феодал, разбойник, крестьянин),
своей модели целей (стандартная, агрессивная, пассивная, накопительская, торговая) и
приоритетов в вашем _Global.ini: напасть на вас или на враждебную армию, которую видит,
взять враждебный замок или крепость, подлечиться, пополнить свой гарнизон, нанять воинов,
купить предмет, собрать дань с деревни, поговорить с другом, патрулировать, вернуться домой;
флаги редактора (ИИ её не трогает, охотится только на игрока, без случайных целей, без
общения, без интереса к зданиям) соблюдаются. Феодалы получают доход со своих зданий,
платят жалованье и держат его запас на пять дней; разбойники жалованья не платят и нанимают
только разбойников; крестьяне просто бродят. Встретившиеся враждебные армии сражаются движком
битвы (обе стороны играет ИИ) за кадром; замки и крепости переходят из рук в руки, а с ними
и их доход, и ваши собственные замки тоже можно потерять. Вы узнаёте о битвах в пределах
вашего обзора и о нападениях на ваши здания. Армии ИИ держатся тех же дорог, что и герой
(решение Раздора): они обходят замки и крепости, не принадлежащие им или другу, чужие
руины и здания, на которые они напали бы, если только не направляются туда или не стоят там.
Побеждённый феодал, у которого ещё есть здание, отступает туда и возвращается через три дня;
армии со временем возрождения возвращаются по его истечении (один предводитель или вся
армия, если так указано на карте).
Опыт следует коду оригинала (docs/reference/original-mechanics/experience.md,
src/rules/experience.rs). Выигранная битва вознаграждает выживших в вашей армии: общий
запас — двадцатая часть силы побеждённой стороны (считается по характеристикам воинов, а не
по их цене), уменьшенная на потерянную вами жизнь; доля каждого выжившего зависит от его ряда
и от того, сколько его действий было атаками или заклинаниями, а павшие всё равно учитываются
в делителе. Ваша прибавка — это доля × HeroExpirienceModificator × коэффициент сложности
(100 при вашей настройке «невозможной сложности», иначе 120) × поправка опыта побеждённой
армии, не более 5256 за битву. Ничья или поражение не дают ничего. Опыт для уровня —
StartExpirience × (LevelMultipler/100)^(level−1); каждый уровень добавляет прибавки класса
d-* (защиты и регенерация вместо этого сокращают разрыв до 100). Любого воина, кроме героя,
можно повысить, как только он получил уровень, бесплатно, обратно на уровень 1. Опыт от
сценария получает герой. Карточки, панель битвы, экран армии, казармы и гарнизоны показывают
«Ур. N · Опыт a/b» с полосой прогресса; после победы карточки показывают «Опыт +N» и
«Новый уровень!», а экран армии показывает следующий уровень, прибавки за уровень и древо
развития. Армии ИИ получают опыт в своих битвах, копят его и идут по своему древу развития;
нанятые ими воины могут начинать с опытом, который им даёт карта.
Заклинания изучаются за золото в святилище (вкладка «Святилище» в городах и храмах; в
книге помещается 15). Откройте книгу заклинаний с карты кнопкой книги или B: каждое заклинание
показывает свою цену в мане и время сотворения для вашего героя, сколько оно длится и что
делает. Благословения и лечение накладываются на вашу армию; проклятия и молнии — на
враждебную армию в пределах 3 клеток, которую вы видите. Сотворение стоит маны и игрового
времени: армии тем временем движутся, и враг, добравшийся до вас, срывает заклинание.
Архимаг творит вдвое быстрее за половину маны, воин с бонусом Caster из Community сбрасывает
ещё 20%. Длительные заклинания меняют характеристики ваших воинов (или проклятой армии) в
битвах, пока действуют; боковая панель и книга показывают оставшееся время. Лечение и молнии
действуют сразу. В демо пять собственных заклинаний (data/spells.ini) в храме Св. Беора и в
Серостене; его Архимаг начинает с двумя, а деревни платят ману. События сценария, которые
накладывают заклинания на вашу армию, следуют тем же правилам.
«Сохранить» и «Загрузить» на нижней панели, «Меню (Esc)» и «Загрузить игру» на
титульном экране. F5 записывает быстрое сохранение (ручное сохранение с именем «Быстрое
сохранение», заменяющее предыдущее), а F9 загружает его. В окне загрузки две вкладки, ваши
сохранения и автосохранения, новые сверху, со сценарием, героем и игровой датой. Игра
автоматически сохраняется перед каждой битвой и при каждом отчёте в 12:00 (с датой в имени,
«1204.06.03, 12 ч»), в 12 ячеек, как в оригинале: автосохранение с тем же именем (на той же
карте) перезаписывается, а когда их 12 — перезаписывается самое старое. Установка, в которой
выключен параметр автосохранения (OptValue8), автосохранений не получает.
Сохранения — ваши данные и лежат в вашей папке данных, а не в репозитории и не в папке игры:
$XDG_DATA_HOME/razdor/saves (обычно ~/.local/share/razdor/saves) в Linux,
~/Library/Application Support/razdor/saves в macOS, %APPDATA%\razdor\saves в Windows или
там, куда указывает RAZDOR_SAVE_DIR. У каждой установки игры там своя папка (имя папки игры
и хеш её пути, например Discord Times-1a2b3c4d), так что сохранения мода и обычной игры не
смешиваются. Сохранения, сделанные до 0.4.8 в общей папке, при первом запуске переходят в
папку той установки, где есть их карта с теми же байтами. Сохранение сценария хранит имя файла карты и хеш её
байтов, а не саму карту: при загрузке карта снова читается из RAZDOR_DT_DIR, и загрузка
отказывает, если карты нет или она изменилась. Сохранениям демо установка не нужна. История
журнала сохраняется вместе с текстами, которые прочёл герой (из вашей установки, только в
вашем сохранении).
Если игра установлена, Раздор играет её звуки и музыку, читая их во время работы из
_Sounds.ini и папки Sounds/ (ничего не копируется; музыка .raw в памяти получает
заголовок WAV). Тема меню звучит на заставке, в выборе сценария и класса, тема титров — в
титрах. На карте мира и в её окнах музыка сменяется, как в оригинале: BkgMap2 при начале
или загрузке карты, затем по таймеру выбирается одна из семи тем карты или тема титров —
собственными случайными числами игры (поэтому, как и в оригинале, сдвигаются последующие
броски). BkgBattle1 звучит в бою с гарнизоном, BkgBattle2 — с армией; торжественная тема —
от итогов выигранного боя до закрытия окна и при победе в сценарии; тема поражения — когда
герой гибнет. Эффекты: кнопки, открытие окон, боевой рог, ближний бой, выстрелы (пушечный — у стрелков с дальностью атаки не меньше
ShotWeaponRange), лечение, благословения, проклятия и удары магией, движение карт, аккорды
событий, новые уровни и повышения, сотворение заклинания (доброго или злого — по цели),
покупка, надевание или выпивание предмета (по его типу) и поступление золота.
audio.json в папке сохранений..raw не хранят частоту дискретизации; Раздор играет их на 22050 Гц. Если музыка
звучит слишком низко или медленно, попробуйте RAZDOR_MUSIC_RATE=44100.audio.json; и ИИ в бою, «Лёгкий» или «Эксперт» (в оригинале — «Улучшенный интеллект
противника в бою»: враг ещё и добивает воина, которого может убить оставшимися действиями),
сначала — как в вашей установленной игре.В Раздоре есть редактор сценариев, который пишет карты .DTm, открываемые и оригинальной
игрой, и Раздором. Запустите его кнопкой «Редактор карт» на заставке или командой
cargo run --release -- --editor. Если задан RAZDOR_DT_DIR, он рисует оригинальную графику,
предлагает картинки объектов и зданий из игры и берёт названия воинов, артефактов и заклинаний
из вашей установленной игры; без неё — заглушки.
X или /X, вопрос «да/нет», разбитые и
встреченные армии, уровень, золото, мана, отряды и сила с переключателем ≥/≤), «Событие и
герои» (владельцы зданий, артефактов и именных отрядов; армии, разбитые кем угодно,
активные, неактивные, дома), «Итог 1» (сообщение, следующее событие в цепочке, выполненный
квест, опыт/золото/мана, относительное событие и его задержка, ожидание героя, флаг
+X/-X, присоединяющиеся воины и откуда, выученные заклинания, полученные артефакты),
«Итог 2» (уходящие воины и куда, потерянные артефакты, фонари, показанные, включённые и
выключенные армии, смена патруля, бой, «без встречи», новый класс героя, заклинание на
игрока, стандартная картинка или импортированный PNG), «Места» (привязка к зданиям и
точкам и отвязка от них, а также что ссылается на событие) и «Коды Community» (коды
Community Update 1–20 с подписанными аргументами). Удаление события перенумеровывает
следующие и исправляет все ссылки (другие события, списки зданий и точек, события победы и
поражения, относительные цели кодов); если событие ещё используется, редактор покажет где и
сначала спросит.Куда сохраняются карты: в вашу папку карт, RAZDOR_MAPS_DIR или ~/.local/share/razdor/maps
(на других системах — razdor/maps в папке данных платформы). Карта, открытая из Maps_Rus
игры, тоже сохраняется туда и никогда не записывается поверх копии игры. Только «Сохранить в
папку игры» пишет в Maps_Rus, после подтверждения, а замена уже лежащей там карты (например,
из поставки) спрашивает второй раз. Устройство редактора и что осталось сделать:
docs/superpowers/specs/2026-09-25-map-editor-design.md (генератор случайных карт не
планируется).
Отдельная программа razdor-translate делает английские копии карт вашей игры с помощью
языковой модели: карта Имя.DTm превращается в Имя_en.DTm рядом с ней, в Maps_Rus, и её
открывают и Раздор, и оригинальная игра. Запуск: cargo run --release --bin razdor-translate.
http://localhost:11434/v1, без ключа) или облачный (OpenAI, OpenRouter, DeepSeek: адрес и
ключ). «Проверить» показывает, есть ли связь и нужная модель. Ключ хранится только у вас, в
папке настроек Раздора./v1 (как его показывает LM Studio: http://127.0.0.1:1234) —
переводчик допишет его сам.Имя_german.DTm, Имя_hindi-native.DTm; английский — Имя_en.DTm) и свой сохранённый
перевод. Данные игры переводятся на тот же язык и теми же буквами.--show-prompt.--notes).--language,
--style и --fresh).#HERONAME, переносы строк и разметка должны
остаться на месте. Ответ с ошибкой спрашивается заново; «Повторить неудачные» — ещё раз
для того, что не вышло. Работу можно остановить и продолжить позже.Переведённые карты сделаны из файлов вашей игры: держите их у себя, в репозиторий они не попадают.
Вся графика — жетоны-заглушки. Чтобы использовать свою, положите в папку PNG с именами по
Key= воинов и предметов из data/units.ini / data/items.ini (knight.png, archmage.png,
ranger.png, spearman.png, archer.png, swordsman.png, healer.png, bandit.png,
bandit_archer.png, bandit_chief.png, short_sword.png, …) и запустите:
RAZDOR_ASSETS=./assets-local cargo run --release
assets-local/ игнорируется git — держите стороннюю графику там.
src/dt/ — чтение файлов оригинала (данные ini, карты .DTm). Чистый код, без macroquad.src/rules/ — чистая игровая логика (без macroquad), покрыта модульными тестами.src/editor/ — модель редактора карт (документы, команды, отмена, проверка, сохранение). Чистый код, с модульными тестами.src/i18n.rs, data/lang/ru/ — языки интерфейса и русский каталог.src/ui/ — экраны на macroquad; assets.rs — единственное место, где рисуются воины и
предметы, chrome.rs — графика окон (оригинальная или заглушки), unit_sheet.rs — панель
воина и полоса карт, game_bar.rs — нижняя панель.docs/superpowers/specs/2026-09-24-razdor-prototype-design.md.data/units.ini и data/items.ini,
записанное в том же формате, который движок читает из установленной Discord Times.| Esc |
| закрывает мини-карту, иначе открывает «Выход из игры» (выход, главное меню, рестарт) |
| Любое окно (здание, армия, журнал, книга заклинаний, меню, сохранение, загрузка) | Esc | назад на карту (экран армии, открытый из здания, — назад в здание) |
| Окно героя (дневник) | влево / вправо, вверх / вниз, колесо, J | вкладки дневника, записи, прокрутка, закрыть |
| Книга заклинаний | щелчок / B | сотворить заклинание (вражеское — выбрать армию) / закрыть |
| Армия | A | закрыть |
| Армия, рынок | буква, Ctrl+F | отбор снаряжения: набирайте, чтобы отобрать вещи в рюкзаке или в списке рынка; Enter берёт первое совпадение, Esc очищает |
| Битва, пока никто не ходил | Q / Enter | быстрый бой |
| Битва | пробел / Q / Enter | как щелчок по собственной карточке воина / доиграть автоматически / «ОК» в итогах |
| Битва | W | смотреть, как ИИ играет за обе стороны / вернуть управление |
| Битва, при просмотре | S / Q | темп 1×, 2×, 4× / сразу к концу (с тем же итогом) |
| Подготовка своего боя | Enter / Esc | в бой / назад в главное меню |
| Свой бой, его итоги | Enter / Esc | ещё раз / сменить армии |
| Битва | Esc | способы выйти из битвы (выход, главное меню, рестарт) |
| Карта мира, битва | ~ (клавиша слева от 1; Ё в русской раскладке) | консоль читов (~ или Esc закрывает её; см. ниже) |
RAZDOR_NO_AUDIO=1 выключает звук; RAZDOR_AUDIO_LOG=1 печатает каждый звук при
проигрывании. Демо (без установленной игры) беззвучно.libasound.so.2, есть на любом десктопе; PipeWire и
PulseAudio дают устройство default); в macOS — через Core Audio.
cargo build --no-default-features --features gamepad собирает без звука
(--no-default-features — и без звука, и без геймпада).#N находит записи с номером N. Щелчок по
результату, Enter или F3 (Shift+F3 — назад) переводит вид к следующему результату и выделяет
его (событие открывается в окне события); F3 работает и после закрытия окна; Esc закрывает
его.Eng_Units.ini, Eng_Artefacts.ini, Eng_Spells.ini и Eng_DiscordTimes.ini
(английский) или файлы с именем языка: German_Units.ini, Hindi-native_Units.ini (хинди
родными буквами) и так далее; первая строка каждого файла называет язык. Раздор находит их при
запуске и показывает язык в списке языков (см. «Язык»). Оригинальная игра их не читает и
остаётся русской; надписи, нарисованные на картинках, тоже остаются русскими.
Готовый английский перевод для Community Update уже есть в Раздоре: если в папке игры нет
своих Eng_*.ini, он берёт свои (для другой версии игры или мода они не подходят и не
берутся). Карты, переведённые после данных на тот же язык, называют воинов и предметы так
же, как их карточки.razdor-translate --map "Проклятое озеро" или razdor-translate --data (все ключи —
--help).