Smoke: one rule by engine, no heat on trails, no trail on P1-SUN. Searchlights: two lamps a target, off with an empty sky. Halos fade before their reach and their sum is limited. Launch sites load chunks through the server thread, go off-map as a last resort, and reach 4000 blocks. Air defence: ranges x1.5, shots grow with urgency, claims released, /airdef lastchance, long shots on a big radar's tracks. Build: rust-toolchain.toml, airdef.py check, generator manifest and --check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7.4 KiB
AirDef: запуск с нуля (Windows и macOS)
AirDef работает на своей сборке (форке) Horizon: в ней есть API 3D-моделей, звуков и шейдеров, которого нет в обычном Horizon. Сама игра и её ресурсы берутся из твоего Minecraft — без лицензионного Minecraft Java 26.3 ничего не заработает.
1. Общее для обоих способов
- Купленный Minecraft: Java Edition (версия 26.3).
- Лаунчер Horizon — https://playhorizon.dev (раздел Install). Установи его, поставь в нём последнюю версию и один раз запусти игру: лаунчер подготовит ресурсы игры из твоего Minecraft. Форк AirDef берёт их оттуда.
Где что лежит (обычно ничего трогать не нужно):
| Windows | macOS | |
|---|---|---|
| Папка игры (миры, моды, настройки) | %APPDATA%\horizon |
~/Library/Application Support/horizon |
| Ресурсы из лаунчера | %APPDATA%\horizon-launcher\versions\…\.local\horizon-client\26.3 |
~/Library/Application Support/horizon-launcher/versions/…/.local/horizon-client/26.3 |
2а. Готовая сборка из релиза (проще)
В репозитории → Releases. Большие релизы vX.Y.Z содержат готовую игру для Windows,
airdef-windows-x86_64.zip: она собирается на сервере только по тегу версии (git tag v0.3.0, git push origin v0.3.0).
Сборки build-N выходят на каждый коммит, в них только airdef.hmod, сам мод (один для всех ОС).
Архив Linux собирается вручную: Actions → game → Run workflow с тегом build-N; macOS: Actions → desktop
(нужен раннер с меткой macos-latest).
Нет архива для твоей ОС — способ 2б: игра соберётся у тебя, а мод можно взять из релиза или собрать там же.
Windows: распакуй zip куда угодно и запусти play.bat. Он положит мод в папку игры, включит его и запустит
игру. Конкретный мир: play.bat --world "Имя мира" (в командной строке, из папки архива).
Если SmartScreen ругается — «Подробнее → Выполнить в любом случае» (сборка не подписана).
macOS: распакуй архив, в Терминале:
cd ~/Downloads/airdef-macos-arm64
./play.sh # или ./play.sh --world "Имя мира"
Скрипт сам снимает карантин с файлов. Если macOS всё же блокирует запуск — «Системные настройки → Конфиденциальность и безопасность → Всё равно открыть».
2б. Сборка из исходников
Нужно: Git, Python 3, Rust (https://rustup.rs). Сборка игры занимает ~5–15 минут и ~5 ГБ на диске.
Windows
- Поставь Git (https://git-scm.com), Python 3 (https://python.org, галочка «Add to PATH»),
Visual Studio Build Tools с компонентом «Разработка классических приложений на C++»
(https://visualstudio.microsoft.com/visual-cpp-build-tools/), затем Rust (
rustup-init.exeс rustup.rs). - В PowerShell:
rustup target add wasm32-unknown-unknown
git clone https://gitea.maoniao.team/chexit/airdef.git
cd airdef
py tools\airdef.py all # форк Horizon + сборка игры + мод + установка мода
py tools\airdef.py play # запуск; мир: py tools\airdef.py play --world "Имя мира"
macOS
- Инструменты разработчика:
xcode-select --install, затем Rust:curl -sSf https://sh.rustup.rs | sh(перезапусти Терминал). - В Терминале:
rustup target add wasm32-unknown-unknown
git clone https://gitea.maoniao.team/chexit/airdef.git
cd airdef
python3 tools/airdef.py all
python3 tools/airdef.py play # или: python3 tools/airdef.py play --world "Имя мира"
Клон по HTTPS не требует ключа. Если у тебя есть SSH-ключ в Gitea, можно и так: git clone ssh://git@gitea.maoniao.team:2222/chexit/airdef.git.
Шаги по отдельности: fork (скачать Horizon и наложить патчи horizon-patches/), game (собрать игру),
mod (собрать airdef.hmod), install (положить мод в папку игры и включить), play.
check говорит прямо, совпадают ли форк, упаковщик мода, уровень API мода с игрой и ресурсы, и подсказывает,
что запустить, если нет (python3 tools/airdef.py check; Windows: py tools\airdef.py check). Версия Rust
фиксирована в rust-toolchain.toml: rustup сам поставит её и цель wasm32 при первой сборке.
3. В игре
- Обновление из исходников:
git pull, затем сноваall(Windows:py tools\airdef.py all). Форк и упаковщик мода пересоберутся сами, если патчи изменились. - Windows: нужна видеокарта с Vulkan. Экспорт фильмов (
/airdef replay export) требуетffmpegв PATH илиHORIZON_FFMPEG. - Шейдеры уровня шейдерпаков:
/airdef shader hd. Для слабой видеокарты перед запуском:$env:HORIZON_HD_SCALE="0.67"(PowerShell). - Создай мир с читами (или включи их через «Открыть для сети»): мод выдаёт пульты и взрывы командами.
/airdef give— пульты, N — командный пункт (роли ПВО), K — монитор комплекса,/airdef wave mix 20— налёт. Подробнее — README.- Мод в списке «Настройки → Моды» должен быть включён (скрипты включают его сами).
Если что-то не так
- «Не найдены ресурсы игры» — запусти Horizon из лаунчера хотя бы раз; либо укажи путь вручную:
HORIZON_RESOURCES=…/.local/horizon-client/26.3(Windows:set HORIZON_RESOURCES=…). - Мод в списке, но красный: «made for a newer Horizon» — игра запущена из лаунчера (обычный Horizon),
а нужен форк: запускай через
play.bat/play.sh/airdef.py play. - Нет звука или моделей после обновления мода — перезапусти игру: ресурсы мода грузятся при старте.
- Тормозит —
/airdef shader off(эффекты) и/airdef damage off(разрушения).