Saltar al contenido principal

Guía de Instalación

Introducción

Sobre Nosotros

L2J Server es el proyecto de código abierto oficial desarrollado en Java que intenta proporcionar un servidor de juego para Lineage II.

Hemos estado aquí por mucho tiempo, y nuestra misión es proporcionar la experiencia más cercana al juego oficial.

Nuestra visión es tener un servidor que pueda ejecutar cualquier versión del juego basada en configuraciones y utilizando una arquitectura de microservicios lista para la nube.

Sobre el Producto

L2J Server se divide en dos componentes, L2j Game Server y L2j Login Server, al mismo tiempo L2j Game Server se divide en Core y Datapack, el Core es el código Java que define la mecánica del juego, persistencia y mecánicas de comunicación, y el Datapack está compuesto por todos los archivos que están relacionados con el juego, como diálogos, scripts de misiones, AIs, etc.

La instalación del servidor requiere instalar software adicional primero (Java, base de datos, Git, etc.), luego obtener el código fuente, compilar el código fuente, instalar la base de datos, implementar los archivos del servidor compilado, configuraciones mínimas y empezar a probar el servidor.

Software Requerido

  • Sistema Operativo Actualizado
  • Java
  • MariaDB (o MySQL)
  • Git

Actualizar el Sistema Operativo

wuauclt /detectnow /updatenow

Obtener e Instalar Java

L2J está construido utilizando Java, para compilar el servidor necesitas el JDK de Java también.

winget install EclipseAdoptium.Temurin.21.JDK

Si ya has utilizado winget, puedes actualizar tu versión de Java usando:

winget upgrade EclipseAdoptium.Temurin.21.JDK

Verifica la versión de Java:

java --version
tip

Recomendamos actualizar la variable de entorno JAVA_HOME.

info

L2J será compatible con la última versión LTS (Long-Term-Support) de Java siempre que sea posible, puedes consultar la hoja de ruta para Java SE aquí.

Obtener e Instalar Git

L2J utiliza Git como sistema de control de versiones en BitBucket, úsalo para obtener las últimas versiones.

winget install -e --id Git.Git

Check the Git version:

git --version
info

Recomendamos obtener el código fuente directamente de nuestros repositorios públicos.

Obtener e Instalar el Servidor de Base de Datos

Descarga e instala un servidor de base de datos y crea un usuario específico.

winget install -e --id MariaDB.Server

Ejecuta las siguientes declaraciones SQL para crear un usuario específico de la base de datos 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
warning

Recomendamos cambiar la contraseña predeterminada de la base de datos. Si lo haces, necesitas editar los archivos server.properties dentro de la carpeta config del servidor de juegos y la carpeta config del servidor de inicio de sesión.

tip

Recomendamos (opcionalmente) descargar e instalar HeidiSQL o DBeaver para gestionar la base de datos.

info

L2J es compatible con MySQL 8.0+, pero recomendamos MariaDB.

Instalar Unzip

No es necesario para Windows.

Obtener el Código Fuente

Nuestros repositorios oficiales son los siguientes:

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

La rama develop contiene la última versión de High Five, la rama master contiene la versión estable de High Five. Otras opciones son Interlude, Epilogue, Freya, etc.

Compilar el Servidor

Usamos Maven para compilar los archivos del servidor, y ejecuta los siguientes 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 la siguiente advertencia

warning

[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

Necesitas obtener una clave API de NIST y establecer una variable de entorno NVD_API_KEY con la clave proporcionada.

La clave API, si está presente, se utilizará para obtener los archivos de la base de datos de vulnerabilidades.

Desplegar el Servidor

El proceso de despliegue en este momento simplemente consiste en descomprimir los archivos compilados.

Desplegar el Servidor de Inicio de Sesión

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

Desplegar el Servidor de Juego

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
warning

Los nombres de los archivos pueden cambiar con cada nueva versión, tenlo en cuenta.

Instalar la Base de Datos

Obtener L2J CLI

L2J CLI es una herramienta que nos permite implementar despliegues automatizados y configuraciones iniciales.

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 el CLI

Dentro de la carpeta de configuración, edita ambos archivos login-server.properties y game-server.properties y configura DatabaseUser y DatabasePassword según el usuario y la contraseña que se haya configurado para la base de datos.

Ejecutar el CLI

Ejecuta l2jcli.bat y ejecuta los siguientes 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

Los parámetros son:

ParámetroDescripción
-sql pathRuta a los archivos SQL
-u userUsuario de la base de datos
-p passwordContraseña de la base de datos
-m modeModo de instalación FULL o UPDATE
-t typeTipo de servidor LOGIN o GAME
-cInstalar tablas personalizadas
-modsInstalar tablas de mods

Crear Cuenta de Administrador

Usa el L2J CLI para crear una cuenta de administrador, 8 es el nivel máximo de cuenta (master):

account create -u Zoey76 -p -a 8
quit

Abrir Puertos del Servidor

Si no estás jugando desde localhost, es posible que necesites abrir algunos puertos en tu 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
warning

Esta acción requiere un símbolo del sistema elevado. Por favor, ejecuta el símbolo del sistema como administrador.

warning

Solo estos puertos son necesarios para conectarse al servidor como jugador.

Geodata

El servidor L2J utiliza archivos de geodata para incluir la información del terreno en el servidor.

Puedes descargar la última versión desde aquí.

Iniciar los Servidores

Configuración Inicial

Estos comandos crean las carpetas requeridas para los registros y otorgan permisos de acceso a los scripts.

No es necesario para Windows.

Iniciar los Servidores

Para iniciar los servidores, necesitas ejecutar dos scripts, uno para el servidor de juegos y otro para el servidor de inicio de sesión.

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

Conectar al Servidor

Para conectarte al servidor, tienes las siguientes opciones:

Archivo HOSTS

Edita C:\Windows\System32\drivers\etc\hosts y agrega esta línea:

127.0.0.1 l2authd.lineage2.com

Archivo BAT

Crea un archivo .bat con el siguiente contenido:

@start l2.bin IP=127.0.0.1

Exe personalizado

Aquí tienes un ejemplo de exe de C++ Win32:

#define _WIN32_WINNT _WIN32_WINNT_WINXP
#define NOMINMAX
#include <windows.h>
#include <cstdlib>

// Inicia L2 como .bin con la IP como parámetro.
// Puedes usar la IP o DNS como parámetro de IP.
// Podrías incluir otros parámetros.
// Puedes cambiar la ruta al archivo .bin para evitar incluir el L2.exe dentro de la carpeta 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

Descarga la versión compilada desde aquí, más información aquí.

danger

No se permiten modificaciones del cliente en L2J, esto incluye cambios en GameGuard y L2.ini.