Полное руководство по установке L2J сервера Lineage 2 на Ubuntu
Пошаговый мануал по установке L2J сервера Lineage 2 на Ubuntu с нуля.
Введение
Создание собственного игрового сервера Lineage 2 — увлекательная задача, требующая внимания к деталям, но при правильном подходе вполне выполнимая даже для начинающего администратора. Платформа L2J представляет собой открытую реализацию серверной части культовой MMORPG, написанную на Java.
В этой статье мы подробно, шаг за шагом, разберём процесс установки и настройки L2J сервера на операционной системе Ubuntu. Вы узнаете, как подготовить среду, скомпилировать сервер из исходных кодов, настроить базу данных MariaDB и запустить свой игровой мир.
Требования к системе:
Ubuntu 22.04 LTS или 24.04 LTS
Минимум 2 GB оперативной памяти (рекомендуется 4 GB)
20 GB свободного дискового пространства
Доступ к терминалу с правами
sudo
1. Подготовка серверной среды
Перед началом установки необходимо обновить пакетный менеджер и установить ключевые компоненты: Java Runtime Environment, систему сборки Gradle, клиент Git и сервер баз данных MariaDB.
Откройте терминал и последовательно выполните команды:
bash
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-21-jdk git wget unzip gradle mariadb-server mariadb-client -yПосле завершения установки проверьте версию Java:
bash
java --versionВывод должен содержать строку openjdk version "21" или новее.
2. Настройка базы данных MariaDB
Сервер L2J использует две базы данных: l2jls (для логин-сервера) и l2jgs (для игрового сервера). Выполните первичную настройку MariaDB:
bash
sudo mysql_secure_installationСледуйте подсказкам утилиты: установите пароль для root-пользователя, удалите анонимных пользователей, тестовые базы данных и запретите удаленный доступ к root.
Теперь запустите MariaDB и добавьте её в автозагрузку:
bash
sudo systemctl enable mariadb
sudo systemctl start mariadbСоздайте базы данных и пользователя для доступа к ним:
bash
sudo mysql -u root -pВ консоли MySQL выполните следующие SQL-команды (замените 'YOUR_PASSWORD' на надёжный пароль):
sql
CREATE DATABASE l2jls;
CREATE DATABASE l2jgs;
CREATE USER 'l2juser'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD';
GRANT ALL PRIVILEGES ON l2jls.* TO 'l2juser'@'localhost';
GRANT ALL PRIVILEGES ON l2jgs.* TO 'l2juser'@'localhost';
FLUSH PRIVILEGES;
EXIT;3. Сборка сервера из исходных кодов
Создадим рабочую директорию и загрузим репозитории L2J с GitHub:
bash
mkdir -p ~/l2j/{development,server}
cd ~/l2j/development
git clone https://github.com/L2J/L2J_Server.git
git clone https://github.com/L2J/L2J_Datapack.gitКомпиляция ядра сервера
bash
cd ~/l2j/development/L2J_Server
chmod +x gradlew
./gradlew buildПроцесс компиляции может занять несколько минут. По завершении готовый архив появится в директории build/distributions.
Компиляция датапака
bash
cd ~/l2j/development/L2J_Datapack
chmod +x gradlew
./gradlew buildРаспаковка в рабочую директорию
bash
cd ~/l2j/server
unzip ~/l2j/development/L2J_Server/build/distributions/L2J_Server-*.zip
unzip ~/l2j/development/L2J_Datapack/build/distributions/L2J_Datapack-*.zip -d gameserver/data/4. Импорт структуры базы данных
Перейдите в директорию сервера и импортируйте SQL-схемы:
bash
cd ~/l2j/server/login
mysql -u l2juser -p l2jls < sql/login.sql
cd ../gameserver
mysql -u l2juser -p l2jgs < sql/gameserver.sqlСистема запросит пароль пользователя l2juser, который вы задали на шаге 2.
5. Конфигурация сервера
Настройка подключения к базам данных
Отредактируйте файл конфигурации логин-сервера:
bash
nano ~/l2j/server/login/config/Connectivity.propertiesПриведите параметры к следующему виду:
properties
# Database Configuration
Driver = com.mysql.cj.jdbc.Driver
URL = jdbc:mysql://localhost/l2jls?useSSL=false&serverTimezone=UTC
User = l2juser
Password = YOUR_PASSWORDАналогично отредактируйте файл игрового сервера:
bash
nano ~/l2j/server/gameserver/config/Connectivity.propertiesproperties
# Database Configuration
Driver = com.mysql.cj.jdbc.Driver
URL = jdbc:mysql://localhost/l2jgs?useSSL=false&serverTimezone=UTC
User = l2juser
Password = YOUR_PASSWORDНастройка сетевых параметров
Откройте конфигурацию сети игрового сервера:
bash
nano ~/l2j/server/gameserver/config/Network.propertiesДля локального тестирования используйте значения по умолчанию. Для публичного сервера укажите внешний IP-адрес:
properties
GameserverHostname = your_public_ip
GameserverPort = 7777
LoginHost = 127.0.0.1
LoginPort = 9014Настройка файрвола
Если на сервере активен UFW, откройте необходимые порты:
bash
sudo ufw allow 2106/tcp # Логин-сервер
sudo ufw allow 7777/tcp # Игровой сервер
sudo ufw reload6. Запуск сервера
Сервер Lineage 2 состоит из двух независимых процессов. Для удобства используйте два окна терминала.
Запуск логин-сервера (Terminal 1)
bash
cd ~/l2j/server/login
java -Xms512m -Xmx512m -cp ../libs/*:l2jlogin.jar com.l2jserver.loginserver.L2LoginServerЗапуск игрового сервера (Terminal 2)
bash
cd ~/l2j/server/gameserver
java -Xms1g -Xmx2g -cp ../libs/*:l2jserver.jar com.l2jserver.gameserver.GameServerУспешный запуск сопровождается сообщениями в консоли:
text
[LoginServer] Loaded 0 stolen keys.
[LoginServer] Login Server ready on *:2106и
text
[GameServer] GameServer ready. Listening on *:77777. Заключение и дальнейшие шаги
Поздравляем! Базовый сервер L2J успешно установлен и запущен на Ubuntu. Теперь вы можете подключиться к нему с клиентской части Lineage 2, указав IP-адрес вашего сервера в системных настройках клиента.
Что можно улучшить?
Автоматический запуск: создайте systemd-сервисы для логин-сервера и игрового сервера, чтобы они стартовали автоматически при загрузке системы.
Мониторинг: настройте логирование и ротацию логов для отладки.
Администрирование: изучите игровые команды L2J, добавьте административные права своему персонажу через базу данных.
Производительность: настройте параметры виртуальной машины Java (-Xmx, -Xms) в зависимости от объёма RAM.