Pular para o conteúdo principal

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

wuauclt /detectnow /updatenow

Obter e Instalar o Java

O L2J é construído usando Java, para compilar o servidor você precisa do JDK do Java também.

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
dica

Recomendamos atualizar a variável de ambiente JAVA_HOME.

info

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.

winget install -e --id Git.Git

Check the Git version:

git --version
info

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.

winget install -e --id MariaDB.Server

Execute as seguintes instruções SQL para criar um usuário específico do banco de dados L2J:

mariadb -u root -p
create_user.sql
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit
atenção

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.

dica

Recomendamos (opcionalmente) baixar e instalar HeidiSQL ou DBeaver para gerenciar o banco de dados.

info

O L2J é compatível com MySQL 8.0+, mas recomendamos MariaDB.

Instalar Unzip

Não é necessário para o Windows.

Obter o Código Fonte

Nossos repositórios oficiais são os seguintes:

mkdir C:\opt\l2j\git
cd C:\opt\l2j\git
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.
info

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:

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
...

Para evitar o seguinte aviso

atenção

[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

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

Implantar o Servidor de Jogo

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
atenção

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.

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

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:

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

Os parâmetros são:

ParâmetroDescrição
-sql pathCaminho para os arquivos SQL
-u userUsuário do banco de dados
-p passwordSenha do banco de dados
-m modeModo de instalação FULL ou UPDATE
-t typeTipo de servidor LOGIN ou GAME
-cInstalar tabelas personalizadas
-modsInstalar 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.

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
atenção

Esta ação requer um prompt de comando elevado. Por favor, execute o prompt de comando como administrador.

atenção

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.

Não é necessário para o Windows.

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.

C:\opt\l2j\server\login\startLoginServer.bat
C:\opt\l2j\server\game\startGameServer.bat

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);
}
info

Baixe a versão compilada da qui, mais informações aqui.

perigo

Modificações no cliente não são permitidas no L2J, isso inclui alterações no GameGuard e L2.ini.