# L2 Interlude SPP — установка

Сервер: L2J Mobius CT_0 Interlude + SPP-моды (200 ботов с прокачкой, LLM-чат, геодата — см. BOTS.md).

Два способа запуска: **Docker** (проще, всё в одной команде) или **нативно** (JDK + MariaDB в систему).

## Файлы

- `server_interlude.zip` — готовый сервер с геодатой. Распакуй в `I:\coding\l2sp\server\`.
- `src_mobius_interlude.zip` — исходники (для доработок).
- `docker\` — Dockerfile, docker-compose.yml, entrypoint.sh.

---

## Вариант А: Docker

Нужен Docker Desktop (https://docker.com, с WSL2). Дальше:

1. Распакуй `server_interlude.zip` → папка с `game`, `login`, `libs`, `db_installer`.
2. Скопируй папку `docker` из `I:\coding\l2sp\docker` внутрь распакованной папки сервера (рядом с `game`).
3. Из папки сервера:

```
docker compose -f docker/docker-compose.yml up --build
```

Первый запуск: соберётся образ, поднимется MariaDB, login сам зальёт базу, game дождётся схемы и стартует. Готово, когда в логах `Registered on login as Server`. Дальше — шаги «Клиент» и «Аккаунт» ниже (порты 2106 и 7777 проброшены на localhost, для клиента разницы с нативным запуском нет).

Нюансы: пароль БД зашит `l2j` (менять не нужно, наружу не торчит); Ollama контейнер видит на хосте через `host.docker.internal` — просто поставь её на Windows как обычно; правки конфигов в папке сервера применяются после `docker compose ... up --build`; база живёт в volume `l2db` (`docker volume rm` — полный сброс). Файлы docker/ не тестировались в бою (в моей песочнице нет Docker) — если что-то упадёт при сборке, кидай вывод.

---

## Вариант Б: нативно (Windows)

### Шаг 1. JDK 25

Temurin JDK 25 (Windows x64 MSI): https://adoptium.net/temurin/releases/?version=25
При установке включи «Add to PATH» и «Set JAVA_HOME» — лаунчеры .vbs берут Java из JAVA_HOME.

### Шаг 2. MariaDB

MariaDB (Windows x64 MSI): https://mariadb.org/download/ — задай пароль root, порт 3306.

### Шаг 3. База данных

```
mysql -uroot -p -e "CREATE DATABASE l2jmobiusinterlude"
cd I:\coding\l2sp\server\db_installer
for %f in (sql\login\*.sql) do mysql -uroot -p"ПАРОЛЬ" l2jmobiusinterlude < "%f"
for %f in (sql\game\*.sql) do mysql -uroot -p"ПАРОЛЬ" l2jmobiusinterlude < "%f"
```

(`mysql.exe` — в `C:\Program Files\MariaDB *\bin`. Либо GUI: `db_installer\DatabaseInstaller.vbs`.)

### Шаг 4. Конфиги

Пароль root в строку `Password =` в двух файлах:

- `server\login\config\Database.ini`
- `server\game\config\Database.ini`

Остальное уже настроено под localhost.

### Шаг 5. Запуск (порядок важен)

1. `server\login\LoginServer.vbs` — ждать `Login Server ready`.
2. `server\game\GameServer.vbs` — ждать `Registered on login`. Первый старт с геодатой — около минуты, нужно ~4 ГБ RAM (прописано в `game\java.cfg`).

---

## Клиент

Клиент Lineage 2 Interlude (protocol 746) с патченным под L2J `system` (сборки для приватов обычно такие; чистый официальный клиент не подключится — нужен «Interlude L2J patch»). В `system\l2.ini`: `ServerAddr=127.0.0.1` (если зашифрован — L2FileEdit). Запуск: `system\l2.exe`.

## Аккаунт и админка

Логин/пароль вводишь любые — аккаунт создастся сам. Админка после первого входа:

```
mysql -uroot -p l2jmobiusinterlude -e "UPDATE accounts SET accessLevel=100 WHERE login='ТВОЙ_ЛОГИН'"
```

(в Docker: `docker compose -f docker/docker-compose.yml exec db mariadb -uroot -pl2j l2jmobiusinterlude -e "UPDATE accounts SET accessLevel=100 WHERE login='ТВОЙ_ЛОГИН'"`)

Перезайти. `//admin` — панель.

## Боты

Всё включено из коробки: 200 персонажей 1–76 с настоящей прокачкой, LLM-чат (нужна Ollama + `ollama pull gemma3`, иначе шаблонные фразы). Настройки — `game\config\Custom\FakePlayers.ini`, детали — `BOTS.md`.
