Перейти к содержимому

Обзор

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 2
engine/ механики, общие для всех хроник
protocols/ по каталогу на сетевой протокол: опкоды, кодеки пакетов, ключи и шифр кадров, общие для серверов и нагрузочных ботов
login/ один сервер логина для всех хроник
chronicles/ по каталогу на хронику: server, scripts, datapack, boot
tools/ подготовка данных из собственного клиента оператора; load/: нагрузочный стенд

Хроника держит код и данные в одном каталоге, поэтому они меняются вместе. Квесты, поведение NPC и обработчики — отдельный компилируемый модуль scripts, собранный поверх сервера хроники.

Нет игрового клиента, ресурсов клиента, геодаты, декомпилированного или утёкшего кода. Операторы готовят данные из собственного клиента. Откуда взят код — в разделе лицензии.