# L2 Interlude SPP — карта проекта

Сервер L2J Mobius CT_0 Interlude с населением из headless-игроков (настоящие `Player` без клиента): фарм, торговля, кланы, войны, осады, чат с характером и памятью. Подробности по ботам — `BOTS.md`, дебаг — `DEBUG.md`, установка — `INSTALL.md`, ревизия от 03.09 — `AUDIT.md`.

## Что где лежит

| Путь | Что это |
|---|---|
| `src_mobius/mobius/L2J_Mobius_CT_0_Interlude/java` | **Исходники сервера** (ванильный Mobius + наши правки). Всё по ботам: `gameserver/managers/FakePlayer*.java` |
| `src_mobius/mobius/L2J_Mobius_CT_0_Interlude/dist` | **Оверлей датапака**: только наши файлы — данные ботов (`game/data/FakePlayer*.xml`), конфиги (`game/config`), чат-хендлеры (`game/data/scripts/handlers/chat`), SQL-сиды (`db_installer/sql/spp_*.sql`) |
| `server/` | **Развёрнутый сервер** (ванильный датапак + оверлей + jar + geodata). Не в git. Docker монтирует эту папку |
| `tools/` | Сборка/деплой (`build.sh`, `deploy.sh`), проверки данных (`check_data.py`), оффлайн-тест чата (`run_harness.sh` + `harness/ChatHarness.java`), пересчёт зон по спавнам (`fix_zones.py`) |
| `build.ps1` | Windows: `ant jar` + деплой оверлея и jar в `server\` + `docker compose restart game` |
| `docker/` | Dockerfile, compose, entrypoint (копия лежит в `server/docker`) |
| `nickgen.py`, `nickgen.html`, `import-crests.py` | Генератор ников, импорт гербов |
| `start.ps1`, `reset-bots.ps1`, `cleanup-docker.ps1` | Запуск, пересид ботов, чистка докера |

Устаревшее (в `.gitignore`, можно удалить): `patches/` (временный мост между копиями, всё влито), `src_mobius_interlude.zip`, `ziAuQ8He`, `ziVsvreY` (снимки исходников до слияния), `src/` и `l2j-lisvus/` (заброшенная попытка на L2J Lisvus), `server/game/data/data.rar`, `server/game/data/html.rar` (154 МБ мусора), `server/backup/*.jar.pre-*` (старые сборки).

## Git

История: `f520c66` — ванильный Mobius (коммит 9be7adbe5a от 25.08.2026, `https://gitlab.com/MobiusDevelopment/L2J_Mobius`), дальше — наши изменения. `git diff f520c66 -- src_mobius` показывает весь наш патч поверх ванили; обновление на новый Mobius — это `git diff` ванильных ревизий и перенос.

## Рабочий цикл

1. Правки — в `src_mobius/...` (java или `dist`-оверлей).
2. `powershell -ExecutionPolicy Bypass -File build.ps1` — соберёт jar, разложит оверлей в `server\`, перезапустит `game`. `-DeployOnly` — если менялись только XML/конфиги, `-NoRestart` — без рестарта.
3. Проверки без сервера: `python tools/check_data.py` (данные), `tools/run_harness.sh` (движок чата на реальных XML; нужен JDK 25).
4. Живьём: `http://127.0.0.1:7780/api/cmd?do=stats` — счётчики того, что боты реально делают (убийства, лут, продажи, покупки, осады, реплики); `FakePlayerChatLog = True` в `FakePlayers.ini` — все реплики ботов в лог.
