Руководство по L2JServer: сборка, настройка и запуск сервера Lineage 2

Это руководство по l2jserver проведёт владельцев серверов через сборку, настройку и запуск полноценного сервера Lineage 2 из исходного кода. L2J Server — бесплатный эмулятор с открытым исходным кодом, написанный на Java и выпущенный под GPLv3; он остаётся одним из самых старых и самых часто форкаемых проектов в среде приватных серверов. Стек делится на login server и game server, а игровая часть дополнительно делится на ядро (core) и datapack. В статье разобраны требования, сборка через Maven, база данных, конфигурация, регистрация сервера, порты и первое подключение клиента — чтобы пройти путь от чистой машины до работающего мира.
Что такое L2J Server и когда его выбирать
L2J Server — это бесплатный эмулятор сервера Lineage 2 с открытым исходным кодом, полностью написанный на Java и выпущенный под GPLv3. Это один из старейших проектов L2J, который за годы форкали множество раз. Официальная документация находится в документации L2J Server, и именно туда стоит смотреть в первую очередь, если какой-то шаг здесь расходится с вашим окружением.
Проект — это скорее экосистема, чем один бинарник. Он делится на три части:
- Login Server — аутентифицирует аккаунты и направляет клиент к game server.
- Ядро Game Server — репозиторий ядра l2j_server, сам движок.
- Datapack — репозиторий l2j-server-datapack со скриптами, спавнами, квестами и статическими данными.
О выборе: L2J Server — это классическая линия. На практике владельцы, которые держат Interlude, обычно берут aCis, а миры High Five часто выбирают L2J Server или L2JMobius. Mobius охватывает много хроник и очень активен; aCis сосредоточен на Interlude. Берите L2J Server, когда вам нужен хорошо документированный классический Java-стек на High Five.

Требования перед сборкой
Подготовьте это заранее, чтобы сборка и запуск не встали на полпути:
- Свежий JDK. Актуальные сборки L2J Server рассчитаны на Java 11 или новее, а Java 21 — безопасный современный выбор.
- MySQL или MariaDB. На странице загрузки MariaDB есть пакеты для всех основных ОС.
- Подходящий клиент Lineage 2 и system patch, собранный под вашу ревизию сервера.
- Git и полезные утилиты: HeidiSQL для базы данных и 7-Zip для архивов.
Запускайте всё это на машине, которую контролируете. Для тестов хватит небольшого VPS; в продакшене обычно нужно больше RAM, когда растут игроки и спавны.
Получение исходного кода и сборка через Maven
Клонируйте оба репозитория из Bitbucket. Старое зеркало на GitHub всё ещё существует, но проект переехал в Bitbucket, поэтому считайте Bitbucket каноническим источником и игнорируйте устаревшие форки в других местах.
Важны три ветки:
- master — последний релиз High Five.
- develop — текущая разработка High Five, более новая и чуть менее обкатанная.
- Interlude — поддерживаемая legacy-ветка, которая всё ещё обновляется.
Современная сборка использует wrapper Maven, так что системная установка Maven не нужна. В Linux выполните ./mvnw clean install; в Windows — mvnw.cmd clean install. Старые руководства использовали Gradle и Eclipse, так что считайте их историей, а не актуальными инструкциями.
Если вы предпочитаете вообще пропустить сборку, есть поддерживаемый образ контейнера, опубликованный в Docker-образе L2J Server.

Настройка базы данных MySQL или MariaDB
Создайте схемы. Обычная схема использует две базы, например l2jls для login server и l2jgs для game server, хотя в некоторых конфигурациях одна l2jdb служит для обоих. Подойдёт любой вариант, если ваши файлы конфигурации с ним согласованы.
Установщики баз данных лежат в server/tools: dbinst_ls для схемы login и dbinst_gs для игровой схемы. У datapack тоже есть свой установщик базы данных. Запустите соответствующий установщик для каждой схемы и убедитесь, что таблицы созданы, прежде чем идти дальше.
Создайте отдельного пользователя базы данных для сервера вместо root. Дайте ему права только на те схемы, которые нужны серверу, и задайте надёжный пароль.
Настройка login и game server
За подключение к базе данных отвечают два файла: config/loginserver.properties и config/server.properties. В каждом задайте JDBC URL и ключи Login и Password так, чтобы они совпадали с только что созданным пользователем базы данных.
Заодно проверьте:
- Хост и порт, к которым привязывается login server.
- Внешний и внутренний адреса game server — они должны совпадать с тем, как игроки до вас добираются.
- Рейты, множители спавна и лимиты игроков: оставьте значения по умолчанию, пока сервер не запустится без ошибок, и только потом настраивайте.
Держите оба файла конфигурации под контролем версий. Когда что-то ломается после изменения, быстрый diff лучше догадок.
Регистрация, запуск и подключение
Прежде чем game server сможет общаться с login server, его нужно зарегистрировать. Запустите инструмент регистрации game server, чтобы создать файл hexid.txt, затем скопируйте этот файл в папку конфигурации login server. Пропуск этого шага — самая частая причина, по которой свежая установка отказывается подключаться.
Запускайте по порядку. Сначала поднимите login server через startLoginServer.bat в Windows или startLoginServer.sh в Linux, затем запустите game server через startGameServer.bat или startGameServer.sh. Следите за ошибками в обеих консолях во время запуска: исправить их сейчас намного проще, чем после открытия.
Порты: login server и game server по умолчанию используют порты 2106 и 7777. Оба должны быть доступны. На локальной тестовой машине значения по умолчанию подойдут, но для игры не через localhost откройте их в фаерволе ОС и в любой security group облака, а затем проверьте из внешней сети.
Перед открытием для игроков
Когда клиент подключится, пройдитесь по базовым вещам: проверьте создание аккаунтов, войдите тестовым персонажем и убедитесь, что рейты и NPC ведут себя так, как вы ожидаете. Смените все пароли по умолчанию и отключите всё, что не нужно выставлять наружу.
Начните с приватной сборки, докажите полный цикл входа и игры на своей машине и только потом открывайте фаервол. Отладка по одному слою за раз экономит часы.
Когда будете готовы привлекать игроков, добавьте свой мир через форму бесплатного размещения сервера или возьмите VIP-размещение для большей видимости. Также можно просмотреть полный каталог серверов, чтобы увидеть, как другие владельцы подают свои рейты, хронику и особенности, прежде чем писать собственный листинг.
