Levantar servidor L2j

Iniciado por JBKDev, Ene 19, 2023, 02:37 PM

Tema anterior - Siguiente tema
Ene 19, 2023, 02:37 PM Ultima modificación: Jul 03, 2023, 06:23 PM por JBKDev
Hola comunidad,

Hoy quiero compartirles una pequeña guía sobre todo el proceso que implica levantar un servidor de Lineage 2. Esta guía se hará con el propósito de enseñar los temas básicos que mínimamente un desarrollador de servidores de L2j tiene que tener en cuenta a la hora de empezar a trabajar en un proyecto. Sin mas que decir, comenzamos.

Para este ejemplo vamos a levantar un servidor local en Windows 10 con el pack gratis de aCis.

Requisitos:

MySQL Workbench(Navicat no es necesario, es pago y bajarlo pirata puede traerte virus a tu PC): https://dev.mysql.com/downloads/installer/

NOTA: Tienes que instalar tanto MySQL Server(Servidor) como Mysql Workbench(Cliente).
Para que el servidor se prenda solo debes abrir MySQL Workbench una vez y conectarte al server mysql.
 


JDK 11: https://www.oracle.com/in/java/technologies/javase/jdk11-archive-downloads.html

Eclipse: https://www.eclipse.org/downloads/


Preparando el entorno de desarrollo:

Lo primero que vamos a hacer para poder empezar a desarrollar un servidor de L2j es instalar el JDK correspondiente para cada source. En este caso aCis puede levantarse con la versión 11 del kit de desarrollo de Java que es la que vamos a utilizar.

No voy a entrar en detalles sobre la instalación del mismo, a estas alturas debería ser muy fácil hacerlo para cualquiera. Incluso hay miles de tutoriales ya realizados por todo internet y no voy a inventar la rueda nuevamente. De todas formas voy a estar respondiendo todas sus dudas y editando el post si es necesario.

Una vez finalizada la instalación de su jdk lo mejor sería comprobarla ejecutando el comando "java -version" en nuestra consola de comandos de Windows como se muestra en la siguiente imagen:



En caso de que no puedan ver la información de la versión de Java que instalaron y el comando no es reconocido, entonces, lo que deben hacer es crear una nueva variable de entorno de la siguiente manera:

Clic derecho en Este Equipo > Propiedades > Configuración avanzada del sistema > Variables de entorno, seleccionamos la variable "Path" y hacemos clic en el boton Editar > y agregamos el path por defecto de JDK, en mi caso lo tengo en un lugar diferente pero no va al caso la cuestión es agregar el path en donde se encuentra la instalación del JDK sin importar cual sea, el path default es,"C:\Program Files\Java\jdk-11.0.5\bin\".



Una vez instalado JDK podemos proceder a instalar MySQL WorkBench y Eclipse, la instalación de estos 2 aplicativos es tan simple como dar "siguiente, siguiente, sigueinte....Finalizar"

Solo vamos a tener en cuenta dos cosas a la hora de instalar MySQL Workbench y es que al comenzar la instalación debemos elegir el tipo de la misma que será el tipo "Developer Default" y después debemos elegir el "Método de autenticación" o "Authentication Method", en este caso vamos a usar la primera opción "Strong password Encryption for Authentication", el resto de opciones se dejan tal cual.

Ahora vamos con eclipse, una vez completada la instalación de nuestra IDE vamos a configurar Java en la misma haciendo clic en las opciones Window > Preferences > Java > Installed JRE's. Le damos al botón "Add", seleccionamos "Standard VM" > Siguiente > Directory... y buscamos la instalación de nuestro JDK como se muestra en la siguiente imagen:



Finalizamos y antes de cerrar la ventana de preferencias vamos a tildar la casilla de nuestro JDK que acabamos de agregar y ahora si podemos darle clic al boton de "Apply and Close" para guardar cambios y cerrar la ventana.

Llegados hasta acá nuestro entorno de desarrollo está casi completo, solo nos queda subir el source de nuestro proyecto que haremos de la siguiente forma:

Hacemos clic en la opción File > Import > Existing projects into Workspace > Browse y seleccionamos la carpeta raíz del source que descargamos como se muestra a continuación:

El pack utilizado en este ejemplo(L2jaCis) lo puedes encontrar en este otro post:
https://l2dandiarena.com/index.php?topic=71.0

Link directo del pack utilizado(rev. 401): https://gitlab.com/Tryskell/acis_public/-/archive/master/acis_public-master.zip




Damos clic en Finish y listo nuestro proyecto ya fue importado a Eclipse, con esto nuestro entorno de desarrllo ya se encuentra listo.

Compilando el pack:

Esta parte es muy sencilla, simplemente buscamos el archivo build.xml de nuestro "DataPack" y "GameServer" le hacemos clic derecho y buscamos las opciones Run as > Ant Build como se muestra a continuación:



Debemos compilar 2 veces, 1 para el datapack y otra para el gameserver.


Levantando nuestro servidor L2j en local:


Ahora que nuestro entorno de desarrollo está configurado y hemos compilado el pack vamos a proceder a levantar nuestro servidor. Primero tenemos que armar el Datapack juntando lo que genero nuestras compilaciones en el paso anterior, para hacer esto vamos a buscar los archivos generados que se encontrarán en la carpeta "Build" dentro de los directorios de nuestro source, en este caso hay una carpeta build para el directorio aCis_datapack y aCis_gameserver.

