Обзор
L2NX Core — сервер Lineage 2 с открытым исходным кодом (репозиторий nx-l2) на основе L2J Mobius
со встроенной интеграцией с платформой L2NX. В одном репозитории лежат все хроники, сервер логина, сетевой стек и общие
библиотеки.
Его game loop — Zero-Tick Engine: мир реагирует на события, а не тикает.
У проекта три задачи:
- Готовая сборка. Любой, кто хочет запустить сервер, получает его с интеграцией L2NX из коробки. Без учётных данных платформы он работает как обычный эмулятор.
- Стенд для адаптера. Каждый релиз адаптера L2NX проверяется от начала до конца на живом сервере.
- Разработка сообществом. Движок развивается открыто.
Как и Mobius, nx-l2 — эталонная реализация для обучения и исследований.
Состояние
Заголовок раздела «Состояние»High Five перенесён из L2J Mobius со всей историей. Оба сервера работают на Spring Boot (этап 2): метрики, health checks, graceful shutdown и образ Docker. Данные хранятся в PostgreSQL, по схеме на сервер, схему ведёт Liquibase (этап 3). См. быстрый старт и эксплуатацию.
| Этап | Что даёт |
|---|---|
| 1 | High Five с историей, сборка Gradle, локальный запуск |
| 2 | Spring Boot runtime: метрики, health checks, graceful shutdown |
| 3 | PostgreSQL, схема через Liquibase |
| 4 | Собственный транспорт на Netty для всех соединений |
| 5 | Встроенный L2NX: последняя версия адаптера, команды и события |
| 6 | Публичный тестовый сервер |
| 7 | Движение, pathfinding и line of sight за одним интерфейсом, вариант с navmesh |
| 8 | Новые клиенты на High Five |
| 9 | Essence и общее ядро двух хроник |
| 10 | Interlude |
Каждый этап заканчивается сервером, который собирается, и клиентом, который заходит и играет.
Структура
Заголовок раздела «Структура»Целевая структура; в репозитории есть libs/boot, libs/database, libs/gslink, libs/logging, libs/network, engine/core,
protocols/login/c621, protocols/game/p267, login/, chronicles/high-five/ и tools/load/.
libs/ инфраструктура без знаний о Lineage 2engine/ механики, общие для всех хроникprotocols/ по каталогу на сетевой протокол: опкоды, кодеки пакетов, ключи и шифр кадров, общие для серверов и нагрузочных ботовlogin/ один сервер логина для всех хроникchronicles/ по каталогу на хронику: server, scripts, datapack, boottools/ подготовка данных из собственного клиента оператора; load/: нагрузочный стендХроника держит код и данные в одном каталоге, поэтому они меняются вместе. Квесты, поведение NPC и обработчики —
отдельный компилируемый модуль scripts, собранный поверх сервера хроники.
Чего в репозитории нет
Заголовок раздела «Чего в репозитории нет»Нет игрового клиента, ресурсов клиента, геодаты, декомпилированного или утёкшего кода. Операторы готовят данные из собственного клиента. Откуда взят код — в разделе лицензии.
