Files
airdef/docs/INSTALL.md
T
2026-10-30 15:49:57 +03:00

102 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` (разрушения).