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
- 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
Próximamente™
Obtener e Instalar Java
L2J está construido utilizando Java, para compilar el servidor necesitas el JDK de Java también.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
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
dnf install -y temurin-21-jdk
Verifica la versión de 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)
Si tienes múltiples versiones, puedes configurarlas usando alternatives
:
update-alternatives --config 'java'
apt install -y temurin-21-jdk
Verifica la versión de 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)
Si tienes múltiples versiones, puedes configurarlas 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
Check the Java version:
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)
If you have multiple versions, you can configure them by using alternatives:
update-alternatives --config 'java'
Próximamente™
Recomendamos actualizar la variable de entorno JAVA_HOME
.
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.
- 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
Próximamente™
Check the Git version:
git --version
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.
- 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!
Próximamente™
Ejecuta las siguientes declaraciones SQL para crear un usuario específico de la base de datos 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 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.
L2J es compatible con MySQL 8.0+, pero recomendamos MariaDB.
Instalar Unzip
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
No es necesario para Windows.
La utilidad Unzip se usará más adelante para implementar los archivos del servidor compilados.
apt install -y unzip
La utilidad Unzip se usará más adelante para implementar los archivos del servidor compilados.
apt install -y unzip
La utilidad Unzip se usará más adelante para implementar los archivos del servidor compilados.
apt install -y unzip
Próximamente™
Obtener el Código Fuente
Nuestros repositorios oficiales son los siguientes:
- 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
Próximamente™
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.
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:
- 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
...
Próximamente™
Para evitar la siguiente advertencia
[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
- 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
Próximamente™
Desplegar el Servidor de Juego
- 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
Próximamente™
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.
- 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
Próximamente™
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:
- 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
Próximamente™
Los parámetros son:
Parámetro | Descripción |
---|---|
-sql path | Ruta a los archivos SQL |
-u user | Usuario de la base de datos |
-p password | Contraseña de la base de datos |
-m mode | Modo de instalación FULL o UPDATE |
-t type | Tipo de servidor LOGIN o GAME |
-c | Instalar tablas personalizadas |
-mods | Instalar 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.
- 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 acción requiere un símbolo del sistema elevado. Por favor, ejecuta el símbolo del sistema 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
Próximamente™
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.
- Windows
- Centos Stream 9
- Debian 11
- Ubuntu 22
- macOS Sonoma 14
No es necesario para 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
Próximamente™
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.
- 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, verifica que el servidor se ha iniciado correctamente revisando los registros:
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, verifica que el servidor se ha iniciado correctamente revisando los registros:
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, verifica que el servidor se ha iniciado correctamente revisando los registros:
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.
Próximamente™
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);
}
No se permiten modificaciones del cliente en L2J, esto incluye cambios en GameGuard y L2.ini.