L2J Java Setup: JDK, Eclipse и XAMPP без догадок

Рабочий l2j java setup — это меньше про установку трёх программ и больше про правильный порядок и версии. Большинство неудачных первых сборок идут от JDK новее или старее, чем ждёт пак, от JAVA_HOME, указывающего на другую установку, или от базы, которая уже заняла порт, нужный XAMPP. Этот гайд проходит окружение в порядке, который обходит эти ловушки: сначала JDK, потом база, затем IDE и только там, где XAMPP действительно полезен.
Порядок, который экономит время
Установите JDK, проверьте его в терминале, затем поставьте базу и только после этого откройте проект в Eclipse. Начинать с IDE кажется продуктивным, но Eclipse привяжется к неправильному runtime и заставит вас гоняться за ошибками компиляции, которые на деле являются ошибками окружения.
- Выберите версию JDK, которую требует ваш пак.
- Установите её и настройте
JAVA_HOME. - Установите MariaDB или MySQL и создайте пользователя базы.
- Импортируйте пак в Eclipse и соберите без правок кода.
- Только после этого начинайте менять конфигурацию и код.

Выберите JDK, который требует ваш пак
Единой правильной версии Java для серверов Lineage 2 нет. Каждый пак объявляет свою, и установка самой новой только потому, что она новая, — самый быстрый путь к сборке, которая падает в первый день.
| Семейство паков | Обычная цель | Примечания |
|---|---|---|
| Официальный L2J Server | Java 25 (Temurin) | Следует за текущим LTS JDK |
| L2J Mobius | Java 17 или новее | Смотрите README ветки; старые ветки шли с Java 8 |
| aCis | Java 21 | Старые ревизии ждут более старый JDK |
Сначала откройте README пака и поищите версию Java. Если там пусто, проверьте файл сборки или настройки компилятора Maven. Две минуты проверки экономят день на ошибках "Unsupported class file major version".
Для runtime используйте сборку OpenJDK, например Eclipse Temurin. Она бесплатна, хорошо документирована и есть для Windows, Linux и macOS. Официальный гайд по установке L2J использует ту же сборку.
Установите JDK и настройте JAVA_HOME
В Windows winget устанавливает и регистрирует JDK за один шаг. В Linux используйте пакетный менеджер дистрибутива или репозиторий Adoptium. В обоих случаях важна переменная окружения.
- Windows: укажите в
JAVA_HOMEпапку JDK, а не подпапкуbin, и добавьте%JAVA_HOME%\binвPATH. - Linux: экспортируйте
JAVA_HOMEв профиле shell и поставьте$JAVA_HOME/binпервым вPATH. - Несколько версий: держите их установленными и переключайтесь осознанно. В Linux
update-alternativesуправляет инструментами командной строки.
Проверяйте обе команды, а не одну: java --version и javac --version. Если они расходятся, PATH смешивает JRE и JDK, и сборка позже упадёт непонятным образом.

Eclipse: импорт и сборка
Используйте Eclipse IDE for Java Developers. Для пака на Maven импортируйте как существующий Maven-проект и дайте разрешить зависимости. Для пака на Ant импортируйте проект и убедитесь, что файл сборки распознан.
- Настройте установленный JRE на тот же JDK, который требует пак, а не на самый новый в машине.
- Выставьте уровень компилятора под этот JDK.
- Задайте кодировку UTF-8 до правки первого файла.
- Сделайте чистую сборку до изменения кода, чтобы знать, что стартовая точка здорова.
Если проект показывает "JRE System Library unbound", Eclipse смотрит на удалённый или переименованный runtime. Исправьте список установленных JRE и пересоберите. Не добавляйте jar вручную, чтобы заглушить ошибку.
XAMPP: полезно, но не обязательно
XAMPP упаковывает Apache, PHP, MariaDB и phpMyAdmin в один установщик. Для сервера L2 важна только часть с базой, и многие паки отлично работают с отдельным MariaDB. XAMPP удобен, когда нужен phpMyAdmin без настройки, и это частый выбор для первого локального теста.
У него есть две ловушки:
- Конфликт порта: если MariaDB или MySQL уже установлены как служба, XAMPP не займёт порт 3306. Остановите один перед запуском другого.
- Настройки для разработки: root может остаться без пароля, а встроенный движок может слушать не только localhost. Задайте пароль root и привяжите к localhost даже на десктопе.
Используйте XAMPP для локальной разработки, если нравится панель, но с паролем root и привязкой к localhost. Для продакшена ставьте MariaDB как службу, создавайте отдельного пользователя и держите порт закрытым от интернета. Сторона базы подробнее разобрана в гайде по настройке базы данных, а сборка конкретного пака — в гайде по установке aCis.
Надёжный клиент базы данных
phpMyAdmin годится для быстрого взгляда, но десктопный клиент быстрее для загрузки схем и проверки таблиц. HeidiSQL в Windows и DBeaver на любой платформе подключаются к MariaDB и MySQL, ясно показывают структуру и тянут большие SQL-файлы без таймаута вкладки браузера.
Проверяйте подключение теми же учётными данными, которые будет использовать game server, а не root. Если отдельный пользователь не подключается из клиента, сервер тоже не подключится.
Ошибки версий и что они значат
Ошибки версии Java обычно понятны, если умеешь их читать. Class-файл, собранный новым JDK, не запустится на старом, а номер мажорной версии говорит, какой релиз его создал.
| Мажорная версия | Релиз Java |
|---|---|
| 52 | Java 8 |
| 55 | Java 11 |
| 61 | Java 17 |
| 65 | Java 21 |
| 69 | Java 25 |
- "Unsupported class file major version": runtime старее компилятора. Установите соответствующий JDK или пересоберите с правильной целью.
- "JAVA_HOME is not set": переменной нет или она указывает не туда. Задайте корень JDK и добавьте
%JAVA_HOME%\binв PATH. - "Could not open jvm.cfg": первым находится старый
java.exe, обычно из-за оставшейся записи PATH или смеси 32 и 64 бит. Удалите её. - "Port 3306 in use": два движка баз спорят за один порт. Остановите тот, который не используете.
Проверка перед первой сборкой
Пройдите это один раз, и большинство проблем первой сборки исчезнет:
java --versionиjavac --versionпоказывают одну мажорную версию.JAVA_HOMEуказывает на корень JDK, а его папкаbinстоит первой в PATH.- Служба базы запущена, и отдельный пользователь может войти.
- Eclipse использует тот же JDK и UTF-8.
- Чистая сборка проходит до изменения кода.
Окружение скучно намеренно. Сделайте его правильно один раз, запишите версии в заметки проекта, и на следующей машине вам не придётся повторять установку.
Когда сервер готов принимать игроков, добавьте его через форму бесплатного размещения. Если хотите выделиться, VIP-размещение поставит вас впереди в каталоге серверов.