En aCis_datapack/build vamos a tomar todo el contenido y lo vamos a mover a una carpeta raíz en donde tendremos nuestro servidor compilado.
Ahora nos quedaría solamente hacer lo mismo pero en lugar de copiar y pegar el contenido de aCis_gameserver/build solamente vamos a copiar y pegar el contenido de aCis_gameserver/build/dist dentro de la carpeta raíz de nuestro pack compilado, al final debería quedar así:




Lo siguiente a realizar es crear las bases de datos que vamos a utilizar en este caso voy a crear, gs_acis y ls_acis para el gameserver y loginserver respectivamente. Para hacer esto debemos ingresar a nuestro MySQL Workbench seleccionar la conexión que se crea por defecto y colocar la contraseña que dimos al instalar está aplicación, en mi caso es root.




Al conectarnos a nuestro servidor de bases de datos vamos a crear 2 bases haciendo clic derecho en el cuadro "Schemas" y seleccionando la opción "Create Schema" al hacer esto nos aparecerá una pestaña en donde simplemente debemos dar un nombre a nuestra base de datos y apretar el botón apply que se encuentra mas abajo en la pestaña, esto nos mostrará otra ventana en donde solamente debemos dar siguiente hasta que se cree nuestra base y aparezca en el cuadro "Schemas" de nuestra aplicación.




Si las bases no se muestran en el cuadro de "Schemas" solo hay que apretar el botón de "Refresh" que se encuentra en la esquina superior derecha del mismo.


El siguiente paso es configurar los properties para nuestro gameserver y loginserver con la info de nuestras bases de datos como se muestran a continuación:

gameserver/config/server.properties:


login/config/loginserver.properties:



El próximo paso es configurar el instalador de nuestra base de datos del pack, para ello nos dirigimos a la carpeta raíz de nuestro servidor compilado y buscamos la carpeta tools/. Una vez dentro, le hacemos clic derecho a database_installer.bat y le damos en "Editar", acá solamente vamos a poner todos los datos de nuestro servidor MySQL, en mi caso la variable "mysqlBinPath" tiene el path por defecto de la instalación de MySQL Workbench, el resto de configs se corresponden con el nombre de cada base de datos creada anterior mente junto con la contraseña del servidor que pusimos al instalar MySQL Workbench.



Hecho todo esto ya podemos proceder a instalar nuestra base de datos ejecutando el archivo database_installer.bat. Al finalizar la instalación nos dirigimos a login/ y  ejecutamos el archivo RegisterGameServer.bat, este ejecutable nos va a generar un archivo "hexid(server1).txt" que debemos mover a nuestra carpeta gameserver/config y cambiarle el nombre para que quede solamente "hexid.txt".

El último paso pero no menos importante es descargar la geodata y colocarla dentro de gameserver/data/geodata:
Geodata aCis: https://drive.google.com/file/d/1R22ZN7XPEUHghgiZCb6-9xnIgSOC-1GB/view?usp=sharing

Hecho todo esto ya podemos ejecutar startGameServer.bat ubicado en gameserver/ y startLoginServer.bat ubicado en login/.

El registro de cuentas por defecto es automático, solo queda editar un archivo l2.ini cambiar la ip a 127.0.0.1 y ponerlo en un cliente limpio Interlude.

Y listo... ya tenés tu propio servidor de l2j levantado en tu pc Windows.

Espero les haya gustado y les sirva el tutorial. Nos vemos la próxima :D.
Java Backend Developer

Estaba viendo esto, y quería saber si es necesario usar EclIpse como programa para compilar o puede ser otro como Visual studio code o Sublime text. ;)

hola como estas , disculpame sabes que estoy teniendo un drama en todos los server tanto ya compilados como compilados por mi , incluso este tutorial, como admin y como pj normal no puedo comprar nada , pero nada ni lo mas basico ni en shop gm ni en shop normal tenes idea porque ?

Cita de: olzer en Jun 08, 2023, 07:04 AMEstaba viendo esto, y quería saber si es necesario usar EclIpse como programa para compilar o puede ser otro como Visual studio code o Sublime text. ;)

Podes usar cualquier IDE que te resulte cómodo.
Java Backend Developer

Cita de: blackale21 en Jun 21, 2023, 10:51 PMhola como estas , disculpame sabes que estoy teniendo un drama en todos los server tanto ya compilados como compilados por mi , incluso este tutorial, como admin y como pj normal no puedo comprar nada , pero nada ni lo mas basico ni en shop gm ni en shop normal tenes idea porque ?


Tenes que crearte una cuenta admin, crear un personaje, desloguear y darle a ese personaje derechos de admin. En acis tenes que asignarle a tu personaje de Admin el access_level en 8.
Java Backend Developer

Jul 20, 2023, 09:36 PM #5 Ultima modificación: Jul 20, 2023, 09:41 PM por kenshhiro
Buena estimado, empecé a aplicar el tuto y bueno avance bastante, si bien logre levantar el loggin server sin problema, pero el Game server lo inicio y se cierra, en un inicio la primera vez levanto pero al levantar el loggin server se cayo y viceversa. ¿ que podría estar pasando?

Se viene la guia de ponerlo online ???