Недавно скинул тестовую инструкцию по установе сервера interlude через
Свой домашний сервер Lineage 2 Interlude (Часть 1)
Авто-развертывание сервера L2 interlude через Docker (Ubuntu 18.04 - Тест Часть 3),
Скачать:
решил сделать инструкцию более полной, писать инструкции изначально не собирался,
но пропала оригинальная инструкция из сети, вот решил выложить все три варианта установки.
Эта настройка проходила через Hyper-V если установка будет без нее можно начинать с 3 части.
пароль от архива: Poloman.pro (Возможно с маленькой буквы)
Часть 1: Создание виртуальной машины в Hyper-V
Часть 2: Настройка сети и системы
Часть 3: Установка необходимого ПО
Часть 4: Развёртывание серверной сборки
Часть 5: Импорт базы данных
Часть 6: Настройка конфигурационных файлов
Часть 7: Запуск сервера
Часть 8: Настройка клиента
Часть 9: Проверка и устранение проблем
Часть 10: Управление сервером
Создание systemd-сервиса для автозапуска сервера L2
Свой домашний сервер Lineage 2 Interlude (Часть 1)
Авто-развертывание сервера L2 interlude через Docker (Ubuntu 18.04 - Тест Часть 3),
Скачать:
решил сделать инструкцию более полной, писать инструкции изначально не собирался,
но пропала оригинальная инструкция из сети, вот решил выложить все три варианта установки.
Эта настройка проходила через Hyper-V если установка будет без нее можно начинать с 3 части.
пароль от архива: Poloman.pro (Возможно с маленькой буквы)
Часть 1: Создание виртуальной машины в Hyper-V
1.1 Создание ВМ
- Откройте Диспетчер Hyper-V.
- Нажмите Создать → Виртуальная машина.
- Имя: L2Server (или любое другое).
- Поколение: 1 (важно для совместимости первый раз делал на 2 - но позже были проблемы).
- Память: Запуск – 4096 МБ, минимальная – 2048 МБ, максимальная – 8192 МБ.
- Процессор: 4 виртуальных процессора.
- Сеть: Пока оставить Not Connected (настроим позже).
- Жёсткий диск: 40–50 ГБ, динамически расширяемый.
- Установка: Выберите Установить ОС из образа ISO и укажите файл
ubuntu-18.04.6-live-server-amd64.iso. - Перед запуском: В настройках ВМ удалите "Дисковод гибких дисков"
(чтобы избежать ошибок при загрузке).
- Запустите ВМ и начните установку.
- Язык/Раскладка: На ваш выбор.
- Сеть: Оставьте DHCP (IP настроим позже).
- Прокси/Зеркало: Оставьте пустыми (стандартные).
- Разметка диска: Выберите Use An Entire Disk и снимите галочку с
Set up this disk as an LVM group. - Профиль:
- Имя сервера: l2server
- Имя пользователя: hallow (или другое)
- Пароль: придумайте надёжный
- SSH-сервер: Обязательно поставьте галочку [X] Install OpenSSH server.
- Snaps (дополнительное ПО): Ничего не выбирать.
2.1 Настройка статического IP
После установки подключите – сетевую карту.
войдите в систему и выполните:
Запомните имя интерфейса (обычно eth0). Настройте статический IP через Netplan:
Вставьте:
Примените:
Проверьте: ip a – должен быть IP 192.168.*.*. global – не Dynamic
2.2 Обновление системы
После установки подключите – сетевую карту.
войдите в систему и выполните:
Код:
ip a
Код:
sudo nano /etc/netplan/01-netcfg.yaml
Код:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.*.*/24
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Примените:
Код:
sudo netplan apply
2.2 Обновление системы
Код:
sudo apt update && sudo apt upgrade –y
3.1 Установка утилит и Java 8
Проверьте: java -version – должно показать 1.8.0_....
3.2 Установка MySQL
3.3 Настройка безопасности MySQL
Введите пароль root и выполните:
3.5 Настройка удалённого доступа к MySQL (для Navicat с хоста)
Найдите строку bind-address = 127.0.0.1 и закомментируйте:
Сохраните (Ctrl+O, Enter, Ctrl+X).
Дайте права пользователю l2juser из локальной сети:
Перезапустите MySQL:
3.6 Настройка брандмауэра (UFW)
Код:
sudo apt install unzip unrar –y
Код:
sudo apt install openjdk-8-jdk –y
3.2 Установка MySQL
Код:
sudo apt install mysql-server –y
3.3 Настройка безопасности MySQL
Код:
sudo mysql_secure_installation
- Validate password plugin? → n
- New password: придумайте пароль (например, StrongRootPass123)
- Re-enter: повторите
- Remove anonymous users? → Y
- Disallow root login remotely? → Y
- Remove test database? → Y
- Reload privilege tables? → Y
Код:
sudo mysql -u root -p
Введите пароль root и выполните:
Код:
CREATE DATABASE interlude CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'l2juser'@'localhost' IDENTIFIED BY 'Poloman';
GRANT ALL PRIVILEGES ON interlude.* TO 'l2juser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Код:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Код:
# bind-address = 127.0.0.1
Дайте права пользователю l2juser из локальной сети:
Код:
sudo mysql -u root -p
GRANT ALL PRIVILEGES ON interlude.* TO 'l2juser'@'192.168.2.%' IDENTIFIED BY 'Poloman';
FLUSH PRIVILEGES;
EXIT;
Код:
sudo systemctl restart mysql
3.6 Настройка брандмауэра (UFW)
Код:
sudo ufw allow 22/tcp
sudo ufw allow 2106/tcp
sudo ufw allow 7777/tcp
sudo ufw allow 3306/tcp
sudo ufw enable
sudo ufw status
4.1 Создание папки для сервера
4.2 Загрузка и распаковка архива
Через FileZilla (SFTP, порт 22, пользователь hallow) загрузите архив Lineage 2 server.rar в /home/hallow/.
В консоли Ubuntu:
После распаковки переместите содержимое в /srv/l2server:
Проверьте структуру:
Должны быть папки authserver и gameserver.
Код:
sudo mkdir /srv/l2server
Код:
sudo chown -R hallow:hallow /srv/l2server
Через FileZilla (SFTP, порт 22, пользователь hallow) загрузите архив Lineage 2 server.rar в /home/hallow/.
В консоли Ubuntu:
Код:
cd /home/hallow
Код:
unrar x 'Lineage 2 server.rar' -ppoloman.pro
Код:
# Если папка называется Lineage 2 server
mv /home/hallow/Lineage\ 2\ server/* /srv/l2server/
# Или если Interlude
mv /home/hallow/Interlude/* /srv/l2server/
Код:
ls /srv/l2server
5.1 Импорт GameServer
5.2 Импорт AuthServer
5.3 Регистрация гейм-сервера в базе
Код:
cd /srv/l2server/gameserver/sql/
Код:
for file in install/*.sql; do echo "Importing $file ..."; mysql -u l2juser -p'Poloman' interlude < "$file"; done
Код:
cd /srv/l2server/authserver/sql/
Код:
mysql -u l2juser -p'Poloman' interlude < install/account_log.sql
Код:
mysql -u l2juser -p'Poloman' interlude < install/accounts.sql
Код:
mysql -u l2juser -p'Poloman' interlude < install/gameservers.sql
Код:
sudo mysql -u root -p
Код:
USE interlude;
INSERT INTO gameservers (server_id, host) VALUES (1, '192.168.*.*');
EXIT;
6.1 Настройка AuthServer
Проверьте/задайте:
6.2 Настройка GameServer
Задайте:
Код:
nano /srv/l2server/authserver/config/authserver.properties
Код:
DatabaseUser = l2juser
DatabasePassword = Poloman
(Если есть параметр ExternalHostname, укажите 192.168.*.*)
Код:
nano /srv/l2server/gameserver/config/server.properties
Код:
ExternalHostname = 192.168.*.*
InternalHostname = 192.168.*.*
DatabaseUser = l2juser
DatabasePassword = Poloman
6.3 Права на выполнение скриптов
[CODE]chmod +x /srv/l2server/authserver/*.sh
Код:
chmod +x /srv/l2server/gameserver/*.sh
7.1 Запуск AuthServer (в первом терминале SSH)
Ждите: появится Listening for clients on *:2106.
7.2 Запуск GameServer (во втором терминале SSH)
Дождитесь полной загрузки: появится GameServer Started и Registered on authserver as 1.
7.3 Проверка работы
Должны быть порты: 2106 (Auth), 9014 (внутренний), 7777 (Game).
Код:
cd /srv/l2server/authserver
Код:
java -server -Dfile.encoding=UTF-8 -Xmx256m -cp config:./* l2.authserver.AuthServer
7.2 Запуск GameServer (во втором терминале SSH)
Код:
cd /srv/l2server/gameserver
Код:
java -server -Dfile.encoding=UTF-8 -Xmx3G -cp config:./* l2.gameserver.GameServer
7.3 Проверка работы
Код:
sudo ss -tlpn | grep java
8.1 Подготовка клиента
В большинстве сборок включена авторегистрация – просто введите любой логин и пароль при входе.
- Установите чистый клиент Lineage 2 Interlude.
- Замените папку system на ту, что идёт в комплекте со сборкой.
- Скачайте и установите L2FileEdit.
- Откройте system/l2.ini.
- Найдите строку ServerAddr= и измените на:
Код:
ServerAddr=192.168.*.*
- Сохраните.
В большинстве сборок включена авторегистрация – просто введите любой логин и пароль при входе.
9.1 Если клиент не видит сервер
- Проверьте IP в l2.ini.
- Проверьте брандмауэр на хосте (Windows) – разрешите порты 2106 и 7777.
- Проверьте server.properties – правильный ли IP в ExternalHostname.
- Проверьте пароль в server.properties – должен быть Poloman.
- Проверьте, что база называется interlude.
- Запустите повторный импорт SQL-файлов из папок authserver/sql/install/ и gameserver/sql/install/.
10.1 Остановка сервера
В любом терминале (Можно в третьем):
10.2 Автозапуск (опционально)
Можно создать systemd-сервис.
В любом терминале (Можно в третьем):
Код:
sudo killall java
Можно создать systemd-сервис.
1. Создайте управляющий скрипт /usr/local/bin/l2_control.sh
Этот скрипт будет запускать и останавливать оба сервера (Auth и Game) одной командой.
Вставьте следующий код (проверьте пути и классы — они соответствуют вашей сборке):
Сделайте скрипт исполняемым:
2. Создайте файл службы /etc/systemd/system/l2server.service
Вставьте следующее содержимое (замените User= (на ваше имя пользователя, если оно другое):
3. Обновите systemd и включите автозапуск
4. Управление сервером через systemctl
Теперь вы можете управлять сервером стандартными командами:
5. Проверка
После перезагрузки системы сервер запустится автоматически. Чтобы убедиться, что всё работает, выполните:
Вы должны увидеть active (running) и сообщения о запуске Auth и Game серверов.
Дополнительные советы
Этот скрипт будет запускать и останавливать оба сервера (Auth и Game) одной командой.
Код:
sudo nano /usr/local/bin/l2_control.sh
Код:
#!/bin/bash
case "$1" in
start)
echo "Запуск AuthServer..."
(cd /srv/l2server/authserver && java -server -Dfile.encoding=UTF-8 -Xmx256m -cp config:./* l2.authserver.AuthServer) &
sleep 5
echo "Запуск GameServer..."
(cd /srv/l2server/gameserver && java -server -Dfile.encoding=UTF-8 -Xmx3G -cp config:./* l2.gameserver.GameServer) &
echo "Серверы запущены."
;;
stop)
echo "Остановка серверов L2..."
killall java
echo "Серверы остановлены."
;;
*)
echo "Использование: $0 {start|stop}"
exit 1
;;
esac
exit 0
Код:
sudo chmod +x /usr/local/bin/l2_control.sh
2. Создайте файл службы /etc/systemd/system/l2server.service
Код:
sudo nano /etc/systemd/system/l2server.service
Код:
[Unit]
Description=Lineage 2 Interlude Server
After=network.target mysql.service
[Service]
Type=forking
User=hallow
WorkingDirectory=/srv/l2server
ExecStart=/usr/local/bin/l2_control.sh start
ExecStop=/usr/local/bin/l2_control.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
3. Обновите systemd и включите автозапуск
Код:
sudo systemctl daemon-reload
Код:
sudo systemctl enable l2server.service
4. Управление сервером через systemctl
Теперь вы можете управлять сервером стандартными командами:
| Действие | Команда |
| Запустить | sudo systemctl start l2server |
| Остановить | sudo systemctl stop l2server |
| Перезапустить | sudo systemctl restart l2server |
| Проверить статус | sudo systemctl status l2server |
| Посмотреть логи | sudo journalctl -u l2server -f |
5. Проверка
После перезагрузки системы сервер запустится автоматически. Чтобы убедиться, что всё работает, выполните:
Код:
sudo systemctl status l2server
- Если при запуске возникают ошибки (например, не найден класс), проверьте пути в скрипте и убедитесь, что вы находитесь в правильной директории.
- Для просмотра полного лога (включая stdout/stderr) используйте journalctl -u l2server -n 50 --no-pager.
- Если вы хотите отключить автозапуск: sudo systemctl disable l2server