4d4e1682f5
build / mod (push) Successful in 3m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
102 lines
7.0 KiB
Markdown
102 lines
7.0 KiB
Markdown
# AirDef: запуск с нуля (Windows и macOS)
|
||
|
||
AirDef работает на своей сборке (форке) Horizon: в ней есть API 3D-моделей, звуков и шейдеров, которого нет
|
||
в обычном Horizon. Сама игра и её ресурсы берутся из твоего Minecraft — без лицензионного Minecraft Java 26.3
|
||
ничего не заработает.
|
||
|
||
## 1. Общее для обоих способов
|
||
|
||
1. Купленный **Minecraft: Java Edition** (версия 26.3).
|
||
2. **Лаунчер 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** → последний `build-N`. В каждом релизе есть `airdef.hmod` — сам мод (один для всех
|
||
ОС). Игру-форк сервер сборок не собирает сам: это тяжело для него. Архивы с игрой появляются в релизе, только если
|
||
их собрали вручную:
|
||
- `airdef-linux-x86_64.tar.gz` — Actions → **game** → Run workflow, указать тег релиза;
|
||
- `airdef-windows-x86_64.zip`, `airdef-macos-arm64.tar.gz` — Actions → **desktop** (нужны раннеры с метками
|
||
`windows-latest` / `macos-latest`).
|
||
|
||
Нет архива для твоей ОС — способ 2б: игра соберётся у тебя, а мод можно взять из релиза или собрать там же.
|
||
|
||
**Windows:** распакуй zip куда угодно и запусти `play.bat`. Он положит мод в папку игры, включит его и запустит
|
||
игру. Конкретный мир: `play.bat --world "Имя мира"` (в командной строке, из папки архива).
|
||
Если SmartScreen ругается — «Подробнее → Выполнить в любом случае» (сборка не подписана).
|
||
|
||
**macOS:** распакуй архив, в Терминале:
|
||
|
||
```sh
|
||
cd ~/Downloads/airdef-macos-arm64
|
||
./play.sh # или ./play.sh --world "Имя мира"
|
||
```
|
||
|
||
Скрипт сам снимает карантин с файлов. Если macOS всё же блокирует запуск — «Системные настройки →
|
||
Конфиденциальность и безопасность → Всё равно открыть».
|
||
|
||
## 2б. Сборка из исходников
|
||
|
||
Нужно: **Git**, **Python 3**, **Rust** (https://rustup.rs). Сборка игры занимает ~5–15 минут и ~5 ГБ на диске.
|
||
|
||
### Windows
|
||
|
||
1. Поставь **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).
|
||
2. В PowerShell:
|
||
|
||
```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
|
||
|
||
1. Инструменты разработчика: `xcode-select --install`, затем Rust:
|
||
`curl -sSf https://sh.rustup.rs | sh` (перезапусти Терминал).
|
||
2. В Терминале:
|
||
|
||
```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`.
|
||
|
||
## 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` (разрушения).
|