Guia de Instalação
Introdução
Sobre Nós
O L2J Server é o projeto de código aberto oficial desenvolvido em Java que tenta fornecer um servidor de jogo para Lineage II.
Estamos aqui há muito tempo e nossa missão é proporcionar a experiência mais próxima do jogo oficial.
Nossa visão é ter um servidor que possa executar qualquer versão do jogo com base em configurações e utilizando uma arquitetura pronta para nuvem de microsserviços.
Sobre o Produto
O L2J Server é dividido em dois componentes, L2j Game Server e L2j Login Server, ao mesmo tempo que o L2j Game Server é dividido em Core e Datapack, o Core é o código Java que define a mecânica do jogo, persistência e mecânicas de comunicação, e o Datapack é composto por todos os arquivos relacionados ao jogo, como diálogos, scripts de missões, AIs, etc.
A instalação do servidor requer instalar software adicional primeiro (Java, banco de dados, Git, etc.), em seguida, obter o código-fonte, compilar o código-fonte, instalar o banco de dados, implantar os arquivos do servidor compilado, configurações mínimas e iniciar o servidor e testar.
Software Requerido
- Sistema Operacional Atualizado
- Java
- MariaDB (ou MySQL)
- Git
Atualizar o Sistema Operacional
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
wuauclt /detectnow /updatenow
sudo -i
dnf update
sudo -i
apt update
sudo -i
apt update
Em Breve™
Obter e Instalar o Java
O L2J é construído usando Java, para compilar o servidor você precisa do JDK do Java também.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
winget install EclipseAdoptium.Temurin.21.JDK
Se você já usou winget
, você pode atualizar sua versão do Java usando:
winget upgrade EclipseAdoptium.Temurin.21.JDK
Verifica a versão do Java:
java --version
dnf install -y temurin-21-jdk
Verifica a versão do Java:
java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
Se você tiver múltiplas versões, você pode configurá-las usando alternatives
:
update-alternatives --config 'java'
apt install -y temurin-21-jdk
Verifica a versão do Java:
java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
Se você tiver múltiplas versões, você pode configurá-las usando alternatives
:
update-alternatives --config 'java'
apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt install -y temurin-21-jdk
Verifica a versão do Java:
java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
Se você tiver múltiplas versões, você pode configurá-las usando alternatives
:
update-alternatives --config 'java'
Em Breve™
Recomendamos atualizar a variável de ambiente JAVA_HOME
.
Enquanto for possível, o L2J será compatível com a última versão LTS (Long-Term-Support) do Java, você pode verificar o roteiro para o Java SE aqui.
Obter e Instalar o Git
O L2J usa o Git como sistema de controle de versão no BitBucket, use-o para obter as últimas versões.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
winget install -e --id Git.Git
dnf install -y git
apt install -y git
apt install -y git
Em Breve™
Check the Git version:
git --version
Recomendamos obter o código-fonte diretamente dos nossos repositórios públicos.
Obter e Instalar o Servidor de Banco de Dados
Baixe e instale um servidor de banco de dados e crie um usuário específico.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
winget install -e --id MariaDB.Server
dnf install -y mariadb-server
Start the service
systemctl start mariadb
Secure your database installation:
mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
... Success!
Change the root password? [Y/n] n
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
apt install -y mariadb-server
Secure your database installation:
mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
... Success!
Change the root password? [Y/n] n
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
apt install -y mariadb-server
Secure your database installation:
mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
... Success!
Change the root password? [Y/n] n
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Em Breve™
Execute as seguintes instruções SQL para criar um usuário específico do banco de dados L2J:
mariadb -u root -p
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit
Recomendamos alterar a senha padrão do banco de dados.
Se você fizer isso, precisará editar os arquivos server.properties
dentro da
pasta config
do servidor do jogo e da pasta config
do servidor de login.
O L2J é compatível com MySQL 8.0+, mas recomendamos MariaDB.
Instalar Unzip
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
Não é necessário para o Windows.
A utilidade Unzip será usada posteriormente para implantar os arquivos do servidor compilados.
apt install -y unzip
A utilidade Unzip será usada posteriormente para implantar os arquivos do servidor compilados.
apt install -y unzip
A utilidade Unzip será usada posteriormente para implantar os arquivos do servidor compilados.
apt install -y unzip
Em Breve™
Obter o Código Fonte
Nossos repositórios oficiais são os seguintes:
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
mkdir C:\opt\l2j\git
cd C:\opt\l2j\git
mkdir -p /opt/l2j/git
cd /opt/l2j/git
mkdir -p /opt/l2j/git
cd /opt/l2j/git
mkdir -p /opt/l2j/git
cd /opt/l2j/git
Em Breve™
git clone -b master https://bitbucket.org/l2jserver/l2j-server-login.git
Cloning into 'l2j-server-login'...
remote: Counting objects: 353, done.
remote: Compressing objects: 100% (285/285), done.
remote: Total 353 (delta 194), reused 63 (delta 26)
Receiving objects: 100% (353/353), 110.40 KiB | 324.00 KiB/s, done.
Resolving deltas: 100% (194/194), done.
git clone -b develop https://bitbucket.org/l2jserver/l2j-server-game.git
Cloning into 'l2j-server-game'...
remote: Counting objects: 162315, done.
remote: Compressing objects: 100% (26695/26695), done.
remote: Total 162315 (delta 122790), reused 157270 (delta 117810)
Receiving objects: 100% (162315/162315), 125.97 MiB | 9.93 MiB/s, done.
Resolving deltas: 100% (122790/122790), done.
git clone -b develop https://bitbucket.org/l2jserver/l2j-server-datapack.git
Cloning into 'l2j-server-datapack'...
remote: Counting objects: 278648, done.
remote: Compressing objects: 100% (66228/66228), done.
remote: Total 278648 (delta 215765), reused 269687 (delta 207236)
Receiving objects: 100% (278648/278648), 144.49 MiB | 9.63 MiB/s, done.
Resolving deltas: 100% (215765/215765), done.
Checking out files: 100% (24264/24264), done.
O ramo develop
contém a versão mais recente do High Five, o ramo master
contém a versão estável do High Five.
Outras opções são Interlude, Epilogue, Freya, etc.
Compilar o Servidor
Nós usamos o Maven para compilar os arquivos do servidor, e execute os seguintes comandos:
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
cd C:\opt\l2j\git\l2j-server-login
mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-login >-------------------
[INFO] Building L2J Login Server 2.6.1.6
...
cd C:\opt\l2j\git\l2j-server-game
mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-game >--------------------
[INFO] Building L2J Game Server 2.6.2.0-SNAPSHOT
...
cd C:\opt\l2j\git\l2j-server-datapack
mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.l2jserver:l2j-server-datapack >------------------
[INFO] Building L2J DataPack 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-login
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-login >-------------------
[INFO] Building L2J Login Server 2.6.1.6
...
cd /opt/l2j/git/l2j-server-game
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-game >--------------------
[INFO] Building L2J Game Server 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-datapack
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.l2jserver:l2j-server-datapack >------------------
[INFO] Building L2J DataPack 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-login
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-login >-------------------
[INFO] Building L2J Login Server 2.6.1.6
...
cd /opt/l2j/git/l2j-server-game
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-game >--------------------
[INFO] Building L2J Game Server 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-datapack
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.l2jserver:l2j-server-datapack >------------------
[INFO] Building L2J DataPack 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-login
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-login >-------------------
[INFO] Building L2J Login Server 2.6.1.6
...
cd /opt/l2j/git/l2j-server-game
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-game >--------------------
[INFO] Building L2J Game Server 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-datapack
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.l2jserver:l2j-server-datapack >------------------
[INFO] Building L2J DataPack 2.6.2.0-SNAPSHOT
...
Em Breve™
Para evitar o seguinte aviso
[WARNING] An NVD API Key was not provided - it is highly recommended to use an NVD API key as the update can take a VERY long time without an API Key
Você precisa obter uma chave API do NIST e definir uma variável de ambiente NVD_API_KEY
com a chave fornecida.
A chave API, se presente, será usada para obter os arquivos do banco de dados de vulnerabilidades.
Implantar o Servidor
O processo de implantação no momento é simplesmente descompactar os arquivos compilados.
Implantar o Servidor de Login
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
mkdir C:\opt\l2j\server\login
cd C:\opt\l2j\server\login
tar -xf C:\opt\l2j\git\l2j-server-login\target\l2j-server-login-2.6.5.2.zip
mkdir -p /opt/l2j/server/login
cd /opt/l2j/server/login
unzip /opt/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d /opt/l2j/server/login
mkdir -p /opt/l2j/server/login
cd /opt/l2j/server/login
unzip /opt/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d /opt/l2j/server/login
mkdir -p /opt/l2j/server/login
cd /opt/l2j/server/login
unzip /opt/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d /opt/l2j/server/login
Em Breve™
Implantar o Servidor de Jogo
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
mkdir C:\opt\l2j\server\game
cd C:\opt\l2j\server\game
tar -xf C:\opt\l2j\git\l2j-server-game\target\l2j-server-game-2.6.3.0-SNAPSHOT.zip
tar -xf C:\opt\l2j\git\l2j-server-datapack\target\l2j-server-datapack-2.6.3.0-SNAPSHOT.zip
mkdir -p /opt/l2j/server/game
cd /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d /opt/l2j/server/game
mkdir -p /opt/l2j/server/game
cd /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d /opt/l2j/server/game
mkdir -p /opt/l2j/server/game
cd /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d /opt/l2j/server/game
Em Breve™
Os nomes dos arquivos podem mudar a cada nova versão, leve isso em consideração.
Instalar o Banco de Dados
Obter L2J CLI
O L2J CLI é uma ferramenta que nos permite implementar implantações automatizadas e configurações iniciais.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
mkdir C:\opt\l2j\cli
cd C:\opt\l2j\cli
curl -o l2jcli.zip -L https://l2jserver.com/api/download/cli/latest
tar -xf l2jcli.zip
mkdir -p /opt/l2j/cli
cd /opt/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d /opt/l2j/cli
chmod 755 l2jcli.sh
mkdir -p /opt/l2j/cli
cd /opt/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d /opt/l2j/cli
chmod 755 l2jcli.sh
mkdir -p /opt/l2j/cli
cd /opt/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d /opt/l2j/cli
chmod 755 l2jcli.sh
Em Breve™
Configurar o CLI
Dentro da pasta de configuração, edite ambos os arquivos login-server.properties
e game-server.properties
e configure DatabaseUser
e DatabasePassword
de acordo com o usuário e senha que foram configurados para o banco de dados.
Executar o CLI
Execute l2jcli.bat e execute os seguintes comandos:
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
l2jcli.bat
db install -sql C:\opt\l2j\server\login\sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql C:\opt\l2j\server\game\sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
./l2jcli.sh
db install -sql /opt/l2j/server/login/sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql /opt/l2j/server/game/sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
./l2jcli.sh
db install -sql /opt/l2j/server/login/sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql /opt/l2j/server/game/sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
./l2jcli.sh
db install -sql /opt/l2j/server/login/sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql /opt/l2j/server/game/sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
Em Breve™
Os parâmetros são:
Parâmetro | Descrição |
---|---|
-sql path | Caminho para os arquivos SQL |
-u user | Usuário do banco de dados |
-p password | Senha do banco de dados |
-m mode | Modo de instalação FULL ou UPDATE |
-t type | Tipo de servidor LOGIN ou GAME |
-c | Instalar tabelas personalizadas |
-mods | Instalar tabelas de mods |
Criar Conta de Administrador
Use o L2J CLI para criar uma conta de administrador, 8 é o nível máximo de conta (master):
account create -u Zoey76 -p -a 8
quit
Abrir Portas do Servidor
Se você não estiver jogando a partir de localhost, pode ser necessário abrir algumas portas no seu servidor.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
netsh advfirewall firewall add rule name="L2J Login Server" dir=in action=allow protocol=TCP localport=2106
netsh advfirewall firewall add rule name="L2J Game Server" dir=in action=allow protocol=TCP localport=7777
Esta ação requer um prompt de comando elevado. Por favor, execute o prompt de comando como administrador.
firewall-cmd --zone=public --add-port=2106/tcp --permanent
firewall-cmd --zone=public --add-port=7777/tcp --permanent
firewall-cmd --reload
ufw allow 2106/tcp
ufw allow 7777/tcp
ufw allow 2106/tcp
ufw allow 7777/tcp
Em Breve™
Apenas estas portas são necessárias para se conectar ao servidor como jogador.
Geodata
O servidor L2J usa arquivos de geodata para incluir informações do ambiente no servidor.
Você pode baixar a versão mais recente daqui aqui.
Iniciar os Servidores
Configuração Inicial
Estes comandos criam as pastas necessárias para os logs e concedem permissões de acesso aos scripts.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
Não é necessário para o Windows.
cd /opt/l2j && mkdir -p custom
cd /opt/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd /opt/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
cd /opt/l2j && mkdir -p custom
cd /opt/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd /opt/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
cd /opt/l2j && mkdir -p custom
cd /opt/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd /opt/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
Em Breve™
Iniciar os Servidores
Para iniciar os servidores, você precisa executar dois scripts, um para o servidor do jogo e outro para o servidor de login.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
C:\opt\l2j\server\login\startLoginServer.bat
C:\opt\l2j\server\game\startGameServer.bat
cd /opt/l2j/server/login
./startLoginServer.sh
cd /opt/l2j/server/game
./startGameServer.sh
Opcionalmente, verifique se o servidor foi iniciado corretamente verificando os logs:
tail -f -n 300 /opt/l2j/server/login/log/stdout.log
[INFO ] 2023-01-17 02:03:51 LoginController: Loading Login Controller...
[INFO ] 2023-01-17 02:03:52 LoginController: Cached 10 KeyPairs for RSA communication.
[INFO ] 2023-01-17 02:03:52 LoginController: Stored 20 keys for Blowfish communication.
[INFO ] 2023-01-17 02:03:52 HikariDataSource: HikariPool-1 - Starting...
[INFO ] 2023-01-17 02:03:53 HikariDataSource: HikariPool-1 - Start completed.
[INFO ] 2023-01-17 02:03:53 GameServerTable: GameServerTable: Loaded 0 registered Game Servers.
[INFO ] 2023-01-17 02:03:53 GameServerTable: GameServerTable: Cached 10 RSA keys for Game Server communication.
[INFO ] 2023-01-17 02:03:53 LoginServer: Loaded 2 banned IPs.
[INFO ] 2023-01-17 02:03:53 LoginServer: Listening for game servers on 127.0.0.1:9014.
[INFO ] 2023-01-17 02:03:53 LoginServer: Telnet server is currently disabled.
[INFO ] 2023-01-17 02:03:53 LoginServer: Login Server is now listening on *:2106.
[INFO ] 2023-01-17 02:03:53 UPnPService: Looking for UPnP Gateway Devices...
[INFO ] 2023-01-17 02:04:02 UPnPService: No UPnP gateways has been found.
cd /opt/l2j/server/login
./startLoginServer.sh
cd /opt/l2j/server/game
./startGameServer.sh
Opcionalmente, verifique se o servidor foi iniciado corretamente verificando os logs:
tail -f -n 300 /opt/l2j/server/login/log/stdout.log
[INFO ] 2023-01-17 02:03:51 LoginController: Loading Login Controller...
[INFO ] 2023-01-17 02:03:52 LoginController: Cached 10 KeyPairs for RSA communication.
[INFO ] 2023-01-17 02:03:52 LoginController: Stored 20 keys for Blowfish communication.
[INFO ] 2023-01-17 02:03:52 HikariDataSource: HikariPool-1 - Starting...
[INFO ] 2023-01-17 02:03:53 HikariDataSource: HikariPool-1 - Start completed.
[INFO ] 2023-01-17 02:03:53 GameServerTable: GameServerTable: Loaded 0 registered Game Servers.
[INFO ] 2023-01-17 02:03:53 GameServerTable: GameServerTable: Cached 10 RSA keys for Game Server communication.
[INFO ] 2023-01-17 02:03:53 LoginServer: Loaded 2 banned IPs.
[INFO ] 2023-01-17 02:03:53 LoginServer: Listening for game servers on 127.0.0.1:9014.
[INFO ] 2023-01-17 02:03:53 LoginServer: Telnet server is currently disabled.
[INFO ] 2023-01-17 02:03:53 LoginServer: Login Server is now listening on *:2106.
[INFO ] 2023-01-17 02:03:53 UPnPService: Looking for UPnP Gateway Devices...
[INFO ] 2023-01-17 02:04:02 UPnPService: No UPnP gateways has been found.
cd /opt/l2j/server/login
./startLoginServer.sh
cd /opt/l2j/server/game
./startGameServer.sh
Opcionalmente, verifique se o servidor foi iniciado corretamente verificando os logs:
tail -f -n 300 /opt/l2j/server/login/log/stdout.log
[INFO ] 2023-01-17 02:03:51 LoginController: Loading Login Controller...
[INFO ] 2023-01-17 02:03:52 LoginController: Cached 10 KeyPairs for RSA communication.
[INFO ] 2023-01-17 02:03:52 LoginController: Stored 20 keys for Blowfish communication.
[INFO ] 2023-01-17 02:03:52 HikariDataSource: HikariPool-1 - Starting...
[INFO ] 2023-01-17 02:03:53 HikariDataSource: HikariPool-1 - Start completed.
[INFO ] 2023-01-17 02:03:53 GameServerTable: GameServerTable: Loaded 0 registered Game Servers.
[INFO ] 2023-01-17 02:03:53 GameServerTable: GameServerTable: Cached 10 RSA keys for Game Server communication.
[INFO ] 2023-01-17 02:03:53 LoginServer: Loaded 2 banned IPs.
[INFO ] 2023-01-17 02:03:53 LoginServer: Listening for game servers on 127.0.0.1:9014.
[INFO ] 2023-01-17 02:03:53 LoginServer: Telnet server is currently disabled.
[INFO ] 2023-01-17 02:03:53 LoginServer: Login Server is now listening on *:2106.
[INFO ] 2023-01-17 02:03:53 UPnPService: Looking for UPnP Gateway Devices...
[INFO ] 2023-01-17 02:04:02 UPnPService: No UPnP gateways has been found.
Em Breve™
Conectar ao Servidor
Para se conectar ao servidor, você tem as seguintes opções:
Arquivo HOSTS
Edite C:\Windows\System32\drivers\etc\hosts e adicione esta linha:
127.0.0.1 l2authd.lineage2.com
Arquivo BAT
Crie um arquivo .bat com o seguinte conteúdo:
@start l2.bin IP=127.0.0.1
Exe personalizado
Aqui está um exemplo de exe Win32 em C++:
#define _WIN32_WINNT _WIN32_WINNT_WINXP
#define NOMINMAX
#include <windows.h>
#include <cstdlib>
// Inicie o L2 como .bin com o IP como parâmetro.
// Você pode usar o IP ou DNS como parâmetro de IP.
// Você pode incluir outros parâmetros.
// Você pode mudar o caminho para o arquivo .bin para evitar incluir o L2.exe dentro da pasta System.
// Author: Zoey76
int _stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd) {
ShellExecute(0, L"open", L"cmd.exe", L"/C start l2.bin IP=127.0.0.1", 0, SW_HIDE);
}
Modificações no cliente não são permitidas no L2J, isso inclui alterações no GameGuard e L2.ini.